logo aspirine

Fichiers robots.txt

16 mars 2003
Dernière révision le 25 janvier 2009

sens interdit

Moteurs de recherche, aspirateurs de sites ou extracteurs d'adresses e-mails, les programmes qui parcourent le web tout seuls, appelés robots, sont nombreux. Ils peuvent parfois gêner le fonctionnement d'un site en le ralentissant si les pages sont demandées trop rapidement, en faussant les statistiques ou en visitant certaines pages dynamiques comme des pages de vote.

On peut avoir besoin d'interdire l'accès à certaines parties d'un site uniquement aux robots et pas aux visiteurs humains. C'est impossible dans l'absolu (comment savoir si une page est demandée par un humain avec son navigateur ou par un robot ?), mais certains robots bien faits, en particulier les moteurs de recherche, sont polis et lisent un fichier nommé robots.txt avant d'entrer sur un site pour savoir s'ils sont bienvenus ou pas. Il faut s'imaginer ce fichier robots.txt comme un panneau sens interdit et pas comme une porte fermée : seuls les robots suffisamment respectueux en tiendront compte.

Pour vraiment fermer la porte de force à la fois aux robots et aux visiteurs humains, il faut utiliser une protection au niveau du serveur web, le fichier .htaccess


Pour tout savoir (en anglais bien sûr) : The Web Robots Pages

Il n'y a qu'un seul fichier robots.txt par site (et pas un par répertoire comme avec les .htaccess qui n'ont aucun rapport), et il doit être placé à la racine du site. Par exemple si votre site est http://google.fr, le fichier doit être à l'adresse http://google.fr/robots.txt
Ça veut dire que si votre site est sur http://perso.monfournisseur.fr/monsite , vous ne pouvez pas utiliser robots.txt car d'une part vous n'avez pas accès à la racine perso.monfournisseur.fr et d'autre part les restrictions s'appliqueraient à toutes les pages perso de monfournisseur.fr, pas seulement les vôtres.
Dans ce cas vous pouvez quand-même utiliser des balises META spéciales dans vos pages.

Générateur de fichiers robots.txt

Voici de quoi générer le fichier facilement, sans parcourir des pages et des pages de documentation.
Note : tout ce qui est écrit après le caractère # est un commentaire, c'est ignoré. Comme c'est facultatif, vous pouvez supprimer ces commentaires.

Trucs tout faits
Demander à tous les robots de ne pas visiter le site :
copier ce texte dans un fichier nommé robots.txt placé à la racine du site


Demander à tous les robots de ne pas visiter les adresses commençant par ou par
Si on entre par exemple /temp , ça interdit toutes les url qui commencent par /temp , par exemple la page /tempo.html ou le contenu entier du répertoire /temporaire/ .

copier ce texte dans un fichier nommé robots.txt placé à la racine du site


Demander à tous les robots sauf visiter les adresses commençant par
copier ce texte dans un fichier nommé robots.txt placé à la racine du site


Construction à la carte
Ajouter une section
titre ou commentaire :
qui s'adresse au(x) robot(s) :


Ajouter une interdiction
à la section
pour interdire les adresses qui commencent par (laisser vide pour ne rien interdire, laisser un / seul pour tout interdire) :
copier ce texte dans un fichier nommé robots.txt placé à la racine du site



Balises META pour les robots : <META NAME="ROBOTS" CONTENT="consigne">

En savoir plus : La Trousse du Webmaster : Les Balises <META>

Pour ceux qui ne peuvent pas utiliser le fichier global robots.txt , par exemple parce qu'ils n'ont pas accès au répertoire racine de leur domaine, il existe une solution alternative. Elle consiste à écrire directement à l'intérieur des pages HTML les consignes pour les robots. Par contre on s'adresse à tous les robots en bloc, il n'est pas possible d'en viser un plus particulièrement par ce moyen.

Encore une fois, seuls les robots "polis" suivront ces consignes. Ces balises META sont à placer au moins sur la page d'accueil du site, dans la section <HEAD>. Les consignes peuvent être ALL, NONE, INDEX, NOINDEX, FOLLOW ou NOFOLLOW. Il peut y en avoir plusieurs dans la même balise, séparées par des virgules.

Demander gentiment aux robots de dégager du site :
<META NAME="ROBOTS" CONTENT="NONE">
Note : CONTENT="NONE" est équivalent à CONTENT="NOINDEX, NOFOLLOW"
Demander gentiment de ne pas indexer cette page (juste cette page, ça n'interdit pas le reste du site)
<META NAME="ROBOTS" CONTENT="NOINDEX">
Demander gentiment de ne pas suivre les liens sur cette page (mais ça n'interdit pas d'indexer la page)
<META NAME="ROBOTS" CONTENT="NOFOLLOW">

Les consignes ALL, INDEX et FOLLOW sont des autorisations. Elles sont inutiles puisqu'il est convenu qu'en l'absence de précisions tout est permis aux robots.