Introduction au protocole d'exclusion des robots

Le protocole d'exclusion des robots, plus connu sous le nom de robots.txt, est une convention visant à empêcher les robots d'indexation (web crawlers) d'accéder à tout ou une partie d'un site web.

Le fichier robots.txt, à placer la racine d'un site web, contient une liste de ressources du site qui ne sont pas censées être indexées par les moteurs de recherches. Ce fichier permet également d'indiquer aux moteurs l'adresse du fichier sitemap.xml du site.

Par convention, les robots consultent le fichier robots.txt avant d'indexer un site Web. Lorsqu'un robot tente d'accéder à une page web, comme par exemple http://www.mon-domaine.fr/page.html, il tente d'accéder en premier lieu au fichier robots.txt situé à l'adresse http://www.mon-domaine.fr/robots.txt

Comment créer le fichier robots.txt

Le fichier robots.txt doit être placé obligatoirement à la racine de votre site ; si celui-ci est placé dans un répertoire par exemple, les moteurs ne le découvreront pas et ne suivront pas ses règles et paramètres. Par ailleurs, le fichier doit être d'une taille inférieure à 62 Ko (cf. Taille maximale du fichier robots.txt).

Si le domaine de votre site est http://www.mon-domaine.fr/, le fichier robots.txt doit se situer obligatoirement à l'adresse suivante http://www.mon-domaine.fr/robots.txt

A noter qu'il est également nécessaire que le nom du fichier robots.txt soit en minuscule (pas de Robots.txt ou ROBOTS.TXT).

Voir également les ressources pour la création d'un fichier robots.txt sur un serveur en HTTPS ou dans le cas de sous-domaines.

Le contenu du fichier robots.txt

Exemple de contenu d'un fichier robots.txt :

User-agent: *
Disallow:

L'instruction User-agent: * signifie que la ou les instruction(s) qui suivent s'applique pour tous les robots. L'instruction Disallow: signifie que le moteur peut parcourir l'ensemble des répertoires et des pages du site. Note : cela revient au même que de ne pas mettre de robots.txt sur le site.

Voir également les ressources spécifiques à certains CMS : WordPress, Drupal, Joomla ou encore PrestaShop.
La liste complète des spécificités de certains CMS majeurs est disponible sur la page de ressources.

Autre exemple de contenu d'un fichier robots.txt :

User-agent: *
Disallow: /

L'instruction Disallow: / signifie que le moteur ne doit pas parcourir et indexer l'ensemble des répertoires et des pages du site. Cela aura pour effet de bloquer totalement les robots d'indexation des moteurs.

Lorsque vous souhaitez bloquer seulement certains répertoires :

User-agent: *
Disallow: /repertoire-a/
Disallow: /repertoire-b/

Lorsque vous souhaitez bloquer des pages spécifiques :

User-agent: *
Disallow: /page-a.html
Disallow: /page-b.html

Si vous souhaitez bloquer l'accès à des répertoires à certains robots, il suffit de spécifier son nom dans le paramètre User-agent :

User-agent: Googlebot
Disallow: /repertoire-a/

User-agent: *
Disallow:

Voir également les ressources spécifiques à certains moteurs de recherche : Google, Bing / MSN, Yahoo!, Baidu ou encore Yandex.
La liste complète des spécificités de certains moteurs de recherche majeurs est disponible sur la page de ressources.

Si vous souhaitez bloquer l'accès à des répertoires ou des fichiers spécifiques commençant par une séquence de caractères donnée. Dans l'exemple ci-dessous, le robots.txt va bloquer l'accès à tous les fichiers et répertoires commençants par "hello". Plus d'informations sur la page dédiée au wildcards.

User-agent: *
Disallow: /hello*

Certains moteurs de recherche supportent plus de fonctionnalités et de paramètres comme le crawl-delay pour espacer les requêtes des robots, les wildcards pour remplacer une séquence de caractères ou encore la directive Allow pour bloquer l'exploration d'un répertoire sauf certains fichiers ou sous-répertoires contenus dans celui-ci.

Dans un soucis de maintenance et de suivi des modifications apportés à un robots.txt, il est également possible d'ajouter des commentaires au sein du fichier.

Pour finir, deux choses à savoir lorsque l'on utilise un fichier robots.txt :

myposeo