glossary

Tout ce que robots.txt contrôle, et la seule chose qu'il ne contrôle pas

Taras Shynkarenko
Taras Shynkarenko
•Updated: •10 lecture min.
Tout ce que robots.txt contrôle, et la seule chose qu'il ne contrôle pasTout ce que robots.txt contrôle, et la seule chose qu'il ne contrôle pas

TL;DR

10 lecture min.

Un site publie robots.txt à la racine d'un hôte pour indiquer aux crawlers quels chemins d'URL ils peuvent récupérer, selon les règles de la RFC 9309, publiée en septembre 2022. Le fichier demande à un crawler de ne pas récupérer une page, et Google indexe quand même une URL bloquée lorsque d'autres sites pointent vers elle, en affichant l'URL sans extrait. Pour une vraie exclusion, supprimez le disallow et servez une balise noindex, ou placez la page derrière une authentification.

Qu'est-ce que robots.txt ?

Un site publie robots.txt à la racine d'un hôte pour indiquer aux crawlers (robots d'exploration) quels chemins d'URL ils peuvent récupérer, et c'est là toute la portée du fichier : robots.txt demande à un crawler de ne pas récupérer une page, ne rend pas la page privée et ne garde pas l'URL hors des résultats de recherche de façon fiable. Les règles viennent de la RFC 9309, le Robots Exclusion Protocol, un document Standards Track publié en septembre 2022 par Martijn Koster, Gary Illyes, Henner Zeller et Lizzi Sassman. La RFC 9309 exige que les règles soient "accessibles dans un fichier nommé '/robots.txt' (tout en minuscules) dans le chemin de premier niveau du service", et la spécification robots.txt de Google ajoute que les règles "s'appliquent uniquement à l'hôte, au protocole et au numéro de port où le fichier robots.txt est hébergé". Lisez le fichier comme un contrôle du trafic pour les crawlers qui choisissent de s'y plier.

Dernière vérification : 8 septembre 2026

Pourquoi une page bloquée dans robots.txt apparaît-elle quand même dans Google ?

Google liste l'URL parce qu'un lien pointait vers elle, et lister une URL ne demande aucune récupération. L'introduction à robots.txt de Google, mise à jour le 10 décembre 2025, indique qu'un fichier robots.txt "n'est pas un mécanisme permettant de tenir une page web hors de Google", et la spécification de Google ajoute que Google "ne peut pas indexer le contenu des pages dont l'exploration est interdite, mais peut tout de même indexer l'URL et l'afficher dans les résultats de recherche sans extrait". Une règle disallow arrête la récupération et rien d'autre, donc le résultat porte le texte d'ancre de la page qui fait le lien à la place d'une description.

Le correctif va à l'inverse de l'intuition. Une balise meta robots noindex ne fonctionne que si le crawler récupère la page et la lit, donc une ligne disallow est précisément ce qui empêche noindex d'être vu. Supprimez le disallow, servez noindex et laissez Google récupérer la page pour qu'il apprenne à la retirer. Pour un contenu qui ne doit pas être lisible du tout, utilisez l'authentification : robots.txt est un fichier public qui liste vos chemins sensibles à quiconque l'ouvre.

Que fait chaque directive robots.txt ?

La RFC 9309 définit trois champs, user-agent, allow et disallow, plus trois caractères spéciaux, et la spécification de Google ajoute le champ sitemap.

LigneCe qu'elle faitSource
User-agent: GPTBotOuvre un groupe de règles pour un token de produit, comparé sans tenir compte de la casseRFC 9309
User-agent: *Le groupe de repli, suivi par tout crawler qui ne correspond à aucun autre groupeRFC 9309
Disallow: /cart/Interdit la récupération des chemins correspondantsRFC 9309
Allow: /cart/gift-guideAutorise un chemin qu'un disallow plus large couvrirait sinonRFC 9309
* dans un cheminCorrespond à zéro ou plusieurs caractères validesRFC 9309, spécification Google
$ en fin de cheminAncre le motif à la fin de l'URLRFC 9309, spécification Google
#Ouvre un commentaire, ignoré jusqu'à la fin de la ligneRFC 9309
Sitemap: https://example.com/sitemap.xmlIndique un sitemap aux crawlers et n'appartient à aucun groupe user-agentSpécification Google
Crawl-delay: 1Absent de la RFC 9309 et non pris en charge par GoogleSpécification Google

Encodez en pourcentage un *, $ ou # littéral dans un chemin, comme le recommande la RFC 9309.

