SEO

Robots.txt

Une seule ligne mal écrite dans ce petit fichier texte peut couper un site entier des moteurs de recherche. Le robots.txt, placé à la racine d'un site, indique aux robots d'exploration quelles parties ils peuvent parcourir et lesquelles ils doivent laisser de côté. Il règle l'exploration, pas l'indexation, et cette nuance explique la plupart des erreurs commises à son sujet.

Le fonctionnement du fichier robots.txt

Avant de parcourir un site, un robot bien élevé consulte l'adresse /robots.txt à la racine du domaine, par exemple https://www.exemple.fr/robots.txt. Il y lit les consignes qui le concernent, puis explore le site en les respectant. Le fichier ne vaut que pour le protocole, le domaine et le port exacts où il se trouve, si bien qu'un sous-domaine a besoin de son propre fichier.

Ce mécanisme, le protocole d'exclusion des robots, date de 1994 et n'a été normalisé qu'en 2022, par la RFC 9309 de l'IETF. Il repose sur la bonne volonté des robots. Googlebot, Bingbot et les robots des grands éditeurs le respectent, mais un robot malveillant peut l'ignorer. Le robots.txt n'est donc pas un outil de sécurité, et une page confidentielle doit être protégée par un mot de passe, pas par une ligne dans ce fichier.

Son principal usage en référencement est d'éviter que les robots perdent leur temps sur des pages sans intérêt pour la recherche, comme des résultats de recherche interne, des paniers ou des combinaisons infinies de filtres. Sur un gros site, cela préserve le budget de crawl pour les pages qui comptent.

La syntaxe des directives

Le fichier se compose de groupes de règles. Chaque groupe commence par une ligne User-agent, qui désigne le robot concerné, suivie de lignes Disallow, qui interdisent un chemin, et Allow, qui en autorisent un.

User-agent: *
Disallow: /panier/
Disallow: /recherche/
Allow: /recherche/aide/

User-agent: GPTBot
Disallow: /

Sitemap: https://www.exemple.fr/sitemap.xml

Dans cet exemple, tous les robots, désignés par l'astérisque, sont tenus à l'écart du panier et de tout le dossier de recherche interne, à l'exception de sa page d'aide, que la règle Allow, plus précise, rouvre. Le robot d'OpenAI, GPTBot, est exclu de tout le site. La dernière ligne indique l'adresse du sitemap XML, qui liste les pages à explorer.

Deux caractères spéciaux sont reconnus par Google. L'astérisque remplace n'importe quelle suite de caractères, et le dollar marque la fin d'une adresse, si bien que Disallow: /*.pdf$ bloque tous les fichiers PDF. Quand deux règles se contredisent, Google applique la plus précise, celle dont le chemin est le plus long.

Certaines directives ne sont pas reconnues par tous. Google ignore Crawl-delay, que d'autres moteurs comme Bing acceptent, et il ne lit que les 500 premiers kibioctets du fichier.

Bloquer l'exploration n'empêche pas l'indexation

C'est le malentendu le plus répandu. Une page bloquée dans le robots.txt n'est plus explorée, mais elle peut rester dans l'index de Google si d'autres pages lui font des liens. Elle s'affiche alors dans les résultats sans description, puisque Google n'a pas pu lire son contenu.

Pour retirer une page des résultats, il faut au contraire la laisser explorer et lui ajouter une balise noindex. Si la page est bloquée dans le robots.txt, Google ne voit jamais cette balise, et la page reste indexée. Bloquer et désindexer en même temps est donc contre-productif. Le détail de ces mécanismes se trouve dans la fiche sur l'indexation.

De la même façon, une page bloquée ne peut pas transmettre de signaux à une URL canonique ni suivre une redirection, puisque le robot ne la lit pas.

À retenir

  • Le robots.txt règle l'exploration, pas l'indexation.
  • Pour retirer une page des résultats, on la laisse explorer et on lui ajoute un noindex.
  • Ce n'est pas un outil de sécurité, les robots malveillants l'ignorent.

Le robots.txt face aux robots des IA

Depuis l'essor des IA génératives, le robots.txt sert aussi à décider si ses contenus peuvent nourrir ces modèles. Chaque éditeur a publié ses propres robots. GPTBot collecte des données pour l'entraînement des modèles d'OpenAI, ClaudeBot pour ceux d'Anthropic, CCBot pour Common Crawl, dont de nombreux modèles se servent.

Google a créé une désignation à part, Google-Extended. La bloquer empêche que les contenus servent à entraîner Gemini, sans rien changer à l'exploration par Googlebot ni à la présence dans les résultats de recherche. Il faut aussi distinguer les robots qui entraînent les modèles de ceux qui vont chercher une page au moment de répondre à une question, et qui conditionnent la visibilité dans les réponses des IA, l'enjeu du GEO.

Bloquer tous les robots d'IA protège les contenus, mais retire aussi le site des réponses de ces assistants. Le choix se fait robot par robot, selon ce que l'on veut préserver.

Les erreurs fréquentes

Le blocage total oublié. Un Disallow: / posé pendant le développement d'un site et resté en place après la mise en ligne coupe tout le site des moteurs. C'est une erreur classique après une migration, à vérifier en priorité.

Bloquer les ressources de mise en page. Interdire l'accès aux fichiers CSS ou JavaScript empêche Google d'afficher la page comme un visiteur la voit, ce qui peut nuire à son évaluation.

Compter sur le robots.txt pour cacher une page. Le fichier est public et lisible par tous, et il signale justement aux curieux les chemins que l'on voulait discrets.

Une erreur serveur sur le fichier. Si l'adresse du robots.txt renvoie une page introuvable, Google considère que tout est autorisé. Si elle renvoie une erreur serveur durable, il peut au contraire suspendre l'exploration du site. Le rapport robots.txt de la Search Console, qui a remplacé l'ancien outil de test fin 2023, signale ces problèmes et la dernière version lue. Un audit SEO commence toujours par ce fichier.

Questions fréquentes

À la racine du domaine, à l'adresse /robots.txt, par exemple https://www.exemple.fr/robots.txt. Un fichier placé dans un sous-dossier est ignoré. Chaque sous-domaine et chaque protocole ont besoin de leur propre fichier, car les règles ne valent que pour l'adresse exacte où elles se trouvent.
Non. Il empêche l'exploration, pas l'indexation. Une page bloquée peut rester dans les résultats, sans description, si d'autres pages lui font des liens. Pour la retirer, il faut la laisser explorer et lui ajouter une balise noindex, que Google ne verrait pas si la page était bloquée.
Cela dépend de l'objectif. Bloquer GPTBot, ClaudeBot ou Google-Extended empêche que les contenus servent à entraîner les modèles, mais peut aussi réduire la présence du site dans les réponses des assistants. Bloquer Google-Extended ne change rien au référencement dans Google Search. La décision se prend robot par robot.
Rien de grave : si l'adresse /robots.txt renvoie une page introuvable, les robots considèrent que tout le site peut être exploré. Le fichier n'est utile que pour écarter certaines zones ou indiquer l'adresse du sitemap. En revanche, une erreur serveur durable sur cette adresse peut amener Google à suspendre l'exploration du site.

Termes liés