Robots.txt

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'exploration (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 exploré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'explorer puis 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 également au fichier robots.txt situé à la racine de votre site web : http://www.mon-domaine.fr/robots.txt

A noter que le fichier robots.txt contrôle l'exploration de votre site par les robots des moteurs de recherche, il ne sert pas à empêcher une page ou un répertoire dans les résultats de recherche, il ne contrôle pas l'indexation de vos contenus. Si vous souhaitez désindexer un contenu, vous devez utiliser les instructions meta robots noindex ou via l'en-tête HTTP X-Robots-Tag.

Avec le fichier robots.txt vous pouvez donc contrôler l'exploration de votre site et ses ressources par les robots des moteurs de recherche : pages web (HTML, PDF, et autres fichiers indexables par Google), fichiers multimédia (images, vidéos, audios) ou encore vos fichiers de ressources (fichiers CSS et JavaScript).

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écouvriront pas et ne suivront pas ses règles et paramètres. Par ailleurs, le fichier doit être d'une taille inférieure à 512 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 explorer l'ensemble des répertoires et des pages du site. Cela aura pour effet de bloquer totalement les robots d'exploration 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 :

  • Les robots peuvent ignorer votre fichier robots.txt, en particulier les robots malveillants qui crawlent les sites à la recherches de vulnérabilités ou d'adresses email
  • Le fichier robots.txt est un fichier accessible au public, ce qui signifie que n'importe qui peut voir ce que vous souhaitez ne pas faire indexer par les moteurs