Moteurs de recherche : A propos de robots.txt

Publié le 06 octobre 2010 par Capmarketer

A propos de robots.txt

En un mot

Les webmasters ou développeurs web utilisent le fichier /robots.txt pour donner des instructions aux bots (encore appelé crawler ou robots) des moteurs de recherche; appelé (en anglais) The Robots Exclusion Protocol.

Cela fonctionne comme ceci: un robot voudrait visiter une URL d’un site web, par exemple http://www.exemple.com/bienvenue.html. Avant la visite proprement dite, il va vérifier le contenu de http://www.exemple.com/robots.txt, et trouve:

User-agent: *
Disallow: /

L’instruction « User-agent: * » signifie que ceci concerne tous les robots. Le « Disallow: / » indique au robot qu’il ne doit visiter aucune pages sur le site.

Il ya deux points importants lors de l’utilisation d’un /robots.txt:

  • Les robots peuvent ignorer votre fichier /robots.txt. Spécialement par des robots malintentionnés qui scannent le web à la découverte d’éventuelles failles de sécurité, et aussi par programme de collecte d’adresses email souvent utilisés par des spammeurs.
  • Le fichier /robots.txt est un fichier accessible au public. Tout le monde peut voir les pages dont vous refusez l’accès aux robots.

Alors n’essayez pas d’utiliser un fichier /robots.txt dans le but de cacher des informations ou des documents. ;)

Les détails

Le /robots.txt est un standard de facto, et n’est pas détenu par un organisme de normalisation. Il ya deux descriptions historiques:

En outre, il existe des ressources externes:

La norme /robots.txt n’est pas activement développé. Voir What about further development of /robots.txt? pour plus d’échanges.

Le reste de cette page donne un aperçu de la façon d’utiliser /robots.txt sur votre serveur, avec quelques recettes simples. Pour en savoir plus vous pouvez aussi consulter la FAQ.

Comment créer un fichier /robots.txt

Où le mettre

La réponse courte: à la racine de votre serveur web.

La réponse plus longue:

Quand un robot cherche le fichier  »/robots.txt » pour l’URL, il supprime le composant de chemin de l’URL (tout de la première barre oblique unique), et met « /robots.txt » à sa place..

Par exemple, pour « http://www.exemple.com/shop/index.html, il supprime les « /shop/index.html« , et le remplace avec « /robots.txt« , et va l’ajouter avec « http://www.exemple.com/robots.txt ».

Donc, en tant que propriétaire du site web dont vous avez besoin de le mettre au bon endroit sur votre serveur web pour que les URL qui en résulte au travail. Habituellement, c’est l’endroit même où vous mettez principale de votre site web « index.html » page d’accueil. Où exactement qui est, et comment mettre le fichier, dépend de votre logiciel de serveur Web.

N’oubliez pas d’utiliser que des minuscules pour le nom du fichier: « robots.txt« , et non « Robots.TXT".

Quel est son contenu

Le fichier « /robots.txt »  est un fichier texte, avec un ou plusieurs enregistrements. contient habituellement un seul enregistrement qui ressemble à ça:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

Dans cet exemple, trois dossiers sont exclus.

Chaque instruction « Disallow » nécessitera une nouvelle ligne suivit de l’URL que vous voulez exclure – vous ne pouvez pas faire comme ceci « Disallow: /cgi-bin/ /tmp/ » sur une même ligne. En outre, vous ne pouvez pas avoir des lignes vides dans un dossier, car ils sont utilisés pour délimiter des enregistrements multiples.

Notez également que les globbing et des expressions régulières ne sont pas pris en charge soit dans les ligne User-agent ou Disallow. Le ‘*’ dans le champs User-agent est une valeur spéciale qui signifie « un robot ». Plus précisément, vous ne pouvez pas avoir des lignes comme  »User-agent: *bot* », « Disallow: /tmp/* » ou « Disallow: *.gif ».

Voici quelques exemples concrets:

Pour exclure tous les robots de l’ensemble du serveur
User-agent: *
Disallow: /
Pour permettre un accès complet à tous les robots
User-agent: *
Disallow:

(ou tout simplement créer un fichier  »/robots.txt » vide, ou de ne pas en utiliser)

Pour exclure tous les robots de quelques partie du serveur
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /junk/
Pour exclure un seul robot
User-agent: BadBot
Disallow: /
Pour accepter un seul robot
User-agent: Google
Disallow:
User-agent: *
Disallow: /
Pour exclure tous les fichiers sauf un

C’est actuellement un peu gênant, car il n’existe pas  »Allow » sur un fichier. Le plus simple est de mettre tous les fichiers à bloquer dans un répertoire séparé, par exemple « stuff », et laisser un fichier au niveau au-dessus de ce répertoire:

User-agent: *
Disallow: /~joe/stuff/

Sinon, vous pouvez interdire explicitement toutes les pages bloquées:

User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html

Via: robotstxt.org.