Robots.txt ignoré par Googlebot : la règle de spécificité

Ton fichier robots.txt bloque Googlebot mais il indexe quand même tes pages ? Mueller a expliqué pourquoi la règle de spécificité écrase tes directives globales.

Robots.txt ignoré par Googlebot : la règle de spécificité

Un site Shopify bloquait /search dans son robots.txt. Googlebot continuait d’indexer ces URLs malgré tout. John Mueller a identifié la cause en quelques secondes : un conflit de sections user-agent dans le fichier. C’est un cas d’école que je vois régulièrement dans les audits, et la correction est simple quand on comprend la logique de spécificité.

Le contexte : du spam dans les URLs de recherche interne

Le site en question gérait un problème classique sur Shopify. Des spammeurs exploitaient la barre de recherche interne pour générer des URLs du type /search?q=casino-site.com. Ces URLs étaient crawlées et indexées, polluant le profil du site.

Le propriétaire avait ajouté une directive Disallow: /search dans son robots.txt. Résultat : zéro effet. Google continuait d’indexer les pages concernées.

Selon Search Engine Journal, John Mueller a examiné le fichier en direct sur Reddit et expliqué le mécanisme en cause.

La règle de spécificité dans robots.txt

Le fichier robots.txt de ce site contenait deux sections distinctes :

  • Une section User-agent: Googlebot avec ses propres règles
  • Une section User-agent: * (tous les robots) avec d’autres règles, dont le Disallow: /search

Le problème : Googlebot applique uniquement les règles de la section qui le cible directement. Dès qu’il trouve une section User-agent: Googlebot, il ignore complètement le bloc User-agent: *, même si ce bloc contient des directives qui semblent universelles.

C’est la règle de spécificité du protocole robots.txt. La section la plus précise gagne, point. Ça n’est pas un bug, c’est le comportement documenté et prévu.

Concrètement pour toi : si ton fichier robots.txt comporte une section dédiée à Googlebot et que tes règles importantes sont dans le bloc *, Googlebot les ignore. Toutes.

C’est exactement ce que j’expliquais dans mon article sur les erreurs coûteuses autour du robots.txt.

Comment corriger un robots.txt avec ce conflit

Mueller propose deux approches, les deux sont valides selon ta configuration.

Option 1 : dupliquer les règles

Tu copies la directive problématique dans chaque section concernée.

User-agent: Googlebot
Disallow: /search
Disallow: /admin

User-agent: *
Disallow: /search
Disallow: /admin

Simple, mais verbeux si tu as beaucoup de règles.

Option 2 : regrouper les user-agents sur un bloc commun

User-agent: Googlebot
User-agent: Bingbot
User-agent: *
Disallow: /search
Disallow: /admin

Un seul bloc de règles s’applique à tous les agents listés. Plus propre, plus maintenable.

La plupart des sites n’ont pas besoin de règles différentes selon le robot. Si tu as créé une section User-agent: Googlebot pour une raison spécifique, vérifie que tu n’as pas oublié de répliquer les directives générales dedans.

Ce que robots.txt ne fait pas

C’est le point que Mueller et Search Engine Journal rappellent dans cet échange : robots.txt contrôle le crawl, pas l’indexation.

Si Google a déjà crawlé une URL avant que tu ajoutes la directive Disallow, il peut continuer à l’afficher dans les résultats. Il ne reviendra pas la désindexer. Il arrêtera simplement de la crawler à l’avenir.

Pour retirer une page de l’index, tu dois utiliser une balise noindex ou une directive X-Robots-Tag: noindex dans les headers HTTP.

La combinaison courante pour des pages comme /search?q=... sur Shopify :

  1. Disallow: /search dans robots.txt pour limiter le crawl
  2. noindex sur les pages de résultats de recherche pour l’indexation

Les deux agissent à des niveaux différents. C’est un point que j’aborde aussi dans mes analyses sur les pages non indexées et leur lien avec la qualité.

Ce que ça change pour toi

Si tu fais des tests SEO et que tes résultats semblent incohérents après une modification du robots.txt, commence par vérifier ce point avant tout : est-ce que ton fichier contient plusieurs sections user-agent ? Est-ce que la section Googlebot contient bien toutes les règles que tu veux appliquer ?

Pour auditer ça rapidement, ouvre Google Search Console et va dans l’outil de test du robots.txt. Tu peux simuler le comportement de Googlebot sur n’importe quelle URL de ton site et voir quelle section s’applique réellement.

Quelques points à vérifier dans ton audit :

  • Liste toutes les sections User-agent de ton fichier
  • Pour chaque section Googlebot, vérifie que toutes les directives importantes y figurent
  • Si tu n’as pas de raison spécifique d’avoir des règles différentes pour Googlebot, fusionne tout dans un seul bloc
  • Teste chaque URL sensible via GSC après la modification

Pour les sites Shopify en particulier, la génération automatique du robots.txt peut parfois créer des sections en doublon selon les apps installées. C’est un angle mort fréquent dans les audits techniques.

Si tu travailles sur la visibilité organique d’un site e-commerce ou de niche et que tu veux aller plus loin sur ces aspects techniques, mon agence AskOptimize peut t’aider à identifier ce type de blocage.

Mon avis

Ce cas illustre bien pourquoi les audits robots.txt méritent plus d’attention qu’on ne leur en donne. C’est un fichier court, souvent généré automatiquement, que personne ne relit. Résultat : des directives en conflit peuvent dormir là pendant des mois sans que personne ne le remarque. La règle de spécificité n’est pas nouvelle, elle est documentée depuis longtemps. Mais entre la théorie et la pratique dans un fichier réel, il y a souvent un écart. Prends 10 minutes pour auditer le tien.

FAQ

Pourquoi Googlebot ignore-t-il mes règles robots.txt globales ?

Si ton fichier contient une section User-agent: Googlebot dédiée, Googlebot applique uniquement cette section et ignore complètement le bloc User-agent: *. C’est la règle de spécificité : l’agent le plus précisément ciblé prend le dessus sur les règles générales.

Comment vérifier que Googlebot respecte bien mon robots.txt ?

Utilise l’outil de test robots.txt dans Google Search Console. Tu peux simuler le comportement de Googlebot sur n’importe quelle URL et voir exactement quelle règle s’applique. C’est le moyen le plus fiable de détecter un conflit de sections.

Est-ce que robots.txt suffit pour désindexer une page ?

Non. Robots.txt empêche le crawl futur, pas l’indexation de pages déjà crawlées. Pour retirer une page de l’index Google, tu dois utiliser une balise noindex dans le HTML ou une directive X-Robots-Tag: noindex dans les headers HTTP.

Comment corriger un conflit de sections user-agent dans robots.txt ?

Deux options : soit tu dupliques les règles importantes dans chaque section user-agent, soit tu regroupes tous les agents sur un même bloc de règles. La deuxième option est plus propre si tu n’as pas besoin de règles différenciées par robot.

Les sites Shopify sont-ils particulièrement exposés à ce problème ?

Oui. Le robots.txt de Shopify est partiellement généré automatiquement selon les apps installées. Des sections en doublon ou en conflit peuvent apparaître sans que tu t’en rendes compte. Un audit manuel du fichier reste indispensable, surtout après l’installation d’une nouvelle app.

Tu lis jusqu'ici, ça mérite un follow

Reçois mon récap : ce que j'ai testé, lu, appris. Zéro spam.

M'abonner gratuitement