robots.txt : une section dédiée à Googlebot annule les règles générales
Une boutique Shopify voyait ses pages de recherche interne spammées indexées malgré un Disallow: /search. Selon Search Engine Journal (25 juillet 2026), John Mueller pointe une section « user-agent: Googlebot » qui fait ignorer à Google les règles écrites pour tous les robots.
L’essentiel
- Sur une boutique Shopify, des URL /search remplies de spam étaient indexées alors qu’un Disallow les bloquait.
- Le robots.txt examiné par John Mueller contenait deux sections distinctes, « user-agent: Googlebot » et « user-agent: * ».
- Google n’applique que le groupe le plus spécifique qui correspond à son robot, sans jamais le fusionner avec le groupe « * ».
- Deux corrections possibles : recopier les règles communes dans la section Googlebot, ou déclarer plusieurs user-agents au-dessus d’un même bloc.
Un Disallow: /search qui ne protégeait rien
Le point de départ est un fil publié sur r/TechSEO. Un intervenant y signale que le moteur de recherche interne de la boutique Shopify d’un client fabrique des pages de spam : des spammeurs tapent des requêtes liées à leur thématique, avec un lien ou un nom de site, et chaque recherche produit une URL de résultats. Google indexait ces pages alors que le chemin /search était interdit dans le robots.txt. Le client les avait redirigées vers une page de collection, et la question portait sur l’intérêt de renvoyer plutôt une 404.
D’après Search Engine Journal, John Mueller a consulté le robots.txt d’un site qui présentait des URL indexées du même type, tout en précisant qu’il ne savait pas s’il s’agissait de celui du client. Le fichier comportait une section propre à Googlebot, séparée de la section générale et dotée de règles différentes. Son explication : « avec le robots.txt, ce sont les règles les plus spécifiques qui l’emportent » (traduction). Googlebot lisait sa section, et uniquement celle-là. Le Disallow: /search, rangé dans le bloc « * », ne le concernait plus.
Google le documente : un seul groupe par robot
Il ne s’agit pas d’un bug. La documentation Search Central sur l’interprétation du robots.txt indique qu’un robot donné ne suit qu’un groupe : celui dont le user-agent lui correspond de la façon la plus spécifique. Les autres sont ignorés, et leur position dans le fichier ne joue aucun rôle. Google écrit aussi noir sur blanc que les groupes propres à un user-agent ne sont pas combinés avec le groupe global « * ». La seule fusion prévue concerne plusieurs groupes qui visent le même robot, par exemple deux sections Googlebot dispersées dans le fichier.
L’erreur vient d’une lecture en cascade, où « * » poserait une base que les sections nommées viendraient compléter. C’est l’inverse. Une section nommée remplace toute la base pour le robot qu’elle vise.
Avant, après : deux façons de corriger
Toujours selon Search Engine Journal, John Mueller avance deux solutions. La première : « il faut les copier » (traduction), autrement dit répéter les règles générales dans la section Googlebot. La seconde, si le site vous appartient : déclarer ensemble tous les user-agents qui doivent partager les mêmes règles, au-dessus d’un bloc unique. L’exemple simplifié ci-dessous reprend des chemins présents dans le fichier par défaut de Shopify.
| Avant (Googlebot ignore /cart et /search) | Après, option 1 : règles recopiées | Après, option 2 : user-agents regroupés |
|---|---|---|
| User-agent: * | User-agent: * | User-agent: Googlebot |
| Disallow: /cart | Disallow: /cart | User-agent: * |
| Disallow: /search | Disallow: /search | Disallow: /cart |
| Disallow: /search | ||
| User-agent: Googlebot | User-agent: Googlebot | Disallow: /*preview_theme_id* |
| Disallow: /*preview_theme_id* | Disallow: /cart | |
| Disallow: /search | ||
| Disallow: /*preview_theme_id* |
Dans la version « avant », Googlebot ne respecte que la règle sur preview_theme_id et explore librement /cart et /search. L’option 1 conserve une règle réservée à Googlebot. L’option 2 applique le même jeu de règles à tous les robots ; sur un fichier aussi court, elle revient à supprimer la section Googlebot. Elle prend tout son intérêt quand plusieurs robots nommés doivent partager les mêmes interdictions.
Pour rappel, un Disallow n’empêche pas à lui seul l’indexation. Google précise qu’une URL bloquée peut quand même apparaître dans les résultats si d’autres pages pointent vers elle.
Shopify et WordPress : le piège des fichiers personnalisés
Sur Shopify, le robots.txt généré place Disallow: /search dans le groupe « * » et contient déjà des groupes nommés, par exemple adsbot-google, AhrefsBot, MJ12bot ou Pinterest. Dans le groupe AhrefsBot, la plateforme recopie elle-même l’essentiel des règles générales. Le risque vient du gabarit robots.txt.liquid, qui remplace le fichier généré. Un marchand qui y ajoute à la main une section « User-agent: Googlebot » pour une seule règle prive Googlebot de toutes les interdictions par défaut. Shopify conseille fortement de passer par les objets Liquid fournis (robots.default_groups) et de comparer le rendu du gabarit avec le fichier d’origine avant de publier.
Sur WordPress, le robots.txt virtuel tient en quelques lignes, mais beaucoup de sites le remplacent par un fichier physique ou l’éditent depuis Yoast ou Rank Math. Il suffirait qu’un modèle récupéré dans un tutoriel contienne une section Googlebot réduite à « Allow: / » pour neutraliser, côté Google, tous les Disallow du bloc général.
Ce que j’en retiens
Je conseille d’ouvrir son robots.txt et de relire chaque section nommée avec une seule question en tête : ce robot y trouve-t-il toutes les règles qu’il doit suivre ? Le rapport robots.txt de la Search Console affiche la version récupérée par Google. C’est la première vérification à faire.
Pour les pages de recherche interne, le robots.txt n’est de toute façon pas le bon outil de désindexation. Une balise noindex convient mieux (Search Engine Journal reprend un extrait de code issu de l’aide Shopify pour le thème, et rappelle que Yoast, Rank Math et AIOSEO passent ces pages en noindex par défaut), mais Google ne la lit que si l’URL reste explorable. Il faut donc choisir entre bloquer l’exploration et laisser lire le noindex, pas cumuler les deux. Dernière réserve : les propos de John Mueller sont connus ici par le compte rendu de Search Engine Journal, et lui-même n’était pas sûr d’avoir examiné le fichier du client. La règle technique, en revanche, figure dans la documentation de Google.
Sources
- Google Says Why It May Ignore Robots.txt And Negatively Impact SEO, Search Engine Journal (Roger Montti), 25 juillet 2026 (searchenginejournal.com)
- Fil sur l'indexation des pages de recherche spammées malgré un Disallow: /search, Reddit r/TechSEO, juillet 2026 (reddit.com)
- How Google interprets the robots.txt specification, Google Search Central (developers.google.com)
- Block Search indexing with noindex, Google Search Central (developers.google.com)
- Customize robots.txt, Shopify Dev (shopify.dev)