Tu as autorisé GPTBot et ClaudeBot dans ton robots.txt, tu as même ajouté un llms.txt propre, et pourtant ton site n'apparaît jamais dans les réponses de ChatGPT ou Perplexity. Le coupable est presque toujours au même endroit, et ce n'est pas ton SEO : c'est ton CDN. Cloudflare (et les autres) peut bloquer un crawler IA avant même qu'il ne lise ton robots.txt, silencieusement, avec un code 403 ou une page de challenge JavaScript que tu ne verras jamais en naviguant normalement.
Ce guide couvre la couche que la plupart des articles SEO oublient : le blocage au niveau serveur/CDN. C'est une zone d'angle mort parce qu'elle est invisible depuis un navigateur classique, tu vois ton site parfaitement, donc tu supposes que tout le monde le voit. Un crawler, lui, se fait renvoyer à la porte.
robots.txt dit "oui", ton CDN dit "non"
Il faut distinguer deux couches qui n'ont rien à voir :
- robots.txt est une demande polie. Il dit au bot « je préfère que tu n'ailles pas là ». Un bot respectueux obéit ; c'est le sujet de notre guide robots.txt pour Googlebot, GPTBot et ClaudeBot.
- Le pare-feu / la détection de bots du CDN est une serrure. Il décide qui reçoit une réponse tout court. Un bot bloqué ici ne lit jamais ton contenu, ni même ton robots.txt.
Autrement dit : tu peux avoir le robots.txt le plus accueillant du monde, si Cloudflare sert un challenge à GPTBot, ta page est invisible pour ChatGPT. Les deux réglages se contredisent en permanence sans que personne ne s'en aperçoive, parce qu'ils vivent dans deux interfaces différentes gérées souvent par deux personnes différentes.
Les trois réglages Cloudflare qui te coûtent des citations IA
1. Bot Fight Mode (et Super Bot Fight Mode)
C'est le piège le plus fréquent. Le Bot Fight Mode de Cloudflare, activable en un clic dans l'onglet Security, envoie un challenge (calcul JavaScript ou page « Un instant… ») à tout trafic qu'il juge automatisé. Le problème : sa définition d'« automatisé » attrape régulièrement des crawlers légitimes, y compris certains bots IA et, dans des configurations agressives, des sous-ensembles de trafic de Googlebot lui-même.
Le Super Bot Fight Mode (plans payants) est plus fin : il te laisse traiter séparément les « bots vérifiés ». Mais son réglage par défaut sur « Block » ou « Managed Challenge » pour les bots non vérifiés est justement ce qui coince les crawlers IA émergents, qui ne figurent pas encore tous dans la liste des bots vérifiés de Cloudflare.
Ce qu'il faut faire : si tu tiens à ta visibilité GEO, désactive le Bot Fight Mode simple, et sur le Super Bot Fight Mode, passe les « verified bots » sur Allow. Puis crée des règles WAF explicites pour autoriser les user-agents des crawlers IA auxquels tu veux être exposé (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot).
2. Les règles WAF et managed rules trop larges
Une règle de pare-feu applicative (WAF) écrite pour bloquer les « bots » ou un pays entier attrape aussi les data centers d'où partent les crawlers IA (souvent des IP cloud américaines). Une règle du type « challenge tout ce qui vient de tel ASN » peut fermer la porte à Perplexity sans que ce soit ton intention. Vérifie tes règles custom et tes managed rulesets : cherche tout ce qui challenge ou block sur des critères de réputation IP ou d'ASN.
3. Crawler Hints : le faux ami
Crawler Hints part d'une bonne intention : prévenir les crawlers quand ton contenu a changé pour éviter les crawls inutiles. Mais son adoption est inégale selon les bots, et sur des sites qui changent peu il peut, combiné à un cache agressif, faire croire à certains crawlers que rien n'a bougé et donc ralentir leur re-crawl. Ce n'est pas un bloqueur dur comme le Bot Fight Mode, mais sur un site où la fraîcheur compte (et pour les moteurs IA, elle compte), c'est un réglage à surveiller plutôt qu'à activer par réflexe.
Comment savoir si tu es bloqué (le test en 2 minutes)
Le symptôme est invisible en navigation normale, mais trivial à tester en ligne de commande. Simule un crawler IA et regarde le code de réponse :
curl -A "GPTBot" -I https://ton-site.fr
curl -A "ClaudeBot" -I https://ton-site.fr
curl -A "PerplexityBot" -I https://ton-site.fr
Ce que tu veux voir : un HTTP/2 200. Ce qui doit t'alerter :
- 403 Forbidden → une règle WAF ou le Bot Fight Mode bloque ce user-agent.
- 503 / page « Just a moment… » dans le corps → challenge JavaScript de Cloudflare. Un crawler IA ne l'exécute pas et repart les mains vides.
- 429 Too Many Requests → rate-limiting trop agressif qui punit un crawler qui lit plusieurs pages d'affilée.
Compare avec un user-agent navigateur normal (curl -A "Mozilla/5.0...") : si le navigateur passe et que GPTBot se prend un 403, tu as ton coupable. C'est exactement ce type d'écart qu'un audit automatisé détecte, la note SeAudit lève un signal « site derrière un challenge anti-bot » quand notre propre crawler se fait défier, précisément parce que les moteurs IA subissent la même chose.
L'angle GEO : un blocage CDN, c'est une exclusion, pas une rétrogradation
En SEO classique, une erreur technique te fait descendre dans les résultats. En GEO, c'est plus brutal : si le crawler d'un moteur IA ne peut pas récupérer ta page, tu n'es pas mal classé, tu n'existes pas dans son corpus. Il n'y a pas de « page 2 » des réponses IA. Soit ta source est lisible et citable, soit elle est absente.
C'est ce qui rend ce réglage disproportionnellement important par rapport à l'effort qu'il demande : débloquer les crawlers IA au niveau CDN prend dix minutes et peut faire la différence entre « jamais cité » et « cité ». À l'inverse, laisser le Bot Fight Mode activé par défaut, c'est saborder ta visibilité générative sans même le savoir, la pire catégorie de problème, parce qu'aucun rapport ne t'en avertit.
La checklist « crawler IA autorisé au niveau CDN »
- Teste tes user-agents avec les trois
curlci-dessus (GPTBot, ClaudeBot, PerplexityBot) et vise un 200 partout. - Désactive le Bot Fight Mode simple ; sur Super Bot Fight Mode, passe les verified bots sur Allow.
- Ajoute une règle WAF d'autorisation explicite pour les user-agents des crawlers IA que tu veux servir.
- Relis tes règles custom / managed : traque tout challenge ou block basé sur l'ASN, le pays ou la réputation IP qui pourrait attraper des IP cloud.
- Vérifie le rate-limiting : un crawler lit vite plusieurs pages ; un seuil trop bas le coupe.
- Garde robots.txt cohérent avec ce que tu autorises côté CDN, les deux couches doivent dire la même chose (voir aussi nos guides robots.txt et sécurité / HTTPS / headers).
Le principe à retenir : ta stratégie de visibilité IA ne vaut que par son maillon le plus faible. Un contenu parfait, un schema impeccable et un llms.txt aux petits oignons ne servent à rien si la porte d'entrée est fermée à clé au niveau du CDN. Commence par vérifier que le crawler entre, le reste vient après.