En bref. Configurer robots.txt pour les bots IA consiste à autoriser explicitement 9 user-agents (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, CCBot, Applebot-Extended) via des directives Allow: /, à retirer tout blocage hérité d'un CDN ou d'un WAF, puis à vérifier l'accès avec curl. La méthode s'intègre à la démarche décrite dans le pilier être cité par les IA.

Qu'est-ce que robots.txt et pourquoi c'est critique pour les bots IA ?

Le fichier robots.txtest une convention historique du web, publiée à la racine d'un domaine, qui indique aux robots automatisés quelles pages ils sont autorisés à visiter. Il ne bloque pas techniquement l'accès. Il exprime une préférence que les bots légitimes respectent volontairement. Les bots des grandes IA (OpenAI, Anthropic, Perplexity, Google) déclarent officiellement respecter cette convention.

Pour le référencement IA, c'est le premier point de contrôle. Si un bot IA lit une directive Disallow: /pour son user-agent, il n'essaie même pas de crawler votre site. Aucun contenu n'est collecté, donc aucune citation possible. La règle vaut aussi bien pour les bots d'entraînement (GPTBot, ClaudeBot, CCBot) que pour les bots de recherche en temps réel (OAI-SearchBot, PerplexityBot, Perplexity-User). Une configuration correcte est une condition nécessaire à toute stratégie GEO.

Le paradoxe : beaucoup de sites bloquent involontairement les bots IA. La cause la plus fréquente est l'activation d'une règle Cloudflare ou d'un plugin CMS qui pousse des directives par défaut. La deuxième cause est un Disallow: /global hérité d'une phase de développement. Un audit sérieux passe donc par le fichier robots.txt, mais aussi par les couches CDN et WAF en amont.

Quels sont les 9 bots IA à connaître en 2026 ?

Les 9 user-agents ci-dessous couvrent la quasi-totalité des moteurs génératifs grand public en 2026. Chaque bot a une fonction spécifique (entraînement, recherche live, action utilisateur). Autoriser tous ces user-agents maximise votre citabilité sans distinction d'usage.

User-agentMoteurRôle
GPTBotOpenAI (ChatGPT)Crawl pour l'entraînement des modèles GPT
OAI-SearchBotOpenAI (ChatGPT search)Récupération de sources pour la recherche live
ChatGPT-UserOpenAI (ChatGPT)Action à la demande quand l'utilisateur ouvre une URL
ClaudeBotAnthropic (Claude)Crawl pour l'entraînement des modèles Claude
anthropic-aiAnthropicAncien user-agent, encore utilisé sur certains parcours
PerplexityBotPerplexityCrawl continu pour l'index Perplexity
Google-ExtendedGoogle (Gemini, AI Overviews)Signal spécifique pour l'usage IA de Gemini
CCBotCommon CrawlCorpus public utilisé par de nombreux modèles
Applebot-ExtendedApple IntelligenceSignal spécifique à l'entraînement des modèles Apple

Deux références officielles pour approfondir : la documentation OpenAI Crawlers détaille les trois bots OpenAI avec leurs plages IP et leur fréquence de crawl. La documentation Anthropic Claude Bots liste les user-agents actifs, y compris ClaudeBot et anthropic-ai. La documentation Perplexity couvre PerplexityBot et Perplexity-User.

Quelle configuration recommandée pour un site standard ?

Le bloc suivant autorise les 9 bots IA et référence votre sitemap. Il s'insère après vos directives Googlebot et Bingbot habituelles, avant la ligne Sitemap finale.

User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: anthropic-ai
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: CCBot
Allow: /

User-agent: Applebot-Extended
Allow: /

Sitemap: https://votre-site.com/sitemap.xml

Cette configuration est neutre : elle ouvre l'accès sans restriction de chemin. Si vous voulez exclure une partie sensible (par exemple une zone admin), ajoutez un Disallow: /admin/ sous chaque user-agent concerné. La granularité est identique à celle utilisée pour Googlebot.

