Robots.txt vs meta robots vs x-robots-tag : quand utiliser chacun
Les propriétaires de sites WordPress disposent de trois mécanismes distincts pour contrôler le comportement des moteurs de recherche et des autres robots face à leur contenu : le fichier robots.txt, la balise meta robots et l'en-tête HTTP X-Robots-Tag. Les trois influencent le comportement des robots, mais ils opèrent à des niveaux différents, affectent des éléments différents et résolvent des problèmes différents.
Choisir le mauvais — ou utiliser l'un quand on a besoin de l'autre — mène à du contenu qui reste indexé alors qu'il ne devrait pas, du contenu qui disparait alors qu'il ne devrait pas, ou du budget de crawl gaspillé sur des pages qui n'apportent aucune valeur.
Robots.txt : contrôler l'accès avant le crawl
Le robots.txt opère au niveau du crawl. Quand un robot demande le fichier robots.txt, il lit les règles et décide quelles URL il est autorisé à récupérer. Si une URL est interdite, un robot bien élevé ne la demande jamais.
C'est un point crucial : le robots.txt empêche le crawl, pas l'indexation. Si une page interdite reçoit des liens entrants depuis d'autres sites, Google peut quand même afficher l'URL dans les résultats de recherche — il n'aura simplement jamais crawlé la page pour savoir ce qu'elle contient. Le résultat est un listing maigre, parfois embarrassant, sans extrait et sans information utile.
Utiliser le robots.txt quand : on veut empêcher les robots d'accéder à des sections entières du site (zones d'administration, répertoires de staging, résultats de recherche internes, pages de paramètres à faible valeur). C'est le bon outil pour gérer le budget de crawl à grande échelle et pour définir des politiques par catégorie de robots.
Ne pas utiliser le robots.txt quand : on veut retirer une page spécifique des résultats de recherche. Pour ça, il faut une directive noindex.
Meta robots : contrôler l'indexation au niveau de la page
La balise meta robots se place dans le <head> HTML de chaque page. Elle indique aux moteurs de recherche quoi faire avec une page après l'avoir crawlée. Les valeurs courantes incluent noindex (ne pas ajouter cette page à l'index), nofollow (ne pas suivre les liens de cette page) et noarchive (ne pas afficher de copie en cache).
C'est le bon outil pour retirer des pages individuelles des résultats de recherche. Contrairement au robots.txt, une directive noindex en meta robots dit explicitement au moteur : tu peux crawler cette page, mais ne l'affiche pas dans les résultats.
Utiliser les meta robots quand : on veut un contrôle fin, page par page, sur l'indexation. Les cas courants incluent les pages de remerciement, les pages de résultats de recherche internes, les archives d'étiquettes avec du contenu mince, ou les pages qui existent pour les utilisateurs connectés mais qui ne devraient pas apparaitre dans la recherche.
Ne pas utiliser les meta robots quand : la page ne devrait pas être crawlée du tout. Si on utilise noindex mais qu'on laisse la page accessible dans le robots.txt, les robots la récupèreront quand même à chaque cycle de crawl juste pour lire la balise noindex. C'est du budget de crawl gaspillé.
X-Robots-Tag : contrôler l'indexation au niveau du serveur
Le X-Robots-Tag est un en-tête de réponse HTTP qui porte les mêmes directives que les meta robots (noindex, nofollow, noarchive et autres), mais il est livré au niveau du serveur plutôt qu'incorporé dans le HTML.
Cette distinction compte pour une raison critique : le X-Robots-Tag fonctionne sur tout type de fichier. Les PDF, les images, les fichiers XML, les points de terminaison JSON — tout ce qui est servi par HTTP peut porter un X-Robots-Tag. La balise meta robots ne fonctionne que dans les documents HTML.
Utiliser le X-Robots-Tag quand : on doit contrôler l'indexation de ressources non HTML (PDF à désindexer, images à exclure, points de terminaison API qui ne devraient pas apparaitre dans la recherche). C'est aussi utile quand on ne peut pas modifier les gabarits de pages mais qu'on a accès à la configuration du serveur ou à un plugin qui définit les en-têtes HTTP.
Ne pas utiliser le X-Robots-Tag quand : une balise meta robots suffirait. Ajouter des en-têtes HTTP requiert une configuration au niveau du serveur ou du plugin, plus difficile à auditer qu'une balise visible dans le code source de la page. Utiliser l'outil le plus simple qui résout le problème.
Le piège du chevauchement
La confusion la plus répandue est d'utiliser le robots.txt pour tenter de désindexer une page. Ça ne fonctionne pas. Si une URL est bloquée dans le robots.txt, les robots ne peuvent pas accéder à la page — ce qui signifie qu'ils ne peuvent pas lire la balise noindex qu'on y a placée. La page peut rester dans l'index de Google indéfiniment, sous forme de listing URL uniquement.
La séquence correcte est :
- Ajouter
noindexà la page (via meta robots ou X-Robots-Tag). - Attendre que les robots voient la directive et retirent la page de l'index.
- Ensuite seulement, si désiré, ajouter un Disallow dans le robots.txt pour stopper les futures tentatives de crawl.
Inverser cet ordre — bloquer dans le robots.txt d'abord — empêche le noindex d'être lu.
La place des robots IA
Les robots de moteurs de recherche traditionnels respectent les trois mécanismes avec une consistance raisonnable. Les robots IA introduisent une variable nouvelle.
La plupart des robots IA (GPTBot, ClaudeBot, CCBot) lisent et respectent le robots.txt. Toutefois, tous ne traitent pas les meta robots ou le X-Robots-Tag de la même façon que les moteurs de recherche. Certains systèmes IA récupèrent le contenu pour l'entrainement ou la récupération sans faire de rendu de page, ce qui signifie qu'ils peuvent ne jamais rencontrer une balise meta dans la page.
Pour les robots IA spécifiquement, le robots.txt reste la couche de contrôle la plus fiable. Il opère avant que le contenu ne soit récupéré, ce qui en fait le seul mécanisme sur lequel on peut compter, peu importe comment le robot traite la réponse.
Choisir le bon outil
L'arbre de décision est direct :
- Bloquer l'accès au crawl pour des sections entières ou des catégories de robots spécifiques ? Utiliser le robots.txt.
- Retirer des pages HTML individuelles des résultats de recherche ? Utiliser les meta robots avec
noindex. - Contrôler l'indexation de fichiers non HTML ? Utiliser le X-Robots-Tag.
- Contrôler l'accès des robots IA ? Commencer par le robots.txt et compléter avec des en-têtes spécifiques là où c'est supporté.
Chaque outil résout un problème différent. Les utiliser en combinaison — et non comme des alternatives interchangeables — donne un contrôle précis sur la façon dont chaque type de robot interagit avec chaque type de contenu sur le site.