Autoriser ou refuser un robot d'intelligence artificielle se décide dans robots.txt, robot par robot, et la décision dépend de ce que le robot fait de vos pages : les lire pour répondre à un utilisateur, ou les copier pour entraîner un modèle. Faut-il bloquer GPTBot ou ClaudeBot ? Cette page passe en revue les seize robots que notre test GEO vérifie, ce que chaque éditeur documente, et le groupe robots.txt que nous livrons sur ce site.
1. Seize robots, deux rôles
Ce que le fournisseur documente. OpenAI sépare trois robots. OAI-SearchBot est « utilisé pour faire apparaître des sites dans les résultats des fonctions de recherche de ChatGPT », et « les sites qui ont refusé OAI-SearchBot ne seront pas montrés dans les réponses de recherche de ChatGPT ». GPTBot « sert à rendre nos modèles de fondation plus utiles et plus sûrs » : le refuser « indique que le contenu du site ne doit pas être utilisé pour entraîner » ces modèles. ChatGPT-User « sert à certaines actions des utilisateurs dans ChatGPT » et « n'est pas utilisé pour explorer le web automatiquement » (OpenAI, robots et crawlers).
Ce que nous recommandons. Cette séparation vaut pour tous les éditeurs, et c'est elle qui structure notre liste : un robot de réponse lit une page pour la citer dans une réponse, un robot d'entraînement la copie pour un modèle futur. Refuser les seconds est un choix éditorial légitime ; refuser les premiers, c'est renoncer à être cité. Le test GEO pèse les deux différemment : les robots de réponse comptent pour l'essentiel de la dimension, les robots d'entraînement pour une part minoritaire.
| Jeton robots.txt | Éditeur | Rôle |
|---|---|---|
GPTBot | OpenAI | Entraînement |
OAI-SearchBot | OpenAI | Réponse |
ChatGPT-User | OpenAI | Réponse |
ClaudeBot | Anthropic | Entraînement |
Claude-User | Anthropic | Réponse |
Claude-SearchBot | Anthropic | Réponse |
PerplexityBot | Perplexity | Réponse |
Perplexity-User | Perplexity | Réponse |
Google-Extended | Entraînement | |
GoogleOther | Entraînement | |
CCBot | Common Crawl | Entraînement |
Amazonbot | Amazon | Réponse |
Applebot-Extended | Apple | Entraînement |
meta-externalagent | Meta | Entraînement |
Bytespider | ByteDance | Entraînement |
MistralAI-User | Mistral AI | Réponse |
Seize jetons, 8 robots de réponse et 8 d'entraînement : c'est la liste exacte que le test vérifie, tirée de sa configuration. Le rôle attribué suit la documentation de l'éditeur quand elle existe, et le comportement observé sinon.
2. Ce que chaque éditeur documente
Ce que le fournisseur documente. Anthropic décrit trois robots : ClaudeBot « contribue à l'utilité et à la sûreté de nos modèles génératifs en collectant du contenu web qui pourrait servir à leur entraînement », Claude-User « soutient les utilisateurs de Claude : quand une personne pose une question, il peut accéder à des sites web », et Claude-SearchBot « parcourt le web pour améliorer la qualité des résultats de recherche ». Chacun se refuse par un groupe User-agent dédié, et « les robots d'Anthropic respectent les signaux robots.txt standard ». Les adresses IP sont publiées dans un fichier JSON (Anthropic, exploration du web).
Ce que nous recommandons. Lire la documentation de l'éditeur avant de trancher, et la relire : le jeton anthropic-ai, encore présent dans beaucoup de fichiers, n'apparaît plus dans la page d'Anthropic. Nous le gardons dans notre groupe partagé par prudence, parce qu'une ligne de plus ne coûte rien, mais nous ne lui attribuons aucun rôle. Un robot absent de toute documentation, comme Bytespider, reçoit une ligne déclarative et rien d'autre : nous n'affirmons pas qu'il la lit.
3. Les robots qui ne lisent pas robots.txt
Ce que le fournisseur documente. Perplexity distingue PerplexityBot, qui « fait apparaître et relie des sites dans les résultats de recherche de Perplexity », n'est pas utilisé pour l'entraînement et respecte robots.txt, de Perplexity-User, qui « peut visiter une page web pour fournir une réponse précise » quand un utilisateur le demande : « comme un utilisateur a demandé la récupération, ce fetcher ignore généralement les règles robots.txt ». Les plages d'adresses des deux sont publiées au format JSON (Perplexity, crawlers).
Ce que nous recommandons. Les fetchers déclenchés par un utilisateur, Perplexity-User, ChatGPT-User, Claude-User, se comportent comme un navigateur qu'une personne pilote : robots.txt n'est pas leur mécanisme de contrôle. Si vous voulez vraiment qu'une page ne soit pas lue par un assistant, la seule barrière fiable est l'authentification. Pour tout le reste, laissez-les entrer : une réponse qui cite votre page est exactement ce que vous cherchez.
4. Le groupe robots.txt que nous livrons
Ce que le fournisseur documente. Le protocole d'exclusion des robots, RFC 9309, fixe la lecture du fichier : le robot cherche « le groupe qui correspond à son jeton de produit », sans distinction de casse, et « doit obéir au groupe avec la valeur * » quand aucun groupe ne lui correspond. Quand « plus d'un groupe correspond à l'agent, les règles des groupes correspondants doivent être combinées en un seul groupe ». Entre deux règles, « la correspondance la plus spécifique doit être utilisée », celle qui a le plus d'octets. Et le texte le dit sans détour : « ces règles ne sont pas une forme d'autorisation d'accès » (RFC 9309).
Ce que nous recommandons. Un seul groupe, où tous les jetons nommés s'empilent au-dessus de * et partagent les mêmes règles. La raison est dans la RFC : un robot qui trouve un groupe à son nom n'applique que celui-là. Donner à GPTBot son propre groupe avec un simple Allow: / annule, pour lui seul, toutes les interdictions du groupe général, zones d'administration comprises. L'empilement évite cette dérive : une interdiction ajoutée plus tard vaut pour tous.
Comment le corriger
Le fichier servi sur ce site, abrégé : chaque robot est nommé, commenté, et partage les règles de *.
# Un groupe partagé : chaque robot IA nommé, puis le joker.
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-User
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
User-agent: GoogleOther
User-agent: CCBot
User-agent: Amazonbot
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: Bytespider
User-agent: MistralAI-User
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /fr/test-geo/fragment
Sitemap: https://seoforge.fr/sitemap.xml
Ce que nous avons fait sur seoforge.fr
Le fichier ci-dessus est le nôtre, à quelques lignes techniques près. Un test automatisé interdit qu'un robot IA reçoive un groupe séparé par accident, et le test GEO, lancé sur notre propre page d'accueil, rapporte « Crawlers de réponse IA autorisés : 8 sur 8 ».
5. Bloquer ou autoriser : refuser l'entraînement, garder la réponse
Ce que le fournisseur documente. Google publie un jeton à part pour l'IA : Google-Extended « est un jeton de produit autonome que les éditeurs peuvent utiliser pour gérer si le contenu que Google explore sur leurs sites peut servir à entraîner les futures générations de modèles Gemini » et « pour l'ancrage », c'est-à-dire fournir du contenu de l'index au modèle au moment de la réponse. Surtout : « Google-Extended n'a pas d'impact sur l'inclusion d'un site dans la recherche Google et n'est pas utilisé comme signal de classement ». GoogleOther est « le crawler générique » des équipes produit, sans effet sur un produit précis (Google, crawlers communs).
Ce que nous recommandons. Refuser un robot d'entraînement sans toucher aux robots de réponse est le cas le plus fréquent que nous rencontrons, et il se règle en trois lignes : sortir le jeton du groupe partagé et lui donner son propre groupe avec Disallow: /. Le robot refusé n'hérite plus des règles communes, ce qui est sans conséquence puisqu'il ne lit plus rien. Ne refusez jamais un robot de réponse « pour voir » : l'effet documenté par OpenAI est de disparaître des réponses.
Comment le corriger
# Refuser l'entraînement OpenAI et Anthropic, garder la réponse
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /
# Tous les autres robots nommés restent dans le groupe partagé avec *
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: *
Allow: /
Disallow: /admin/
Comment le vérifier
Lancez le test GEO sur votre page d'accueil : la dimension « Accès des crawlers IA » affiche « Crawlers de réponse IA autorisés : x sur 8 » et « Crawlers d'entraînement autorisés : x sur 8 (bloqués par choix : …) », puis « Fichier robots.txt lu et conforme » et « Notre crawler (SEOForge-GEO-Test) autorisé sur la page d'accueil ». Un robot d'entraînement refusé volontairement est signalé en information, pas en erreur. En ligne de commande, la même vérification tient en une requête par robot : curl -A "GPTBot" -sI https://votre-site.fr/ renvoie la page, parce que robots.txt ne bloque rien par lui-même ; c'est le fichier qu'il faut lire, pas la réponse HTTP. Un 403 sur cette requête vient d'ailleurs : du CDN ou du pare-feu, sujet de notre guide Cloudflare.
Pour aller plus loin
Cette page détaille la première dimension du guide du référencement IA. Quand le fichier est correct mais que le robot reçoit quand même un 403, lisez Cloudflare et les robots IA ; pour prouver depuis l'extérieur ce que chaque robot reçoit, vérifier l'accès de ChatGPT à votre site. Si le fichier est en place et que vous restez absent des réponses, l'Audit GEO reprend les six dimensions sur vos pages prioritaires et lit vos journaux serveur.
Questions fréquentes
Faut-il bloquer les robots d'entraînement ? C'est un choix éditorial, pas une règle. Refuser GPTBot ou ClaudeBot retire vos pages des corpus d'entraînement futurs, selon ce que chaque éditeur documente, et n'a aucun effet documenté sur les robots de réponse tant qu'ils gardent leur propre autorisation. Ce qu'il ne faut jamais faire, c'est refuser un robot de réponse : OpenAI documente que le site disparaît alors des réponses de recherche de ChatGPT.
Quel user-agent utilise ChatGPT ? Trois, documentés par OpenAI : OAI-SearchBot pour la recherche ChatGPT, ChatGPT-User pour les pages ouvertes à la demande d'un utilisateur, GPTBot pour l'entraînement. Le test GEO les vérifie tous les trois dans votre robots.txt.