Crawl-delay se situe hors du standard. La spécification robots.txt de Google, mise à jour le 31 août 2026, liste les quatre champs que Google lit et indique que "les autres champs tels que crawl-delay ne sont pas pris en charge". La prise en charge dépend du crawler : la documentation d'Anthropic publie Crawl-delay: 1 sous User-agent: ClaudeBot comme alternative à un blocage complet. N'écrivez la ligne que pour les crawlers dont l'opérateur la documente.

Quelle règle l'emporte quand allow et disallow correspondent tous les deux ?

Le motif de chemin correspondant le plus long l'emporte, mesuré en octets, et une égalité exacte revient à allow.

winner = the allow or disallow rule whose path pattern contains the most octets; on an exact tie, allow

La RFC 9309 le formule ainsi : "La correspondance la plus spécifique trouvée DOIT être utilisée. La correspondance la plus spécifique est celle qui compte le plus d'octets", et tranche les égalités par "Si une règle 'allow' et une règle 'disallow' sont équivalentes, la règle 'allow' DEVRAIT être utilisée". La spécification de Google aboutit au même résultat : "En cas de règles contradictoires, y compris celles avec des caractères génériques, Google utilise la règle la moins restrictive".

Appliquez-le à https://example.com/blog/drafts/post-1 :

RègleOctets dans le cheminCorrespond à l'URL
Allow: /blog/6oui
Disallow: /blog/drafts/13oui
Allow: /blog/drafts/post-119oui

19 bat 13 qui bat 6, donc la troisième règle l'emporte et le crawler récupère la page. Supprimez cette ligne et 13 bat 6, donc le disallow reprend la main. En cas d'égalité, Disallow: /p et Allow: /p comptent 2 octets chacun, donc allow gagne et /page reste explorable. L'ordre des lignes ne change rien, alors comptez les caractères au lieu de réorganiser les règles.

Câblage d'une salle de serveurs, en écho aux groupes de crawlers qui déterminent quel bot lit quelle règle.

Comment les crawlers choisissent-ils le groupe user-agent qui s'applique ?

Un crawler compare son token de produit aux lignes user-agent sans tenir compte de la casse, suit ce seul groupe et se rabat sur le groupe * uniquement quand aucun groupe ne correspond. La RFC 9309 exige que "les crawlers DOIVENT utiliser une comparaison insensible à la casse pour trouver le groupe qui correspond au token de produit" et que "si aucun groupe correspondant n'existe, les crawlers DOIVENT suivre le groupe dont la ligne user-agent porte la valeur '*'". Deux groupes qui nomment le même token sont fusionnés, ce que la RFC 9309 formule comme des règles qui "DOIVENT être combinées en un seul groupe" et ce que la spécification de Google décrit comme des crawlers qui "fusionnent les groupes en interne".

La conséquence prend beaucoup de monde de court. Donnez à GPTBot son propre groupe et GPTBot cesse de lire le groupe *, donc plus aucun disallow écrit pour tous les autres ne le lie. Répétez les lignes disallow communes dans chaque groupe nommé. Pour la même raison, écrire exactement chaque token de crawler IA compte : une faute de frappe renvoie un crawler dans le groupe *.

RedReplier
RedReplier

Commencer

Reddit, X, Bluesky et HN

Alertes d'intention en temps réel

Réponses IA illimitées

Classé par intention d'achat

Comment bloquer les crawlers IA dans robots.txt ?

Nommez le token de chaque opérateur dans son propre groupe, et décidez séparément pour les crawlers d'entraînement et pour les crawlers de recherche qui citent et renvoient un lien.

# https://example.com/robots.txt
 
User-agent: *
Disallow: /cart/
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
 
# Model training
User-agent: GPTBot
Disallow: /
 
User-agent: ClaudeBot
Disallow: /
 
User-agent: Google-Extended
Disallow: /
 
# Answer engines that cite and link
User-agent: OAI-SearchBot
Disallow: /cart/
Disallow: /account/
 
User-agent: PerplexityBot
Disallow: /cart/
Disallow: /account/
 
User-agent: Claude-SearchBot
Disallow: /cart/
Disallow: /account/

