robots.txt pour les crawlers IA : autoriser ou bloquer GPTBot, ClaudeBot et PerplexityBot
Réponse courte : Un robots.txt pour les crawlers IA décide, robot par robot, si un système d’IA peut lire votre site. Il existe trois familles de robots : ceux qui entraînent des modèles (GPTBot, ClaudeBot), ceux qui servent la recherche (OAI-SearchBot, Claude-SearchBot, PerplexityBot) et ceux qui consultent une page parce qu’un utilisateur le demande (ChatGPT-User, Claude-User). Pour pouvoir être cité dans les réponses de recherche IA, autorisez les robots de recherche ; autoriser ou non l’entraînement relève de votre seule décision. Un petit fichier règle tout cela, mais une petite erreur dans sa construction suffit à rendre les règles inopérantes.
Pourquoi le robots.txt pour les crawlers IA ne se résume pas à une règle
User-agent: * suffisait autrefois. Avec l’IA, c’est trop grossier, car une même entreprise fait tourner des robots différents pour des tâches différentes. OpenAI le dit elle-même : chaque réglage est indépendant des autres. Vous pouvez autoriser OAI-SearchBot pour que votre site puisse apparaître dans les résultats de recherche de ChatGPT, et interdire GPTBot pour que vos contenus ne soient pas destinés à l’entraînement des modèles de fondation d’OpenAI (OpenAI).
Autrement dit, bloquer seulement GPTBot dans l’espoir de disparaître de ChatGPT n’a pas l’effet attendu. À l’inverse, tout bloquer par précaution ferme aussi la porte aux robots qui pourraient vous citer dans leurs réponses.
Les trois types de crawlers IA
| Type | Robots | Ce qui se passe si vous les bloquez |
|---|---|---|
| Entraînement | GPTBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (Google) | Vous signalez que vos contenus ne doivent pas servir à l’entraînement. La recherche Google n’est pas touchée |
| Recherche | OAI-SearchBot (OpenAI), Claude-SearchBot (Anthropic), PerplexityBot (Perplexity) | Votre site n’apparaît pas, ou moins souvent, dans les réponses de recherche du service concerné |
| À la demande d’un utilisateur | ChatGPT-User (OpenAI), Claude-User (Anthropic) | Chez OpenAI, les règles du robots.txt peuvent ne pas s’appliquer, puisqu’une personne a fait la demande. Anthropic indique que vous pouvez piloter Claude-User, et que le bloquer peut réduire la visibilité dans la recherche pilotée par l’utilisateur |
Ce que disent les éditeurs eux-mêmes, en bref :
- OpenAI : les sites qui excluent OAI-SearchBot n’apparaissent pas dans les réponses de recherche de ChatGPT, mais peuvent toujours s’afficher sous forme de liens de navigation. Après une modification du robots.txt, il faut compter environ 24 heures avant que les systèmes s’adaptent.
- Anthropic : si vous restreignez ClaudeBot, c’est un signal indiquant que les contenus futurs doivent être exclus des jeux de données d’entraînement. Si vous désactivez Claude-SearchBot ou Claude-User, votre visibilité dans les résultats de recherche peut baisser. Anthropic respecte le robots.txt, ne contourne pas les CAPTCHA et prend en charge la ligne non standardisée
Crawl-delay(Anthropic). - Perplexity : PerplexityBot est conçu pour afficher et lier des sites dans les résultats de recherche de Perplexity. Il n’est pas utilisé pour collecter du contenu destiné aux modèles de fondation, et Perplexity recommande de l’autoriser (Perplexity).
- Google : Google-Extended n’est pas un robot distinct, mais un jeton du robots.txt. Il détermine si les contenus explorés par Google peuvent servir à entraîner les futurs modèles Gemini et au grounding. Il n’influe pas sur l’intégration à la recherche Google et n’est pas un signal de classement (Google).
Les éditeurs modifient leurs listes. Consultez ces pages avant de reprendre une règle.
Trois exemples à adapter
1. Tout autoriser, ne fermer que l’API interne. C’est l’approche de seogrinder.com lui-même : un seul groupe, avec plusieurs lignes User-agent au-dessus d’un seul jeu de règles.
User-agent: *
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Disallow: /api/
Allow: /
Sitemap: https://www.example.com/sitemap.xml
2. Autoriser la recherche, refuser l’entraînement.
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
C’est un choix du propriétaire du site, pas une recommandation. Si vous voulez que vos contenus soient utilisés le plus largement possible, prenez l’exemple 1. Notez que Google-Extended couvre aussi le grounding dans Gemini Apps et sur Vertex AI, pas seulement l’entraînement. Il n’affecte ni la recherche Google ni les AI Overviews (les aperçus IA de Google).
3. Refuser tous les robots IA. Placez Disallow: / sous chacun des robots listés ci-dessus. Vous apparaîtrez alors moins souvent, voire plus du tout, dans les réponses de recherche de ChatGPT, de Claude et de Perplexity (les liens de navigation et les consultations à la demande d’un utilisateur restent possibles). Les AI Overviews de Google se pilotent via Googlebot, pas via ces jetons. Cela n’a de sens que si c’est exactement ce que vous voulez.
Le piège : le groupe propre à un robot remplace le groupe *
Selon la RFC 9309, un crawler applique le groupe qui correspond à son nom. S’il a un groupe à lui, le groupe * ne s’applique plus à lui (RFC 9309).
Un exemple : sous User-agent: *, vous avez Disallow: /interne/. Plus tard, vous ajoutez un groupe distinct pour GPTBot qui ne contient que Allow: /. Désormais, /interne/ n’est plus interdit à GPTBot. Répétez les règles dans chaque groupe, ou placez plusieurs lignes User-agent au-dessus du même jeu de règles, comme dans les exemples ci-dessus.
Deux autres règles de la même spécification aident quand des règles se contredisent : la correspondance la plus spécifique l’emporte (le chemin le plus long), et si un Allow et un Disallow ont la même longueur, c’est Allow qui s’applique.
Une ligne facultative pour préciser l’usage de vos contenus : Content-Signal
En plus d’autoriser et de bloquer, il existe une ligne facultative que Cloudflare a introduite en septembre 2025. Elle indique à quoi vos contenus peuvent servir :
Content-Signal: search=yes, ai-input=yes, ai-train=no
search couvre les index de recherche et les snippets, ai-input l’utilisation directe du contenu dans les réponses d’une IA, et ai-train l’entraînement. C’est une déclaration, pas un verrou : le respect en est volontaire. Cloudflare précise que les content signals expriment des préférences, qu’ils ne sont pas des contre-mesures techniques et que certaines entreprises pourraient tout simplement les ignorer (Cloudflare).
Des travaux de normalisation sont aussi en cours. La documentation de Google sur ses crawlers indique que Google prévoit de prendre en charge, début 2027, AIPREF, un signal commun et lisible par machine pour les préférences d’entraînement, écrit user-agent: __usage_ai-training (Google). D’ici là, Google-Extended reste l’interrupteur pour l’entraînement de Gemini et le grounding.
Le robots.txt n’est pas une protection d’accès
La spécification est claire : le protocole ne remplace pas de vraies mesures de sécurité, et les chemins listés dans le robots.txt sont visibles de tous. Un robot qui ignore les règles n’est pas arrêté par votre fichier. Pour un contenu qui ne doit pas être public, utilisez une authentification ou des règles de pare-feu. Anthropic prévient en outre qu’un blocage par adresse IP peut ne pas fonctionner comme opt-out, parce qu’il empêche son robot de lire votre robots.txt.
Comment vérifier votre robots.txt pour les crawlers IA
- Ouvrez
https://votresite.fr/robots.txtdans un navigateur. Chaque sous-domaine a son propre fichier. - Ouvrez SEOgrinder, saisissez votre adresse et lancez l’analyse. Aucun compte n’est nécessaire.
- Allez dans l’onglet Préparation à l'IA et repérez « Piloter les robots d’IA » sous « Contrôles pour agents IA ». Si le point est rempli, la ligne indique combien de robots d’IA sont encadrés, combien sont autorisés et combien sont bloqués. S’il est ouvert, aucune règle explicite pour l’entraînement et la recherche n’a été trouvée.
- Un point rempli peut être déplié : il affiche le texte trouvé dans votre fichier.
- Cliquez sur Copier le prompt agent et collez-le dans votre assistant de programmation. Si une règle manque, le prompt décrit ce qu’il faut ajouter ; s’il y en a déjà une, il demande à l’assistant de la relire et de ne modifier que ce qui est faux. Autoriser ou bloquer reste la décision du propriétaire.
- Après la modification, cliquez sur Réanalyser. Les rapports restent jusqu’à 24 heures en cache ; ce bouton force une nouvelle analyse (quelques fois par heure).
Prévoyez environ une journée avant que les systèmes d’OpenAI et de Perplexity appliquent de nouvelles règles.
Repérer les vraies visites : journaux et plages d’IP
Savoir si un robot visite réellement votre site se lit dans les journaux de votre serveur, au niveau du user agent. Comme n’importe qui peut se faire passer pour GPTBot, les éditeurs publient des plages d’IP à des fins de comparaison : OpenAI les fournit pour chaque robot sous forme de fichier JSON, par exemple openai.com/gptbot.json, et Anthropic renvoie vers une liste à part. Si une visite ne provient pas de ces plages, elle ne vient très probablement pas de l’éditeur concerné, même si le nom correspond. C’est utile si vous voulez analyser les visites ou repérer de faux robots dans un pare-feu. Gardez toutefois l’avertissement d’Anthropic en tête : ne bloquez pas les vrais robots par adresse IP, sinon ils ne peuvent plus lire votre robots.txt.
Erreurs fréquentes
- Laisser
Disallow: /pour tout le monde. Un site de préproduction passe en ligne avec, dans son robots.txt, le blocage de la préproduction. Vérifiez ce point à chaque mise en ligne. - Bloquer uniquement GPTBot pour quitter ChatGPT. Cela règle l’entraînement, pas la recherche.
- Une ligne vide au milieu d’un groupe. Certains parseurs, comme le robotparser de Python, abandonnent alors les noms qui se trouvent au-dessus. Gardez les lignes
User-agentdirectement collées les unes aux autres. - Une ligne Sitemap relative. Écrivez l’adresse complète, avec
https://. - Le fichier au mauvais endroit. Il doit se trouver à la racine :
/robots.txt, et non dans un sous-dossier. - Trop attendre de Content-Signal et de llms.txt. Les deux sont facultatifs, et un effet sur le classement ou sur les citations n’est pas démontré.
Questions fréquentes
Dois-je autoriser les crawlers IA ?
Cela dépend de votre objectif. Si vous voulez pouvoir être cité dans les réponses de recherche IA, autorisez les robots de recherche. Autoriser ou refuser l’entraînement est une décision d’entreprise, et vous pouvez régler les deux séparément.
Vais-je disparaître de Google si je bloque Google-Extended ?
Non. Google indique que Google-Extended n’affecte pas l’intégration à la recherche Google et n’est pas un signal de classement.
En combien de temps une modification prend-elle effet ?
OpenAI et Perplexity indiquent tous deux jusqu’à environ 24 heures après la modification de votre robots.txt.
llms.txt, est-ce la même chose que robots.txt ?
Non. Le robots.txt contrôle l’accès. Le llms.txt est un fichier proposé qui résume votre site pour les modèles de langage. D’après des comptes rendus de seconde main, Google ne le prend pas en charge (Search Engine Roundtable). Un effet n’est pas démontré. Nous détaillons ce point dans llms.txt : c’est quoi et à quoi ça sert vraiment.
Puis-je définir des règles différentes selon les dossiers ?
Oui. Au sein d’un groupe, vous définissez Disallow et Allow chemin par chemin. La correspondance la plus spécifique l’emporte.
Votre prochaine étape
Ouvrez votre robots.txt et vérifiez que vous n’avez pas bloqué les robots de recherche par erreur. Lancez ensuite l’analyse gratuite et regardez si « Piloter les robots d’IA » est rempli dans l’onglet Préparation à l'IA, ce qui signifie que l’entraînement et la recherche ont chacun une règle explicite. Que cette règle autorise ou bloque, c’est le constat qui l’indique.