Deux décisions, pas une
Le robots.txt répond à deux questions distinctes pour une entreprise d’IA, et chacune les pose avec des robots différents :
- Mes pages peuvent-elles servir à entraîner vos modèles ? Ce sont GPTBot, ClaudeBot, Google-Extended, Applebot-Extended et, indirectement, CCBot. Dire non tient les contenus futurs hors des données d’entraînement. Cela ne change rien à ce qu’un assistant trouve quand il cherche aujourd’hui.
- Votre assistant peut-il trouver et citer mes pages quand quelqu’un pose une question ? Ce sont OAI-SearchBot, Claude-SearchBot et PerplexityBot, plus les agents qui ouvrent une page pour une personne (ChatGPT-User, Claude-User, Perplexity-User). Dire non aux robots de recherche retire le site des réponses.
La plupart des entreprises veulent figurer dans les réponses, car c’est là que les acheteurs demandent désormais des recommandations. Céder ses pages pour l’entraînement est un choix propre à chaque site. Les deux se règlent séparément, et OpenAI le dit en toutes lettres : chaque réglage est indépendant des autres.
| Robot | Opérateur | Rôle | Le bloquer signifie |
|---|---|---|---|
GPTBot | OpenAI | Entraînement | Le contenu n’est pas utilisé pour entraîner les modèles de fondation d’OpenAI |
OAI-SearchBot | OpenAI | Index de recherche | Le site n’apparaît pas dans les réponses de recherche de ChatGPT |
ChatGPT-User | OpenAI | Requête pour un utilisateur | Le robots.txt peut ne pas s’appliquer ; OpenAI ne s’en sert pas pour la recherche |
ClaudeBot | Anthropic | Entraînement | Les contenus futurs sont exclus des données d’entraînement |
Claude-SearchBot | Anthropic | Index de recherche | Le contenu n’est pas indexé pour la recherche de Claude ; moins de visibilité dans ses réponses |
Claude-User | Anthropic | Requête pour un utilisateur | Claude ne peut pas récupérer la page quand un utilisateur la demande |
PerplexityBot | Perplexity | Index de recherche | Perplexity ne peut pas afficher ni lier le site dans ses résultats |
Perplexity-User | Perplexity | Requête pour un utilisateur | Ignore en général le robots.txt, puisqu’un utilisateur a demandé la page |
Google-Extended | Entraînement et ancrage | Pas d’usage pour l’entraînement ou l’ancrage de Gemini ; la recherche Google n’est pas touchée | |
Applebot-Extended | Apple | Entraînement | Pas d’usage pour entraîner les modèles de fondation d’Apple ; la recherche d’Apple n’est pas touchée |
CCBot | Common Crawl | Archive ouverte du web | Le site reste hors de l’archive ouverte de Common Crawl |
OpenAI : GPTBot, OAI-SearchBot et ChatGPT-User
GPTBot est le robot d’entraînement d’OpenAI. L’exclure indique, selon OpenAI, que le contenu d’un site ne doit pas servir à entraîner des modèles de fondation d’IA générative (OpenAI).
OAI-SearchBot est celui qui compte pour les réponses de ChatGPT. OpenAI indique que les sites qui excluent OAI-SearchBot ne seront pas affichés dans les réponses de recherche de ChatGPT, même s’ils peuvent encore apparaître comme liens de navigation, et recommande d’autoriser ce robot. Une modification du robots.txt met environ 24 heures à être prise en compte.
ChatGPT-User n’est pas un robot d’exploration au sens habituel. Il récupère des pages pour des actions lancées par un utilisateur dans ChatGPT ou un GPT personnalisé, n’explore pas le web automatiquement, et comme une personne l’a demandé, les règles du robots.txt peuvent ne pas s’appliquer. OpenAI précise aussi que ChatGPT-User ne sert pas à décider si un contenu peut apparaître dans la recherche : c’est le rôle d’OAI-SearchBot.
Anthropic : ClaudeBot, Claude-SearchBot et Claude-User
Anthropic décrit trois agents sur une seule page (Anthropic) :
- ClaudeBot collecte des contenus du web qui peuvent servir à l’entraînement. Le restreindre signale que les futurs contenus du site doivent être exclus des données d’entraînement.
- Claude-SearchBot explore le web pour améliorer la qualité des résultats de recherche des utilisateurs de Claude. Le désactiver empêche l’indexation de votre contenu pour la recherche, ce qui, selon Anthropic, peut réduire la visibilité de votre site dans les résultats.
- Claude-User ouvre des pages quand une personne pose une question à Claude. Le désactiver empêche Claude de récupérer votre contenu en réponse à une demande d’utilisateur.
Anthropic indique que ses robots respectent le robots.txt et l’extension non standard Crawl-delay, et que bloquer ses adresses IP peut ne pas fonctionner de façon fiable : le robots.txt est donc la bonne méthode. L’exclusion doit aussi être posée sur chaque sous-domaine.
Perplexity : PerplexityBot et Perplexity-User
PerplexityBot fait apparaître et lie des sites dans les résultats de recherche de Perplexity, et Perplexity affirme qu’il ne sert pas à collecter des contenus pour des modèles de fondation (Perplexity). Il n’y a donc aucune raison liée à l’entraînement de le bloquer : le bloquer ne fait que retirer le site de l’endroit où Perplexity cherche ses réponses. Perplexity recommande de l’autoriser dans le robots.txt et d’accepter les requêtes venant de ses plages d’IP publiées.
Perplexity-User récupère une page quand un utilisateur pose une question et peut la lier dans la réponse. Comme un utilisateur a demandé la page, il ignore en général les règles du robots.txt, selon Perplexity. Il ne sert pas non plus à l’entraînement.
Google et Apple : les jetons « -Extended »
Google-Extended n’est pas un robot du tout. Il n’a pas d’agent utilisateur propre : Google explore avec ses agents habituels, et le jeton du robots.txt ne règle que l’usage. Il décide si le contenu peut servir à entraîner les modèles Gemini et à l’ancrage dans les applications Gemini et sur Vertex AI. Google affirme qu’il n’influe pas sur l’inclusion d’un site dans la recherche Google et n’est pas un signal de classement (Google).
Ce que Google-Extended ne contrôle pas, ce sont les AI Overviews et le AI Mode. Ils font partie de la recherche, et Google indique que le contrôle est le contrôle habituel : les règles du robots.txt pour Googlebot, et nosnippet, data-nosnippet, max-snippet ou noindex pour limiter ce qui est affiché. Il n’y a pas d’exigence technique supplémentaire pour y figurer (Google Search Central). Le robots.txt seul ne permet donc pas de rester dans la recherche Google tout en sortant des AI Overviews, et bloquer Googlebot pour éviter les AI Overviews retire le site de la recherche Google.
Applebot-Extended fonctionne de la même façon. Il n’explore pas de pages ; il décide si ce qu’Applebot a collecté peut servir à entraîner les modèles de fondation d’Apple. Les pages qui l’excluent peuvent toujours apparaître dans les résultats de recherche de Spotlight, Siri et Safari, et la règle n’entre pas dans le classement (Apple).
CCBot construit l’archive ouverte du web de Common Crawl (Common Crawl). Common Crawl ne le présente pas comme un robot d’IA, mais l’archive est ouverte à tous, et dans notre étude CCBot était le robot que les sites excluaient le plus souvent par son nom.
Un robots.txt à copier
Dans les réponses, hors de l’entraînement. Le réglage voulu par la plupart des entreprises soucieuses de l’entraînement. Les robots de recherche et d’utilisateur ne sont pas nommés, donc le groupe * les laisse entrer ; les jetons d’entraînement sont fermés :
User-agent: GPTBot User-agent: ClaudeBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot Disallow: / User-agent: * Disallow: /admin/
Plusieurs lignes User-agent peuvent partager un même groupe de règles, comme le permet la norme du robots.txt (RFC 9309).
Ouvert à tout. Si vos pages peuvent aussi servir à l’entraînement, aucune ligne propre à l’IA n’est nécessaire. Un fichier simple suffit :
User-agent: * Disallow: /admin/ Sitemap: https://www.example.com/sitemap.xml
Hors des assistants IA, toujours dans la recherche Google. C’est possible, mais cela a un prix : le site disparaît des réponses de ChatGPT, Claude et Perplexity. Les AI Overviews et le AI Mode de Google ne se ferment pas ainsi, car ils suivent Googlebot.
User-agent: GPTBot User-agent: OAI-SearchBot User-agent: ChatGPT-User User-agent: ClaudeBot User-agent: Claude-SearchBot User-agent: Claude-User User-agent: PerplexityBot User-agent: Google-Extended User-agent: Applebot-Extended User-agent: CCBot Disallow: / User-agent: * Disallow: /admin/
Les agents d’utilisateur (ChatGPT-User, Perplexity-User) peuvent ne pas suivre le fichier, comme le disent leurs opérateurs : même ce réglage ne garantit pas qu’une page ne sera jamais ouverte pour un utilisateur.
Les erreurs qui ferment la porte par accident
- Un groupe nommé remplace le groupe général. Selon la norme, un robot qui trouve un groupe à son nom n’obéit qu’à ce groupe et ignore le groupe
*. Si vous ajoutez un groupeUser-agent: OAI-SearchBotavec une seule règle, vos autres règles ne s’appliquent plus à ce robot. Répétez dans le groupe nommé tout ce qui doit rester valable. - Un robots.txt en erreur. Quand le fichier répond par une erreur serveur 5xx, la norme demande aux robots de considérer que tout est interdit. Un 404 signifie l’inverse : tout est autorisé (RFC 9309).
- Le pare-feu dit non quand le robots.txt dit oui. Une protection anti-robots au niveau du CDN ou de l’hébergeur peut refuser les agents qu’elle ne connaît pas. Dans notre analyse de 23 411 sites d’entreprise, 2,5 % étaient fermés à la recherche de ChatGPT, et 407 sites refusaient une requête se présentant comme OAI-SearchBot tout en servant la même page à un navigateur. Pour 396 d’entre eux, le robots.txt autorisait ce robot.
- Bloquer le robot de recherche pour arrêter l’entraînement. Dans la même étude, les sites nommaient les robots d’entraînement bien plus souvent que les robots de recherche : GPTBot était exclu par son nom sur 1,17 % des sites, OAI-SearchBot sur 0,11 %. La plupart des sites qui nomment des robots font la distinction ; vérifiez que le vôtre aussi.
- Oublier les sous-domaines. Le robots.txt s’applique à un seul hôte. Un blog sur
blog.example.comou une documentation surdocs.example.coma besoin de son propre fichier.
Vérifier ce que dit vraiment votre site
Notre test des robots IA gratuit lit votre robots.txt comme la norme l’impose aux robots, affiche le verdict pour chacun des robots ci-dessus avec la ligne qui en décide, et demande votre page d’accueil en tant qu’OAI-SearchBot, Claude-SearchBot et PerplexityBot pour repérer un pare-feu qui les refuse. Il ne demande pas de compte et ne conserve rien.
Dans Teddit, le robots.txt de chaque site suivi est lu chaque nuit, et quand l’accès d’un robot change, le tableau indique ce qu’il était (Accès des robots IA). L’accès n’est toutefois que la porte : qu’un assistant vous nomme ensuite est une autre question, traitée dans Comment un assistant IA décide quelles marques citer.
Sources
- Overview of OpenAI crawlers, OpenAI : GPTBot, OAI-SearchBot et ChatGPT-User.
- Does Anthropic crawl data from the web, and how can site owners block the crawler?, Anthropic : ClaudeBot, Claude-SearchBot et Claude-User.
- Perplexity crawlers, Perplexity : PerplexityBot et Perplexity-User.
- Google’s common crawlers, Google : Google-Extended.
- AI features and your website, Google Search Central : AI Overviews et AI Mode.
- About Applebot, Apple : Applebot et Applebot-Extended.
- CCBot, Common Crawl.
- RFC 9309: Robots Exclusion Protocol, IETF.