Le robots.txt est un fichier texte placé à la racine du site qui dit à chaque user-agent, crawler de moteur de recherche ou bot, quelles URL il peut explorer (Allow, Disallow) et où trouver le sitemap XML. Il ne dit rien sur l'index : une page bloquée peut apparaître dans Google si des liens pointent vers elle. Pour la retirer, il faut un noindex lisible par le robot, point clé du SEO technique détaillé sur les motifs d'indexation refusée.
Disallow interdit l'exploration, pas l'indexation
- Disallow interdit l'exploration d'une URL, pas son indexation : Google peut lister l'adresse sans en lire le contenu.
- Une balise meta robots noindex n'agit que si le crawler peut lire la page, donc si elle n'est pas bloquée dans le robots.txt.
- Google n'accepte plus de directive noindex dans ce fichier depuis le 1er septembre 2019.
- Le rapport robots.txt de la Google Search Console montre la version lue par Googlebot et les erreurs de syntaxe.
Qu'est-ce que le fichier robots.txt ?
Le robots.txt est un fichier texte brut, nommé exactement ainsi, que le robot d'un moteur de recherche lit avant d'explorer un site web. Il se place à la racine du domaine : https://www.example.com/robots.txt. Placé dans un sous-dossier, il est ignoré. Chaque sous-domaine et chaque protocole ont le leur : le fichier de blog.example.com ne vaut pas pour www.example.com.
Le format vient du Robots Exclusion Protocol, proposé par Martijn Koster en 1994 et resté une convention pendant près de trente ans. L'IETF l'a normalisé en septembre 2022 sous le numéro RFC 9309. Google a publié en 2019 le code de son analyseur en open source, ce qui permet de voir comment le robot de Google interprète chaque ligne. La page de référence reste celle de Search Central, intitulée en anglais « Introduction to robots.txt », complétée par « Create and submit a robots.txt file » et « How Google interprets the robots.txt specification ». Elle ouvre sur une phrase sans ambiguïté : le robots.txt sert d'abord à gérer le trafic des crawlers, pas à cacher une page web.
Le contenu du fichier est une suite de groupes. Chaque groupe commence par une ligne User-agent, qui désigne le robot visé, puis liste des instructions Allow et Disallow, chacune suivie d'un chemin. Une ligne Sitemap peut s'ajouter n'importe où pour indiquer l'URL du sitemap XML. Les moteurs de recherche sérieux respectent ces règles ; un robot malveillant les ignore, puisque rien ne l'oblige à lire le fichier. C'est la première raison pour laquelle le robots.txt n'est pas un outil de sécurité : il publie au contraire, en clair, la liste des répertoires que l'on voudrait tenir à l'écart.
Pourquoi bloquer une page ne l'empêche pas d'apparaître dans Google
Parce que Google sépare deux opérations : l'exploration (crawl) et l'indexation. La directive Disallow agit sur la première seulement. Elle dit au crawler de ne pas télécharger l'URL. Elle ne dit pas au moteur de recherche d'ignorer l'adresse qu'il a découverte ailleurs.
Or Google découvre des URL par les liens : liens internes, liens depuis d'autres sites, sitemap XML, partages. Une URL bloquée mais très citée peut donc entrer dans l'index sans que le robot ait lu une seule ligne de son contenu. Le résultat affiché est alors pauvre : un titre reconstitué à partir des ancres de liens, et souvent aucune description, remplacée par une mention indiquant qu'aucune information n'est disponible pour cette page. La documentation de Google le formule nettement dans son guide en anglais : une page bloquée par le fichier robots.txt « can still be indexed if linked to from other sites ».
La Google Search Console a un statut dédié à ce cas, « Indexée malgré le blocage par le fichier robots.txt » (en anglais « Indexed, though blocked by robots.txt »). Il signale précisément ce paradoxe : l'URL est dans l'index, mais Googlebot n'a pas le droit de la lire. Ce statut n'est pas une erreur au sens technique. C'est un avertissement : si la page ne doit pas figurer dans les résultats de recherche, le blocage a été le mauvais outil. Le cas voisin, « Bloquée par le fichier robots.txt », concerne les URL que Google connaît mais n'a pas indexées ; il est sans conséquence tant que ces pages n'ont pas vocation à ranker.
Le piège du noindex bloqué par Disallow
Le contresens typique consiste à combiner les deux mécanismes : ajouter une balise <meta name="robots" content="noindex"> sur une page, puis bloquer cette même page dans le robots.txt « pour être sûr ». Le résultat est l'inverse de l'effet voulu.
La meta robots est une instruction écrite dans le code HTML de la page. Pour la lire, le robot doit télécharger la page. Si le fichier robots.txt lui interdit ce téléchargement, il ne voit jamais le noindex. L'URL déjà indexée reste donc dans l'index, parfois pendant des mois, avec un extrait de plus en plus vide. Même logique pour l'en-tête HTTP X-Robots-Tag, qu'on utilise sur les fichiers PDF ou les images : il n'est lu que si la ressource est explorée.
La bonne séquence est donc la suivante :
- laisser la page ouverte au crawl dans le robots.txt ;
- ajouter la balise meta robots noindex, ou l'en-tête X-Robots-Tag pour une image ou un document ;
- attendre que Googlebot repasse et constate l'instruction, ce que l'inspection d'URL de la Search Console permet d'accélérer ;
- une fois la page sortie de l'index, décider seulement alors s'il est utile de la bloquer au crawl pour économiser des requêtes.
Cette dernière étape est souvent superflue. Sur un blog de quelques centaines de pages, le gain en exploration est nul, et le blocage empêche Google de relire le noindex si la page change un jour. Pour un contenu dupliqué qui doit rester accessible, la balise canonical, qui désigne la version de référence, est en général plus adaptée qu'un blocage.
Comment configurer un fichier robots.txt
La configuration tient en quelques lignes. Voici un exemple de fichier pour un site WordPress, commenté ligne par ligne :
# robots.txt file for www.example.com
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /search/
Disallow: /tools/private/
Disallow: /*?sort=
Sitemap: https://www.example.com/sitemap.xml
Le groupe User-agent: * s'applique à tous les robots qui n'ont pas de groupe dédié. La directive Disallow bloque le répertoire d'administration ; la directive Allow rouvre le seul fichier dont les pages publiques ont besoin. Le blocage de /search/ évite l'exploration des pages de résultats de recherche interne, qui produisent des URL infinies. La dernière règle utilise le joker * pour exclure les URL de tri.
Beaucoup de fichiers sont copiés depuis un modèle anglophone et gardent ses commentaires en anglais. Les lignes précédées de # ne sont pas lues par les robots ; elles servent au webmaster qui reprendra le fichier. Un modèle commenté ressemble souvent à ceci :
# About this file: robots.txt tells each search engine crawler
# which content of the site it may crawl, and which it should not.
# Use this file only to manage crawling, not to hide content.
# A Disallow rule does not remove a URL from the search results:
# a blocked file can still be indexed without its content
# if other sites link to it.
# To keep a page out of the index, use a noindex meta tag
# and leave the file open to crawling.
# Also check the file with Google Search Console, which will
# review how Googlebot reads each rule, then fix any issue.
# Do not block CSS or JS resource files: Google needs them.
# Want to create a free robots.txt file? Start with an empty file,
# add only the rules you need, and review it after each update.
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Ces commentaires disent en substance ce que cet article détaille : le fichier gère l'exploration, pas l'indexation, et un fichier bloqué peut rester dans l'index sans son contenu. Le mot « file » y désigne le fichier lui-même, et « crawling » l'exploration par le moteur.
Quelles directives inclure dans robots.txt ?
Google reconnaît quatre champs : User-agent, Allow, Disallow et Sitemap. Tout le reste est ignoré par Googlebot. La directive Crawl-delay, par exemple, est lue par Bing et Yandex mais pas par Google, qui règle sa cadence seul. Quand deux règles se contredisent, Google applique la plus spécifique, c'est-à-dire celle dont le chemin est le plus long ; à longueur égale, Allow l'emporte. Le signe $ marque la fin d'une URL : Disallow: /*.pdf$ bloque tous les fichiers PDF.
User-agent: Googlebot-Image
Disallow: /images/drafts/
User-agent: GPTBot
Disallow: /
User-agent: Google-Extended
Disallow: /
Ce second exemple montre des groupes par agent. Googlebot-Image est le robot de Google Images. GPTBot, annoncé par OpenAI en août 2023, collecte du contenu web pour l'entraînement de modèles. Google-Extended, introduit par Google en septembre 2023, n'est pas un crawler distinct : c'est un jeton qui indique si le contenu déjà exploré peut servir aux modèles Gemini. Le bloquer ne retire rien de la recherche Google classique.
Comment générer un fichier robots.txt ?
Un simple éditeur de texte suffit, à condition d'enregistrer en UTF-8 et de nommer le fichier en minuscules. Les extensions SEO de WordPress (Yoast, Rank Math) proposent un éditeur intégré, et WordPress produit un fichier virtuel quand aucun fichier physique n'existe. Les générateurs en ligne gratuits (robots.txt generator) font gagner une minute mais recopient souvent des règles inutiles ; mieux vaut partir d'un fichier vide et n'ajouter que ce qu'on sait justifier. Google traite les 500 premiers kibioctets du fichier et ignore le reste.
Pourquoi utiliser un fichier robots.txt en SEO ?
Son rôle en SEO technique est de concentrer l'exploration sur les pages utiles. Un site qui génère des milliers d'URL de filtres, de paramètres ou de calendriers peut voir Googlebot passer son temps sur des pages sans valeur. Bloquer ces zones libère des requêtes pour le contenu qui compte, question traitée dans l'article consacré au budget de crawl et aux sites qui en manquent.
Pour un blog de taille modeste, l'enjeu est faible. Google le dit lui-même : la gestion du budget d'exploration concerne surtout les sites de plus d'un million de pages, ou ceux dont le contenu change chaque jour sur des dizaines de milliers d'URL. Sur un petit site, le robots.txt sert surtout à trois choses :
- éviter l'exploration des pages de recherche interne et des URL à paramètres ;
- déclarer l'adresse du sitemap XML, que tous les moteurs lisent ;
- refuser l'accès à certains robots d'intelligence artificielle, si c'est un choix éditorial.
Ce qu'il ne faut jamais bloquer : les fichiers CSS et JavaScript. Google affiche la page comme un navigateur pour évaluer sa mise en page et ses Core Web Vitals ; privé de ces ressources, il voit une page cassée. C'était une pratique courante vers 2010, et on la retrouve encore dans de vieux fichiers recopiés d'un site à l'autre.
Retirer une page de Google : les méthodes qui fonctionnent
Puisque le robots.txt ne retire rien de l'index, voici les outils adaptés, selon l'objectif :
| Méthode | Effet sur l'index | Condition |
|---|---|---|
| Disallow dans robots.txt | Aucun retrait garanti | Bloque seulement le crawl |
| Meta robots noindex | Retrait durable | Page explorable par le robot |
| En-tête X-Robots-Tag | Retrait durable (PDF, image) | Ressource explorable |
| Code 404 ou 410 | Retrait après nouvelle exploration | Contenu réellement supprimé |
| Protection par mot de passe | Contenu jamais lu | Accès réservé aux utilisateurs identifiés |
| Outil de suppression de la Search Console | Masquage d'environ six mois | À doubler d'une méthode durable |
L'outil de suppression de la Search Console est utile en urgence (une page de données personnelles publiée par erreur, par exemple), mais il masque l'URL temporairement sans rien changer sur le site. Si la page reste accessible et sans noindex à l'expiration, elle peut revenir dans les résultats. Pour du contenu confidentiel, seule l'authentification protège réellement : un fichier que le robots.txt « cache » reste téléchargeable par n'importe quel utilisateur qui connaît son adresse, et le fichier lui-même la révèle.
Comment vérifier le fichier robots.txt ?
Trois vérifications suffisent. D'abord, ouvrir l'adresse /robots.txt dans un navigateur : le serveur doit renvoyer un code 200 et du texte brut. Un code 404 signifie pour Google qu'il n'existe aucune restriction et que tout le site est explorable. Une erreur serveur 5xx est plus grave : Google suspend alors l'exploration du site pendant un temps, par prudence.
Ensuite, consulter le rapport robots.txt de la Google Search Console, dans les paramètres de la propriété. Depuis novembre 2023, il remplace l'ancien outil de test : il montre les fichiers trouvés pour les vingt principaux hôtes du site, la date de la dernière lecture, et les avertissements de syntaxe. Google garde le fichier en cache jusqu'à 24 heures en général ; une modification n'est donc pas prise en compte instantanément.
Enfin, tester une URL précise avec l'outil d'inspection d'URL, qui indique si l'exploration est autorisée. Plusieurs outils d'audit SEO (Screaming Frog, les crawlers des suites de référencement, des checkers en ligne gratuits de type « free robots.txt checker » ou « robots.txt file validator ») simulent aussi la lecture du fichier sur l'ensemble d'un site crawl. C'est l'occasion de repérer les pages stratégiques bloquées par une règle trop large, une des erreurs SEO qui coûtent le plus de trafic.
Les erreurs de syntaxe les plus courantes
Le fichier est court, mais chaque caractère compte. Les chemins sont sensibles à la casse : Disallow: /Blog/ ne bloque pas /blog/. Une ligne Disallow: / oubliée après une mise en ligne bloque tout le site ; c'est le classique du site de préproduction dont le fichier part en production. À l'inverse, une ligne Disallow: vide n'interdit rien.
Autre confusion fréquente : croire qu'un groupe dédié à Googlebot s'ajoute au groupe général. Ce n'est pas le cas. Un robot suit le groupe le plus spécifique qui le concerne et ignore les autres. Si un groupe User-agent: Googlebot existe, les règles de User-agent: * ne s'appliquent plus à Googlebot ; il faut les recopier.
Les directives inventées ou abandonnées restent aussi dans beaucoup de fichiers. Noindex: dans le robots.txt n'a jamais été officiellement pris en charge, et Google a cessé de le lire le 1er septembre 2019. Le fichier llms.txt, proposé en 2024 pour guider les modèles de langage, n'est pas un standard reconnu par les moteurs de recherche et ne remplace pas le robots.txt. Quant à la ligne Host, elle n'était lue que par Yandex.
Questions fréquentes sur le robots.txt
Quel est le rôle du fichier robots.txt en SEO ?
Il oriente l'exploration des robots vers les pages utiles et déclare le sitemap XML. Il ne contrôle pas l'indexation : une URL bloquée peut apparaître dans Google si elle reçoit des liens.
Un site peut-il fonctionner sans robots.txt ?
Oui. En l'absence de fichier, Google considère que tout le site peut être exploré. Pour un petit blog sans URL à paramètres, c'est une configuration acceptable.
Combien de temps faut-il pour qu'une modification soit prise en compte ?
Google met le fichier en cache jusqu'à 24 heures en général. Le rapport robots.txt de la Search Console permet de demander une nouvelle lecture après une correction urgente.















