SELFHTML/Aides à la navigation Divers compléments techniques |
robots.txt - contrôler les robots |
|
Généralités sur robots.txt |
|
Il existe des standards de facto sur Internet qui ont simplement vu le jour sans avoir jamais fait l'objet d'une RFC. On y compte aussi le statut que le fichier robots.txt a sur la toile. Dans un fichier de ce nom, les exploitants de projets Web peuvent mentionner quel robot de recherche peut lire quels répertoires du projet et quels autres lui sont interdits. Le fichier contient donc des instructions pour les robots des moteurs de recherche. La grande majorité des robots de moteurs de recherche modernes tiennent compte de l'existence d'un fichier robots.txt, le lisent et suivent ses instructions.
Il est certes possible de permettre ou interdire la lecture la lecture des différents fichiers HTML avec une mention Meta . Pourtant cela ne concerne que le fichier HTML correspondant et au plus tous les autres fichiers auxquels des liens y sont posés. Dans un fichier robots.txt global, vous pouvez par contre fixer indépendamment de la structure des fichiers et des liens de votre projet Web, quels répertoires et arborescences de répertoires peuvent être lus et quels autres pas.
Le fichier robots.txt doit être sauvegardé sous ce nom (toutes les lettres en minuscules), dans le répertoire racine des fichiers Web du domaine. Quand donc vous avez un nom de domaine mon-nom.fr , alors il faut que le fichier robots.txt soit placé dans le répertoire dans lequel est aussi placé le fichier d'accueil parent le plus élevé dans la hiérarchie de www.mon-nom.fr. L'URI serait donc http://www.mon-nom.fr/robots.txt. Il n'y a qu'ainsi qu'il peut être trouvé par les robots des moteurs de recherche qui parcourent le projet. Ce qui veut dire que vous ne pouvez mettre à profit la technique du fichier robots.txt, que si vous avez votre propre domaine, mais pas chez une offre d'espace Web où vous ne recevez en fin de compte qu'un répertoire d'accueil sur le serveur sans accéder au répertoire racine du domaine.
Le fichier robots.txt est un fichier pur texte et doit se travailler dans un éditeur de texte.
# robots.txt relatif à http://www.mon_nom.fr/ User-agent: UniservalRobot/1.0 User-agent: mon-Robot Disallow: /sources/dtd/ Allow: /sources/dtd/index.html User-agent: * Disallow: /sottises/ Disallow: /temp/ Disallow: /newsticker.shtml |
La première ligne est finalement une ligne de commentaire. Les lignes de commentaires sont introduites par un signe dièse #
.
Sinon, un fichier robots.txt est composé d'enregistrements (records). Dans l'exemple ci-dessus, deux de ces enregistrements sont notés.
Un enregistrement se compose fondamentalement de deux parties. Dans la première partie est mentionné avec (User-agent
) à quels robots les instructions qui suivent s'appliquent. Dans la deuxième partie, les instructions elles-mêmes sont notées. Les instructions consistent à interdire (Disallow
) ou d'autoriser (Allow
) quelque chose au robot mentionné auparavant.
Chaque ligne d'un enregistrement commence par l'un des trois mots-clés permis User-agent
, Disallow
ou Allow
. Derrière suit séparée par deux points et un espace la mention correspondante. Entre les enregistrements est notée une ligne vide. Dans un enregistrement, il faut d'abord au moins une ligne qui commence par User-agent:
. Derrière, ce n'est toujours qu'une seule mention qui est possible. Quand vous voulez adresser plus qu'un certain robot, vous devez noter plusieurs lignes à la suite qui commencent toutes par User-agent:
- comme dans le premier enregistrement de l'exemple ci-dessus. Sous les lignes qui commencent par User-agent:
sont notées les lignes qui commencent par Disallow
ou par Allow:
. Les mentions respectives sont alors respectées par les robots qui ont été spécifiés dans le même enregistrement par User-agent
.
Pour User-agent:
soit la mention *
(astérisque) est permise qui signifie ni plus ni moins "tous les robots", soit le nom d'un robot déterminé. Vous devez, il est vrai connaître ce nom. Quand vous mentionnez *
, aucune autre mention sur User-agent
ne doit suivre dans le même enregistrement, étant donné que cela contredirait le caractère de remplacement pour "tous".
Derrière chaque ligne qui commence par Disallow:
ou par Allow:
, vous pouvez noter une mention de chemin correspondante. Utilisez dans le doute aussi souvent que possible la mention Disallow:
et aussi peu que possible la mention Allow:
. Le raison en est que Disallow:
a été adopté plus tôt dans la spécification du fichier robots.txt et qu'il est compris par un plus grand nombre de robots que Allow:
.
Pour les mentions relatives à Disallow:
et Allow:
vous pouvez mentionner des chemins de répertoires et des fichiers distincts avec mention du chemin. Les caractères de remplacement comme *
ou bien *.*
ne sont pas permis ici. Veillez à noter pour les chemins de répertoires une barre oblique de fermeture /
. Si vous notez par exemple /index
, le fichier /index.html
serait aussi concerné et non pas uniquement le sous répertoire /index/
.
Dans le premier des enregistrements de l'exemple ci-dessus, il est supposé qu'un robot très malin du nom de UniversalRobot/1.0
ainsi qu'un robot fait soi-même nommé mon-Robot
engouffrent des données du répertoire /sources/dtd/
dans leurs moteurs de recherche. Ce n'est toutefois pas souhaitable parce que dans ce répertoire sont sauvegardées par exemple des DTD pour fichiers XML. C'est pourquoi l'accès de ce répertoire ( et de tous ses sous-répertoires) est spécialement interdit pour ces deux robots. Seul le fichier index.html
, qui est aussi sauvegardé dans le répertoire des DTD peut malgré tout être lu par les deux robots.
Dans le deuxième enregistrement, il est interdit à tous les robots de lire les deux sous répertoires /sottises/
et /temp/
. Les noms de répertoires sont éloquents et on voit facilement pourquoi cette interdiction est appropriée: à savoir pour éviter d'engorger de données inintéressantes superflues les grands moteurs de recherche. De plus, l'accès au fichier newsticker.shtml
est interdit. La raison pourrait être que ce fichier reçoit en permanence des données actuelles par un script CGI incorporé par un Server Side Includes, ce pourquoi prendre ce fichier dans les moteurs de recherche n'aurait aucun sens.
Avec la syntaxe suivante vous ne permettez à aucun robot de moteurs de recherche de lire quoique ce soit de vos données:
User-agent: *
Disallow: /
Avec /
vous déterminez "toutes les données de ce répertoire et tous les sous-répertoires".
Avec la syntaxe suivante vous excluez un certain robot nommé mon-Robot
de toutes les autres interdictions:
User-agent: mon-Robot
Disallow:
Par une mention inexistante derrière Disallow:
tout est permis!
Les navigateurs Web ignorent le fichier robots.txt. Il n'est donc pas possible de s'en servir pour protéger des données des utilisateurs. Lisez pour le faire la partie sur .htaccess - contrôler les réactions du serveur
.htaccess - contrôler les réactions du serveur | |
Identifications Client | |
SELFHTML/Aides à la navigation Divers compléments techniques |
© 2001 Stefan Münz / © 2003 Traduction Serge François, 13405@free.fr
selfhtml@fr.selfhtml.org