Pour ceux qui préfèrent une posture plus restrictive (autoriser la recherche live mais bloquer l'entraînement), l'arbitrage se fait au niveau du user-agent. Passer GPTBot et ClaudeBot en Disallow: /retire votre site du corpus d'entraînement, mais garder OAI-SearchBot et PerplexityBot en Allow: /maintient votre citabilité en mode recherche. C'est un choix stratégique de propriété intellectuelle, pas un choix de SEO. Pour la configuration détaillée dédiée à ChatGPT, voir le guide être cité par ChatGPT, et pour Perplexity le guide dédié Perplexity.

Comment vérifier son robots.txt et logger les crawls ?

Une configuration sur le papier ne suffit pas. Deux vérifications sont indispensables : le test d'accès synthétique via curl, et l'analyse des logs réels sur 30 jours.

Étape 1. Le test curl par user-agent

Ouvrez un terminal. Testez chaque user-agent avec la commande suivante :

curl -A "GPTBot" -I https://votre-site.com
curl -A "ClaudeBot" -I https://votre-site.com
curl -A "PerplexityBot" -I https://votre-site.com
curl -A "Google-Extended" -I https://votre-site.com

Chaque commande doit renvoyer un HTTP/1.1 200 OK suivi de vos en-têtes normaux. Si vous obtenez un HTTP/1.1 403 Forbidden, une page challenge Cloudflare ou une redirection vers une captcha, le blocage vient d'une couche en amont de robots.txt.

Ajoutez ensuite -o /dev/null -w "%{http_code}" au lieu de -I pour tester la réponse complète. Le HTML complet doit être servi, sans transformation. Si le contenu retourné diffère de celui vu dans un navigateur classique, votre serveur applique un traitement conditionnel par user-agent.

Étape 2. L'analyse des logs

Un test curl ne dit pas si le bot vient réellement chez vous. Les logs le disent. Selon votre hébergement, la source varie :

  • Serveur classique (Nginx, Apache). Les requêtes bots apparaissent dans access.log. Filtrez avec grep -E "GPTBot|ClaudeBot|PerplexityBot" access.log pour compter les hits sur 24 heures.
  • Cloudflare. Le rapport Bots dans le dashboard affiche les user-agents détectés, verified vs unverified. Les bots IA majeurs sont classés verified.
  • Vercel. Le tab Logs des projets Vercel expose les user-agents en query. Filtrez par userAgent contains "GPTBot".
  • AWS CloudFront. Activez les logs standard, puis filtrez sur la colonne cs-user-agent.

Sur 30 jours, un site correctement configuré voit typiquement entre 50 et 500 hits GPTBot, 20 et 200 hits ClaudeBot, 30 et 300 hits PerplexityBot. Zéro hit sur un mois complet est le signal d'une configuration cassée quelque part.

Quels sont les pièges les plus fréquents ?

Le Disallow global hérité

Le plus destructeur : un User-agent: *suivi d'un Disallow: /global, souvent hérité d'une phase de développement où on voulait empêcher l'indexation d'un environnement de test. Passé en production sans nettoyage, il bloque tous les bots, IA incluses. Le contrôle prend 10 secondes : ouvrez votre-site.com/robots.txt et cherchez la ligne Disallow: /. Si elle existe sous User-agent: *, remplacez par Disallow: (vide) pour tout autoriser.

La confusion Disallow: / vs Disallow:

Ces deux directives ne veulent pas dire la même chose. Disallow: /(avec slash) bloque l'intégralité du site pour le user-agent concerné. Disallow: (sans rien après) n'interdit rien du tout. Un oubli du slash renverse totalement la logique. Vérifiez toujours la présence ou l'absence de ce caractère.

Cloudflare « Block AI Scrapers and Crawlers »

Cloudflare propose depuis mi-2024 une option activable en un clic dans Security > Bots > Configure Super Bot Fight Mode. Beaucoup de sites l'ont activée par curiosité ou par précaution, sans réaliser qu'elle coupe aussi GPTBot, ClaudeBot, PerplexityBot et Google-Extended. Le robots.txt parfait devient inefficace parce que le WAF intercepte avant lui. Solution : désactiver cette règle si vous voulez rester citable. Alternative plus fine : garder la règle mais ajouter une exception explicite pour les user-agents IA verified.

Le plugin CMS qui écrase la configuration

Certains plugins WordPress, Shopify ou Webflow modifient dynamiquement le robots.txt à chaque déploiement. Yoast SEO et RankMath ont, par le passé, poussé des directives Disallow sur les user-agents IA par défaut. Vérifiez les réglages du plugin et forcez la régénération du fichier si nécessaire. Sur WordPress, la page Settings > Reading contient aussi une case « Discourage search engines » qui, si cochée, ajoute un Disallow: / global.

Le CAPTCHA sur toutes les pages

Un CAPTCHA activé sur l'ensemble du site (Cloudflare Turnstile, hCaptcha, reCAPTCHA managed challenge) bloque silencieusement les bots IA, même si robots.txt les autorise. Le contenu HTML retourné est la page challenge, pas votre contenu. Les bots enregistrent cette page comme votre contenu et vous cesse d'être citable. Le CAPTCHA doit idéalement être ciblé sur des routes précises (formulaires, login), pas sur le contenu éditorial.

Comment gérer les cas particuliers ?

Site multilingue avec sous-domaines

Un robots.txt vit par sous-domaine. Si votre site principal est site.com et votre version anglaise en.site.com, chaque sous-domaine a son propre fichier. Il faut répliquer la configuration à chaque endroit. Erreur fréquente : configurer proprement le domaine principal, oublier les sous-domaines de langue.

Site avec CDN et rewrites

Si vous servez robots.txt via une règle de rewrite Cloudflare Workers, Vercel Middleware ou AWS Lambda, vérifiez que le contenu réellement servi correspond bien à celui souhaité. Un cache CDN peut servir une version obsolète pendant des jours. Purgez le cache après chaque modification et vérifiez avec curl https://votre-site.com/robots.txt.

Bloquer sélectivement un dossier

Si vous voulez que les bots IA voient votre blog mais pas votre back-office ou vos rapports internes, écrivez :

User-agent: GPTBot
Allow: /
Disallow: /admin/
Disallow: /reports/

Répétez le pattern pour chaque bot IA à contraindre. Cette granularité est identique à la syntaxe utilisée pour Googlebot depuis 25 ans, décrite dans la documentation Google Search Central.

Le complément llms.txt

robots.txt contrôle l'accès. Le fichier llms.txt proposé par llmstxt.org va plus loin : il décrit vos pages prioritaires en Markdown, avec un titre et un descriptif court. Les IA qui reconnaissent ce format peuvent y aller directement plutôt que de crawler l'intégralité du site. Aucun moteur ne rend son support officiel à ce jour, mais Anthropic et Perplexity mentionnent suivre l'évolution du standard. C'est un signal complémentaire, pas un substitut à robots.txt.

Où placer robots.txt dans une stratégie GEO plus large ?

Configurer robots.txt correctement retire un blocage. Cela ne crée pas la citation. Si les citations n'arrivent toujours pas malgré un accès ouvert, commencez par diagnostiquer pourquoi ChatGPT ignore votre site : le blocage des bots n'est que la première de 7 causes possibles. Une fois l'accès ouvert, il faut répondre aux autres critères qui déterminent si un bot IA juge votre contenu digne d'être cité : HTML lisible sans JavaScript, paragraphe answer-first, structure en questions, Schema.org, chiffres sourcés, présence externe. Pour la méthode complète, voir le pilier comment être cité par les IA et le pilier de définition qu'est-ce que le GEO. Pour un état des lieux instantané, l'outil Calculer mon Score GEO audite votre configuration robots.txt en même temps que les 9 autres critères de citabilité, en moins de 10 secondes. La page méthodologie ScoreGeo détaille la calibration exacte de chaque poids et les sources scientifiques utilisées. Pour un audit expert avec plan d'action priorisé, l'équipe intervient en consultant GEO France sur mission ponctuelle ou récurrente.

Sources et lectures complémentaires

Les affirmations techniques et chiffrées de cet article s'appuient sur les sources officielles suivantes :

Questions fréquentes

Faut-il un fichier robots.txt pour être cité par les IA ?
Ce n'est pas obligatoire. Sans fichier robots.txt, les bots considèrent que tout est autorisé. Mais un robots.txt explicite qui liste et autorise les bots IA (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) protège contre les blocages accidentels d'un CDN, d'un WAF ou d'un plugin CMS qui pousserait des directives Disallow par défaut. Le fichier est un filet de sécurité, pas une condition d'entrée.
Bloquer GPTBot empêche-t-il ChatGPT de me citer ?
Cela dépend du mode d'utilisation. Bloquer GPTBot retire votre contenu du corpus d'entraînement des futurs modèles GPT, mais n'affecte pas immédiatement ChatGPT search : la recherche live utilise OAI-SearchBot, un user-agent distinct. Pour disparaître totalement de ChatGPT, il faudrait bloquer les trois bots OpenAI (GPTBot, OAI-SearchBot, ChatGPT-User).
Combien de temps pour qu'un changement de robots.txt soit pris en compte ?
Chaque bot recharge robots.txt à sa propre cadence, en général toutes les 24 heures selon les documentations OpenAI et Anthropic. Comptez 24 à 72 heures pour voir un changement pris en compte par l'ensemble des bots IA. Le cache est côté bot, pas côté CDN : purger votre cache ne raccourcit pas ce délai.
Cloudflare bloque-t-il les bots IA même si robots.txt les autorise ?
Oui, si vous avez activé « Block AI Scrapers and Crawlers » dans Security > Bots. Cette option ajoute une règle WAF qui intercepte les requêtes avant qu'elles n'arrivent à votre robots.txt. Vérifiez avec curl -A "GPTBot" votre-url.com : si vous obtenez une page challenge ou un HTTP 403, le blocage vient de Cloudflare. Désactivez la règle et retestez.
Le fichier llms.txt remplace-t-il robots.txt ?
Non, ils ont deux fonctions distinctes. robots.txt contrôle l'accès des bots (autoriser ou refuser le crawl). llms.txt, spécifié par llmstxt.org, décrit votre site aux IA (quelles pages sont les plus utiles à consulter). Les deux sont complémentaires. À ce jour, seuls OpenAI et Anthropic reconnaissent officiellement robots.txt pour leurs bots. llms.txt reste un signal complémentaire non contractuel.