Les lignes /cart/ et /account/ répétées sont la règle de groupe en action, pas du remplissage : chaque crawler nommé ne lit que son propre groupe. Trois réserves viennent des opérateurs. Google documente que "Google-Extended n'a pas de chaîne user agent de requête HTTP distincte" et travaille "à titre de contrôle", et que le bloquer "n'a pas d'incidence sur l'inclusion d'un site dans la recherche Google et n'est pas utilisé comme signal de classement dans la recherche Google". OpenAI sépare GPTBot, qui explore pour améliorer ses modèles de fondation, d'OAI-SearchBot, qui fait remonter les sites dans la recherche ChatGPT, donc bloquer le token GPTBot laisse intact l'accès de la recherche ChatGPT. Perplexity documente que Perplexity-User ignore les règles robots.txt dans la plupart des cas parce qu'un utilisateur a demandé la récupération. Le même partage par opérateur dépasse cette liste : Amazonbot explore pour améliorer les produits d'Amazon et peut entraîner les modèles d'IA d'Amazon tant que son token n'est pas bloqué, et Applebot-Extended se refuse séparément pour arrêter l'entraînement d'Apple Intelligence sans toucher à Siri, Spotlight et la recherche Safari. OpenAI fait tourner le même type de récupération à la demande sous un troisième token, ChatGPT-User, distinct de GPTBot et d'OAI-SearchBot.

Bloquer les crawlers d'entraînement tout en gardant les moteurs de réponse est une décision de visibilité, et elle se mesure. RedReplier suit les fils publics qui nomment une marque, ce qui est exactement ce que veut dire la surveillance des réseaux sociaux en pratique.

Une personne modifie du code sur un ordinateur portable, à côté de la section sur ce qui se passe quand un fichier robots.txt est manquant ou en erreur.

Deux types de crawlers IA, deux décisions
Crawlers d'entraînement
  • GPTBot
  • ClaudeBot
  • Google-Extended
Moteurs de réponse qui citent et renvoient un lien
  • OAI-SearchBot
  • PerplexityBot
  • Claude-SearchBot
Bloque le premier groupe avec Disallow: /, et garde le second explorable en dehors de /cart/ et /account/.

Que se passe-t-il quand robots.txt est absent, énorme ou renvoie une erreur ?

Le statut HTTP décide, et les deux classes d'erreur pointent dans des directions opposées. La RFC 9309 indique que sur un 4xx "le crawler PEUT accéder à n'importe quelle ressource du serveur", et que sur un 5xx "le crawler DOIT supposer une interdiction complète". Un 404 ouvre l'hôte entier et un 503 le ferme, donc une origine en erreur pendant un déploiement met en pause l'exploration de tout. La RFC 9309 fixe aussi une limite d'analyse d'"au moins 500 kibioctets", que Google applique en ignorant le contenu au-delà de 500 KiB, plafonne la réutilisation d'une copie en cache à 24 heures sauf si le fichier est injoignable, ce qui correspond au cache de 24 heures de Google, et demande aux crawlers de suivre "au moins cinq redirections consécutives" avant de traiter le fichier comme indisponible. Vérifiez que votre CDN renvoie 200 pour /robots.txt sur chaque hôte et chaque protocole que vous servez.

robots.txt et llms.txt, est-ce la même chose ?

Non. robots.txt est un standard adossé à une RFC et pris en charge de façon documentée par tous les grands opérateurs de crawlers, tandis que llms.txt est une convention proposée qu'aucune des documentations de crawlers citées ici ne mentionne. Les deux répondent à des questions différentes : robots.txt dit quels chemins un crawler peut récupérer, et llms.txt propose quel contenu un modèle devrait lire en premier.

Aucun des deux fichiers n'est un contrôle juridique. Un crawler qui ignore robots.txt rompt une convention, et savoir si cela bascule dans une collecte illicite dépend des conditions d'utilisation, des contrôles d'accès et de la juridiction. Pour un accès garanti et autorisé aux données d'une plateforme, le choix entre le scraping et une API tranche.

Questions fréquentes

robots.txt garde-t-il une page hors des résultats de recherche ?

Non. L'introduction à robots.txt de Google dit directement que robots.txt "n'est pas un mécanisme permettant de tenir une page web hors de Google". Une URL interdite vers laquelle d'autres sites pointent peut apparaître dans les résultats sous forme d'URL nue sans extrait. Utilisez une balise meta noindex sur une page explorable, ou l'authentification, quand l'objectif est l'exclusion.

L'ordre des lignes dans robots.txt compte-t-il ?

Non. La RFC 9309 tranche les conflits par le nombre d'octets du motif de chemin correspondant, donc Disallow: /blog/drafts/ à 13 octets bat Allow: /blog/ à 6 octets où que les deux lignes se trouvent dans le fichier. L'ordre ne compte que pour le groupement, puisque chaque allow et chaque disallow appartient à la ligne user-agent qui le précède.

