Indexabilité : robots.txt et balises meta robots
Que sont le fichier robots.txt et la balise meta robots ?
Le fichier robots.txt est un fichier en texte brut situé dans le répertoire racine du site (par exemple https://exemple.com/robots.txt) et qui indique aux robots des moteurs de recherche quels répertoires ou quelles pages ils peuvent explorer (crawler). La balise meta robots, quant à elle, se trouve dans la section HTML <head> et permet de contrôler si une page, même si elle a été explorée, doit être indexée ou non dans les résultats de recherche. Ces deux éléments fonctionnent à des niveaux différents : l’un répond à la question « peux-tu entrer par cette porte ? », l’autre à « une fois à l’intérieur, peux-tu ajouter cette pièce au catalogue ? ».
Cette distinction est souvent confondue car les deux sont abordées sous le thème de la « gestion des robots », mais leurs domaines d’application sont totalement différents et une mauvaise combinaison peut entraîner des résultats indésirables.
Le fichier robots.txt est en réalité une « demande de règles », et non une mesure de sécurité : les robots bienveillants (comme Googlebot) respectent ces règles, mais les robots malveillants peuvent ignorer complètement ce fichier. C’est pourquoi tenter de « cacher » du contenu confidentiel ou sensible à l’aide du fichier robots.txt repose sur une fausse hypothèse en matière de sécurité.
Pourquoi est-ce important ?
Confondre ces deux mécanismes peut nuire gravement à la visibilité du site. Si une page est bloquée par le fichier robots.txt, le moteur de recherche ne verra jamais la balise noindex — car il doit d’abord explorer la page pour la voir — et la page peut rester par erreur dans l’index (généralement sous la forme d’une entrée sans titre ni description).
Utilisés correctement, ces deux outils vous permettent de gérer avec précision le contenu qui apparaîtra dans les résultats de recherche : le fichier robots.txt préserve le budget d’exploration des zones non essentielles (par exemple, le panneau d’administration, les pages de résultats de recherche), tandis que la balise meta robots permet de désindexer certaines pages (par exemple, la page de remerciement, les variantes de listes filtrées).
Sur les grands sites, le budget d’exploration est une ressource limitée : à chaque visite, le robot n’explore qu’une partie du site. Bloquer les zones sans intérêt (par exemple, les pages de résultats de recherche interne, les combinaisons de filtres) à l’aide du fichier robots.txt permet au robot de consacrer son temps aux pages qui comptent vraiment.
Comment y remédier ?
- Ne bloquez via le fichier robots.txt que les répertoires que vous ne souhaitez vraiment pas voir explorés (par exemple, les panneaux d’administration, les pages de panier).
- Si vous souhaitez désindexer une page, ne le faites pas via le fichier robots.txt,
<meta name="robots" content="noindex">. - N’oubliez pas que pour que la balise « noindex » fonctionne, la page doit être accessible à l’exploration par le fichier robots.txt.
- Adoptez le principe de la source unique de vérité : ne répétez pas le même signal de manière contradictoire à l'aide de plusieurs méthodes.
- Vérifiez régulièrement votre fichier robots.txt ; des restrictions de test ou de préproduction peuvent s'être retrouvées par erreur en production.
- À l’aide du rapport de couverture (coverage) de Google Search Console, vérifiez régulièrement quelles pages sont marquées comme « non explorées » ou « exclues en raison de noindex ».
Exemple
User-agent: *
Disallow: /admin/
Allow: /
<meta name="robots" content="noindex, follow">
Mauvais exemple : bloquer d’abord une page Disallow: /promotion/ dans le fichier robots.txt, puis en ajoutant la balise <meta name="robots" content="noindex"> : comme le robot ne l'explorera jamais, la balise noindex est inefficace et la page peut toujours apparaître dans l'index.
Erreurs courantes
Disallow: /en écrivant par erreur, ce qui bloque l'exploration de l'ensemble du site.- Bloquer une page à la fois via le fichier robots.txt et en y ajoutant la balise « noindex » (la balise n’est pas prise en compte, la page peut rester dans l’index).
- Oublier de transférer le fichier robots.txt restrictif de l’environnement de test/staging vers le site en production.
- Ajouter par erreur des pages importantes à la liste « Disallow ».
- Après un transfert ou une refonte du site, transférer les anciennes règles du fichier robots.txt vers le nouveau site sans les revoir ; une restriction qui avait du sens sur l’ancien site peut s’appliquer à des pages importantes de la nouvelle structure.
- Ne pas définir de politique d’indexation cohérente pour les pages générant des paramètres de pagination, de filtrage ou de tri ; lorsque certaines de ces pages restent dans l’index tandis que d’autres en sont exclues, cela crée un signal confus à l’échelle du site.
- Utiliser de manière contradictoire la balise canonique et l'attribut « noindex » sur une même page ; par exemple, définir une page comme « noindex » tout en désignant une autre page comme canonique génère des signaux contradictoires.
- Oublier qu’un seul fichier robots.txt suffit pour l’ensemble du site et tenter d’appliquer des restrictions d’accès séparées dans les sous-répertoires ; le fichier robots.txt n’est valable que dans le répertoire racine.
- Dans le rapport de Seoraporu.co, les signaux contradictoires tels que « bloqué par le fichier robots.txt mais avec une balise noindex » sont signalés séparément ; au lieu de conserver les deux sur la même page, choisissez-en un seul.