40 sites italiens : GPTBot et OAI-SearchBot n’ont pas la même règle, et le WAF raconte encore autre chose

Le 10 novembre 2026, j’ai passé 40 sites italiens assez connus (médias, e-commerce, banques, opérateurs, voyage, distribution) au crible, uniquement avec curl, un délai de 10 secondes, et sans exécuter JavaScript. Je le pose ici parce que le réflexe « on bloque ChatGPT dans le robots.txt » mélange encore deux robots différents, et parce que je suis curieux de savoir si, en France, vous voyez le même écart entre le fichier et le WAF.

Méthode, pour que ce soit reproductible :
  • GET /robots.txt avec un user-agent Chrome, conservé seulement en cas de 200 et d’un vrai fichier texte ;
  • lecture des groupes User-agent (la règle la plus spécifique l’emporte sur *) pour GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended, CCBot, Bytespider, Applebot-Extended ;
  • GET sur la page d’accueil avec le user-agent documenté de GPTBot ;
  • GET /llms.txt, compté seulement s’il s’agissait d’un vrai fichier texte.

Limite importante : tout part d’une IP de datacenter, pas des plages officielles publiées par ces crawlers. Un 403 sur la page d’accueil, à lui seul, ne prouve pas que le robot officiel, avec ses IP vérifiées, soit bloqué.

J’ai pu lire un robots.txt utilisable pour 36 sites sur 40. Sur ces 36 fichiers, interdiction de la racine :
  • GPTBot (entraînement OpenAI) : 8/36, 22 %
  • OAI-SearchBot (recherche et citations dans ChatGPT) : 3/36, 8 %
  • PerplexityBot : 8/36, 22 %
  • Claude-SearchBot : 2/36 ; ClaudeBot : 6/36
  • Google-Extended : 7/36 ; CCBot : 9/36

Ces interdictions se concentrent presque toutes dans les médias : 6 sites d’actualité sur 8 bloquent GPTBot et PerplexityBot, mais seulement 2 sur 8 bloquent OAI-SearchBot.

Le point pratique, c’est la distinction entraînement / recherche. Bloquer OAI-SearchBot ou PerplexityBot, ce n’est pas « sortir de l’entraînement » : c’est demander à cet assistant de ne plus vous citer. Dans l’échantillon, 5 sites bloquent GPTBot et laissent passer OAI-SearchBot, ce qui est cohérent. 3 bloquent les deux. Et sur un média, l’inverse : PerplexityBot interdit, GPTBot autorisé.

Ensuite, le fichier et le WAF ne racontent pas la même histoire. Avec le user-agent GPTBot, l’accueil a répondu 200 dans 24 cas sur 40, 403 dans 12 cas, un challenge WAF dans un cas, et deux timeouts. Parmi les 12 codes 403, seulement 3 avaient un Disallow sur GPTBot dans le robots.txt. Pour les 9 autres, le CDN coupait quand même. Le cas le plus net : un e-commerce avec un Allow: / explicite pour GPTBot et un vrai llms.txt, mais un 403 Cloudflare sur l’accueil. Un llms.txt authentique, d’ailleurs, sur 5 sites sur 40 seulement.

Trois corrections, dans cet ordre.

1. Séparer entraînement et recherche dans le robots.txt. Si l’on veut sortir de l’entraînement et rester citable :

Code:
User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

Puis relire le fichier en entier : un groupe User-agent: * avec Disallow: / plus haut peut refermer ce que l’on vient d’ouvrir.

2. Côté WAF et CDN, autoriser les plages d’IP publiées par chaque opérateur, pas seulement le user-agent, qui se falsifie en une minute.

3. Le contenu que l’on veut voir citer doit être dans le HTML servi par le serveur. S’il n’apparaît qu’après l’exécution de JavaScript, un crawler sans rendu voit une page vide.

Si certains d’entre vous ont relevé le même écart sur des sites français, ou peuvent croiser ces 403 avec des journaux de crawlers officiels, je suis preneur.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Haut