Sommaire de l'article
Un robot IA n'est pas un robot : trois rôles, trois décisions
Un éditeur de modèle de langage n'exploite pas un robot mais une famille d'agents, sans le même rôle, le même rythme ni le même effet sur votre visibilité. Traiter « les robots IA » comme un bloc est l'erreur de départ : elle conduit à des règles uniques qui protègent contre l'entraînement et effacent de la recherche en même temps. Les éditeurs eux-mêmes séparent leurs agents selon trois rôles.
- 1Robots d'entraînement
GPTBot,ClaudeBot,Google-Extended. Passent à grande échelle, sans lien avec une question précise, pour constituer des corpus.Si bloqués : aucun effet sur les réponses de recherche. - 2Robots de recherche IA
OAI-SearchBot,Claude-SearchBot,PerplexityBot,Googlebot,Bingbot. Alimentent l'index où le moteur puise ses sources.Si bloqués : disparition des réponses du moteur. - 3Agents de consultation
ChatGPT-User,Claude-User,Perplexity-User. Visitent une page parce qu'un utilisateur vient de poser une question.Si bloqués : la réponse cite un concurrent ou reste vague.
Ces trois rôles n'ont pas la même temporalité. Un robot d'entraînement collecte des pages qui serviront, des mois plus tard, à un modèle qui ne citera personne. Un robot de recherche IA alimente un index consulté à chaque question ; le bloquer se voit en quelques jours dans votre part de citation. Un agent de consultation arrive une fois, pour une page, parce qu'un utilisateur vient de poser une question qui vous concerne : le bloquer, c'est fermer la porte au moment où quelqu'un frappe.
Ce guide décrit chaque agent, sa lecture du fichier robots.txt et les vérifications à conduire. La politique à adopter (que fermer, pour quels contenus) fait l'objet d'un article séparé : bloquer l'entraînement sans perdre la citation.
Le tableau complet des agents, éditeur par éditeur
Le tableau reprend les agents documentés publiquement par OpenAI, Anthropic, Perplexity, Google et Microsoft : le jeton à écrire dans robots.txt, le rôle déclaré, ce que l'éditeur dit du respect de vos règles, et le moyen d'authentifier une requête. Les chaînes complètes changent de version ; le jeton reste stable.
| Éditeur | Jeton robots.txt | Rôle documenté | Lit le robots.txt ? | Authentification |
|---|---|---|---|---|
| OpenAI | GPTBot | Entraînement des modèles | Oui, documenté | Plages IP publiées |
| OpenAI | OAI-SearchBot | Index de la recherche ChatGPT | Oui, documenté | Plages IP publiées |
| OpenAI | ChatGPT-User | Consultation à la demande | Non garanti : action de l'utilisateur | Plages IP publiées |
| Anthropic | ClaudeBot | Entraînement des modèles | Oui, documenté | Selon la documentation |
| Anthropic | Claude-SearchBot | Index de la recherche Claude | Oui, documenté | Selon la documentation |
| Anthropic | Claude-User | Consultation à la demande | Non garanti : action de l'utilisateur | Selon la documentation |
| Perplexity | PerplexityBot | Index de Perplexity | Oui, documenté | Plages IP publiées |
| Perplexity | Perplexity-User | Consultation à la demande | Non, en général (documenté) | Plages IP publiées |
Googlebot | Index Google, AI Overviews, AI Mode | Oui | Plages IP publiées et DNS inverse | |
Google-Extended | Jeton de contrôle : entraînement de Gemini | Jeton seulement, sans agent propre | Sans objet | |
| Microsoft | Bingbot | Index Bing, Copilot, moteurs partenaires | Oui | Plages IP publiées et DNS inverse |
Tableau : faites défiler horizontalement.
Quatre précisions évitent les lectures hâtives.
Google-Extendedn'est pas un robot. C'est un jeton de contrôle : Google explore avec Googlebot, puis vérifie si le jeton autorise l'usage de la page pour l'entraînement de Gemini. Il n'a aucun effet sur AI Overviews ni sur AI Mode, qui reposent sur l'index classique.- Les agents de consultation ne sont pas des robots d'exploration. OpenAI et Anthropic les décrivent comme déclenchés par une action de l'utilisateur ; Perplexity indique que
Perplexity-Userignore en général lerobots.txt, parce qu'une personne a demandé la page. Traitez-les comme des visiteurs. - Des jetons anciens circulent encore. Des fichiers copiés d'un site à l'autre mentionnent
anthropic-aiouClaude-Web; à notre connaissance, ils ne correspondent plus aux agents documentés par Anthropic et ne bloquent rien. Bingbotpèse plus qu'il n'y paraît. Son index alimente Copilot et plusieurs moteurs de réponse tiers ; l'exclure, c'est sortir de plus d'une interface.
D'autres éditeurs suivent le même modèle, avec la même séparation entre collecte et consultation. Les plus fréquents dans les journaux de sites français sont les suivants.
| Éditeur | Jetons | Rôle documenté |
|---|---|---|
| Apple | Applebot, Applebot-Extended | Recherche Siri et Spotlight ; jeton de contrôle pour l'entraînement des modèles Apple |
| Meta | Meta-ExternalAgent, Meta-ExternalFetcher | Entraînement et amélioration des produits ; consultation à la demande d'un utilisateur |
| Common Crawl | CCBot | Corpus public, réutilisé par de nombreux laboratoires pour l'entraînement |
| Amazon | Amazonbot | Alexa et services Amazon |
| DuckDuckGo | DuckAssistBot | Réponses générées de DuckDuckGo |
Tableau : faites défiler horizontalement.
Reconnaître un vrai robot : la chaîne User-Agent et l'adresse IP
Un robot se présente par une chaîne User-Agent envoyée avec chaque requête. Le robots.txt ne compare pas cette chaîne entière, mais le jeton produit qu'elle contient. Savoir la lire évite deux erreurs symétriques : bloquer un agent que l'on croyait autoriser, et se fier à une chaîne que n'importe qui peut imiter.
N'importe quel client HTTP peut déclarer cette chaîne. Un extracteur de contenu qui se fait passer pour GPTBot est banal, et une règle fondée sur la seule chaîne ne l'arrête pas ; à l'inverse, un robot authentique qui reçoit une erreur 403 ne reviendra pas discuter. La vérification fiable passe par l'adresse IP. OpenAI publie une liste d'adresses distincte pour chacun de ses trois agents, Perplexity fait de même, Google et Microsoft publient leurs plages et acceptent la résolution DNS inverse. Pour Anthropic, reportez-vous à la documentation en vigueur.
Conséquence pratique : le robots.txt s'adresse aux robots honnêtes, et ce sont précisément ceux qui vous citeront. La lutte contre les imitateurs relève du pare-feu et du CDN, avec les risques d'excès que décrit notre article sur les blocages involontaires. L'un exprime une politique, l'autre l'impose.
Comment un robot lit votre robots.txt
Le protocole a été formalisé en 2022 par la RFC 9309, qui reprend pour l'essentiel ce que Google et Bing appliquaient déjà. Les éditeurs d'IA déclarent respecter le fichier sans toujours documenter la grammaire qu'ils implémentent ; écrivez donc des règles que tous les analyseurs lisent de la même façon. Un robot conforme procède en cinq étapes.
- 01TéléchargementUn fichier par hôte et par protocole, mis en cache jusqu'à vingt-quatre heures. Un 404 vaut autorisation totale ; un 5xx, interdiction totale.
- 02Choix du groupeLe robot cherche le groupe qui porte son jeton. S'il existe, il n'applique que celui-là ; le groupe * est ignoré. Aucun héritage.
- 03Comparaison des cheminsChaque règle du groupe est comparée à l'URL, en distinguant les majuscules. * remplace toute séquence, $ marque la fin.
- 04DécisionLa règle la plus longue l'emporte, quel que soit son ordre. À longueur égale, Allow gagne. Sans règle applicable, l'accès est permis.
- 05Requête ou abandonL'URL est demandée ou écartée. Une URL écartée peut rester connue du moteur, sans contenu.
Trois points de cette séquence expliquent la majorité des erreurs. Le choix du groupe, d'abord : un robot qui trouve un groupe à son nom n'applique que celui-là et ignore entièrement le groupe *. Les règles ne s'héritent pas. Si vous créez un groupe OAI-SearchBot pour l'autoriser explicitement, répétez-y les exclusions du groupe général, faute de quoi l'agent explorera votre panier, votre espace client et votre recherche interne.
La comparaison des chemins, ensuite. Entre plusieurs règles qui correspondent à une URL, la plus longue l'emporte, pas la première écrite ; à longueur égale, Allow prend le dessus. Les chemins distinguent les majuscules, les jetons d'agent non. Disallow: /blog bloque aussi /blog-de-la-marque/ et /blogueurs : la barre oblique finale n'est pas un détail.
Le téléchargement, enfin. Le fichier est lu par hôte et par protocole : https://www.exemple.fr et https://exemple.fr ont chacun le leur, comme chaque sous-domaine. Un 404 vaut autorisation totale ; une erreur 5xx ou un délai dépassé, interdiction totale tant que le fichier reste inaccessible. Le cache, généralement de vingt-quatre heures, retarde toute correction : un test réussi une minute après la mise en ligne ne prouve rien.
Un fichier robots.txt commenté, ligne par ligne
L'exemple ci-dessous applique ces règles à un site marchand ordinaire. Il n'est pas une recommandation de politique, mais une démonstration de syntaxe correcte : chaque groupe est autonome, les exclusions communes sont répétées, et les jetons sont exacts.
# Groupe général : tout robot sans groupe à son nom
User-agent: *
Disallow: /panier/
Disallow: /compte/
Disallow: /recherche
Disallow: /*?tri=
Disallow: /*.pdf$
# Robots de recherche IA : accès complet, exclusions répétées
# (un groupe nommé n'hérite rien du groupe *)
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
Disallow: /panier/
Disallow: /compte/
Disallow: /recherche
Disallow: /*?tri=
# Robots d'entraînement : décision d'entreprise, ici fermée
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: CCBot
Disallow: /
# Agents de consultation à la demande : pas de groupe ;
# ils relèvent du groupe * s'ils lisent le fichier
Sitemap: https://www.exemple.fr/sitemap.xml
Quelques choix méritent une explication. La ligne Allow: / du groupe de recherche est redondante, puisque tout est autorisé par défaut ; elle documente une intention et évite qu'un collègue pressé ajoute un Disallow: / sans comprendre le groupe. Les exclusions du panier et du compte y sont répétées parce que ce groupe ne recevra rien de *. Le groupe d'entraînement est fermé ; il pourrait être ouvert, c'est une décision d'entreprise, pas de syntaxe. Les agents de consultation n'ont pas de groupe : ils relèveront de * s'ils lisent le fichier. Googlebot et Bingbot, absents, relèvent aussi du groupe général.
Le fichier tient en une trentaine de lignes. Un robots.txt de plusieurs centaines de lignes, hérité de dix ans de correctifs, est presque toujours faux quelque part ; la RFC fixe d'ailleurs une taille de 500 kilooctets au-delà de laquelle un robot peut ignorer la suite.
Les huit erreurs que nous rencontrons le plus souvent
Ces erreurs reviennent dans nos audits, sur des sites de toutes tailles. Aucune n'apparaît dans un rapport de positions Google ; toutes se corrigent en une journée une fois identifiées.
- Le modèle « anti-IA » copié tel quel. Vingt jetons trouvés en ligne, tous en
Disallow: /, qui mêlentOAI-SearchBot,PerplexityBotetClaude-SearchBotaux robots d'entraînement. Le site sort des réponses en quelques jours. - Le groupe spécifique sans ses exclusions. Créé pour un agent, il n'hérite plus des règles de
*et ouvre les URL techniques que le groupe général fermait. - Le jeton approximatif.
ChatGPT,OpenAI,Claude,Perplexity: aucun robot ne porte ces noms. La règle ne s'applique à rien. - L'ordre pris pour une priorité. Un
Allowplacé avant unDisallowplus long, dans l'idée que la première règle gagne ; c'est la plus longue qui s'applique. - L'hôte oublié. Le fichier corrigé sur
www, mais pas sur le domaine nu ni sur le sous-domaine de la boutique, chacun ayant le sien. - Le fichier inaccessible. Redirection vers l'accueil, défi anti-robot du CDN ou erreur 503 sur
/robots.txt: un robot conforme en déduit une interdiction complète. Google-Extendedpris pour un levier de visibilité. Ajouté ou retiré dans l'espoir d'entrer dans AI Overviews ; il ne concerne que l'entraînement de Gemini.Crawl-delayattendu de tous. Google l'ignore et, à notre connaissance, aucun éditeur d'IA ne documente son respect ; la limitation de débit se règle côté serveur ou CDN.
Le fichier robots.txt est souvent généré par le CMS, un module de référencement ou le CDN, et la version en ligne ne correspond pas toujours à celle du dépôt de code. Vérifiez ce que le serveur renvoie, pas ce que le fichier contient.
Ce que le robots.txt ne règle pas, et comment vérifier le reste
Le robots.txt exprime une demande d'accès ; il ne fait rien d'autre. Il ne désindexe pas une URL déjà connue. Il n'efface pas ce qu'un robot d'entraînement a déjà collecté. Il n'arrête pas un agent qui a décidé de ne pas le lire. Et il ne garantit pas que la page autorisée soit lisible : un pare-feu peut la refuser en amont, et un contenu chargé en JavaScript reste invisible même pour un robot bienvenu, comme l'explique notre article sur le rendu JavaScript. Le fichier est la première des quatre conditions de notre méthode pour être cité ; il ne dispense d'aucune des trois autres.
Pour contrôler les extraits plutôt que l'accès, d'autres instruments existent : la balise noindex, les directives nosnippet et max-snippet, l'attribut data-nosnippet, que Google documente comme s'appliquant aussi à ses fonctionnalités d'IA. Ils agissent page par page, chez les seuls éditeurs qui les reconnaissent.
- Jour 1Inventaire
- Liste des hôtes : www, domaine nu, sous-domaines, CDN de ressources
- Fichier réellement servi par chacun, et par qui il est généré
- Règles du CDN et du pare-feu qui s'appliquent avant lui
- Semaine 1Réécriture et test
- Groupes par rôle, jetons exacts, exclusions répétées
- Test avec un analyseur conforme à la RFC 9309
- Commandes curl par agent sur dix pages clés
- Semaines 2 à 4Observation
- Journaux serveur : passage et codes de réponse par agent
- Panel de questions : évolution de la part de citation
- Correction des hôtes et des règles oubliés
Le contrôle manuel tient en trois commandes. La première vérifie que le fichier répond correctement ; les deux suivantes demandent la même page avec la chaîne d'un navigateur puis avec celle d'un robot de recherche IA, et comparent code de réponse et taille reçue. Deux réponses 200 de taille comparable sont le résultat attendu ; un 403, un 429 ou une page de quelques kilooctets pour le seul robot signale un blocage en amont du robots.txt.
# 1. Le fichier répond-il en 200, sans redirection ni défi ?
curl -sI https://www.exemple.fr/robots.txt | head -n 1
# 2. La page vue par un navigateur : code et taille
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" \
-A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/124.0 Safari/537.36" \
https://www.exemple.fr/guide/
# 3. La même page vue par un robot de recherche IA
curl -s -o /dev/null -w "%{http_code} %{size_download}\n" \
-A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot" \
https://www.exemple.fr/guide/
Ces commandes reproduisent la chaîne d'agent, pas l'adresse IP d'origine : un blocage fondé sur la réputation de l'adresse ne se verra pas depuis votre poste. Le juge de paix reste le journal du serveur, où le passage réel de chaque agent se lit avec sa date, son code de réponse et ses pages. Le sitemap et les dates de mise à jour, traités dans un article dédié, disent ensuite aux robots autorisés quoi lire en priorité.
Ce qu'il faut retenir
- Chaque éditeur exploite plusieurs agents, en trois rôles : entraînement, recherche, consultation à la demande. Une règle unique confond les trois.
- Le robots.txt compare un jeton produit, pas la chaîne complète ; les jetons approximatifs (« ChatGPT », « Claude ») ne bloquent rien.
- Un robot applique le seul groupe qui porte son nom, sans hériter du groupe * ; entre deux règles, la plus longue l'emporte.
- Un fichier en erreur 5xx ou derrière un défi vaut interdiction totale ; un 404, autorisation totale ; le cache retarde toute correction.
- Une chaîne User-Agent s'imite ; l'authenticité se vérifie par les adresses IP publiées par l'éditeur, et le passage réel se lit dans les journaux.
Questions fréquentes
Faut-il un groupe par robot ou une règle commune dans le robots.txt ?
Un groupe par rôle, pas par robot : un groupe pour les robots de recherche IA, un pour les robots d'entraînement, et le groupe général pour le reste. Plusieurs lignes User-agent peuvent partager les mêmes règles. Une règle commune à tous les agents IA est l'erreur la plus coûteuse, parce qu'elle applique aux moteurs qui vous citent la décision prise contre l'entraînement.
Un robots.txt peut-il retirer une page déjà citée par ChatGPT ou Perplexity ?
Indirectement, et avec délai. Une fois l'accès refusé au robot de recherche, la page n'est plus rafraîchie dans l'index et finit par ne plus être retenue comme source, mais le moment exact n'est pas documenté par les éditeurs. Le fichier n'efface rien de ce qui a déjà été collecté, et il ne retire pas non plus les mentions de votre marque présentes sur des sites tiers.
Comment savoir si une requête GPTBot est authentique ?
Par l'adresse IP, pas par la chaîne User-Agent, que n'importe quel client peut copier. OpenAI publie les plages d'adresses de chacun de ses agents ; une requête qui se déclare GPTBot depuis une adresse hors de ces plages est un imitateur. Google et Microsoft acceptent en plus la résolution DNS inverse. Cette vérification se fait dans les journaux serveur ou dans les règles du CDN, jamais dans le robots.txt.
Bloquer Google-Extended suffit-il pour sortir d'AI Overviews ?
Non. Google-Extended est un jeton de contrôle qui ne concerne que l'utilisation de vos pages pour l'entraînement de Gemini. AI Overviews et AI Mode s'appuient sur Googlebot et sur l'index classique. Pour limiter l'usage d'une page dans ces réponses, Google documente les directives nosnippet, max-snippet et data-nosnippet, et la balise noindex retire la page de l'ensemble de la recherche, réponses IA comprises.
Que se passe-t-il si mon robots.txt renvoie une erreur ?
Tout dépend du code. Une réponse 404 est interprétée par un robot conforme comme une absence de restriction : tout est explorable. Une erreur 5xx, un délai dépassé ou un défi anti-robot sont interprétés comme une interdiction totale, tant que le fichier reste inaccessible. Un fichier robots.txt qui tombe en panne ferme donc le site aux moteurs sans qu'aucun message ne vous prévienne ; sa disponibilité doit être surveillée comme celle de la page d'accueil.