Un seul fichier robots.txt couvre-t-il les sous-domaines et les deux protocoles ?

Non. La spécification de Google indique que les règles "s'appliquent uniquement à l'hôte, au protocole et au numéro de port où le fichier robots.txt est hébergé". Un fichier situé sur https://example.com/robots.txt ne dit rien de https://shop.example.com/ ni de la version http. Publiez un fichier distinct sur chaque hôte que vous voulez contrôler.

Puis-je mettre noindex dans robots.txt ?

La spécification robots.txt de Google liste quatre champs que Google lit, user-agent, allow, disallow et sitemap, et noindex n'en fait pas partie. Servez noindex comme balise meta robots dans le head de la page ou comme en-tête HTTP X-Robots-Tag. Les deux exigent que la page reste explorable, donc retirez tout disallow qui la couvre.

robots.txt arrête-t-il les scrapers ?

Non. La RFC 9309 décrit des règles qu'un crawler choisit de suivre, sans mécanisme d'application, donc un scraper qui ignore le fichier récupère les pages quand même. Perplexity le dit ouvertement à propos de son propre fetcher Perplexity-User, qui ignore les règles robots.txt dans la plupart des cas parce qu'un utilisateur a demandé la page. La limitation de débit, l'authentification et les règles WAF sont les contrôles qui font appliquer quelque chose.

Bloquer les crawlers IA nuit-il à la visibilité dans la recherche ?

Bloquer Google-Extended ne nuit pas, d'après la déclaration de Google lui-même selon laquelle cela "n'a pas d'incidence sur l'inclusion d'un site dans la recherche Google et n'est pas utilisé comme signal de classement dans la recherche Google". Bloquer les crawlers de moteurs de réponse est un autre arbitrage : Anthropic indique que bloquer Claude-SearchBot peut réduire la visibilité dans les résultats de recherche de Claude, et OAI-SearchBot et PerplexityBot existent pour faire remonter les sites et les lier. Bloquez les tokens d'entraînement et gardez les tokens de recherche quand les citations comptent pour vous.

Qui a rédigé le RFC 9309 ?

Martijn Koster, Gary Illyes, Henner Zeller et Lizzi Sassman ont rédigé le RFC 9309, le Robots Exclusion Protocol. Le document a atteint le statut Standards Track en septembre 2022. La spécification robots.txt de Google s'appuie sur les mêmes règles et ajoute des champs que le RFC 9309 ne couvre pas, comme sitemap.

Quelle taille un fichier robots.txt peut-il atteindre avant que Google ne l'ignore ?

Le RFC 9309 fixe une limite d'analyse d'au moins 500 kibioctets pour un fichier robots.txt. Google applique cette limite en ignorant tout contenu au-delà des 500 Kio, donc les règles écrites après ce point ne s'appliquent jamais. Garde le fichier court et regroupe la logique dans quelques groupes user-agent plutôt que dans une longue liste.

RedReplier
RedReplier

Commencer

Reddit, X, Bluesky et HN

Alertes d'intention en temps réel

Réponses IA illimitées

Classé par intention d'achat

Bloquer GPTBot bloque-t-il aussi la recherche ChatGPT ?

GPTBot et OAI-SearchBot sont des tokens distincts d'après la documentation d'OpenAI. GPTBot explore le web pour améliorer les modèles de fondation d'OpenAI, tandis qu'OAI-SearchBot fait apparaître des sites dans la recherche ChatGPT. Bloquer seulement GPTBot laisse l'accès à la recherche ChatGPT intact, puisque chaque robot ne lit que son propre groupe user-agent.

Combien de temps Google met-il en cache un fichier robots.txt avant de le revérifier ?

Google met en cache un fichier robots.txt récupéré pendant 24 heures maximum avant de le revérifier, sauf si le fichier devient inaccessible. Le RFC 9309 fixe le même plafond pour les robots génériques. Un changement sur une ligne disallow peut donc mettre près d'une journée à prendre effet, un délai à prévoir lors du déploiement de nouvelles règles de blocage.

Nous voir plus souvent sur Google

Un clic définit RedReplier comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.

Avant de partir...

RedReplier

RedReplier

Repérez chaque acheteur qui cherche ce que vous vendez

RedReplier surveille Reddit, X, Bluesky et Hacker News en temps réel, classe chaque sujet selon l'intention d'achat et rédige votre réponse, pour que vous arriviez en premier.

Reddit, X, Bluesky et HN

Alertes d'intention en temps réel

Réponses IA illimitées

Classé par intention d'achat

Articles connexes