Visibilité IA
Les moteurs de réponse — ChatGPT, Claude, Perplexity, les AI Overviews de Google — peuvent-ils encore lire et citer votre site ?
Mis à jour le 11 septembre 2026
Sur cette page
- Ce que PostShip vérifie
- Qui a le droit d'entrer
- Ce que la page contient avant le JavaScript
- llms.txt
- Régler
- Ce qui déclenche une alerte
- Limites et plans
- Dépannage
- Pourquoi « refus au robot » est noté alors que ChatGPT me cite très bien ?
- J'ai bloqué GPTBot volontairement, est-ce un problème ?
- Pourquoi la page est « sans texte » alors qu'elle est pleine ?
Un moteur de réponse répond à une question en citant des pages, au lieu de lister des liens : ChatGPT, Claude, Perplexity, les AI Overviews de Google. Pour vous citer, son robot doit pouvoir entrer et trouver du texte. La panne n'a aucun symptôme ailleurs : chaque URL répond 200, le référencement ne bouge pas, et le site a disparu des réponses de ChatGPT depuis trois semaines parce qu'une ligne de robots.txt recopiée d'un billet de blog bloque OAI-SearchBot. C'est un contrôle du site : créé par PostShip, hors quota, exécuté au déploiement.
Ce que PostShip vérifie
Trois requêtes, en parallèle : robots.txt, la page d'accueil, et llms.txt. Tout est une lecture de document — pas de navigateur, pas de modèle de langage, aucun appel à un service d'IA.
Qui a le droit d'entrer
Le robots.txt est lu pour chacun des quatorze robots du registre, en trois classes :
| Classe | Robots | Bloquer, c'est… |
|---|---|---|
| Réponse — ceux qui construisent les réponses | OAI-SearchBot (ChatGPT), Claude-SearchBot (Claude), PerplexityBot (Perplexity) | une panne : le moteur ne peut plus vous proposer. |
| Humain — ceux qu'une personne déclenche en collant votre lien | ChatGPT-User, Claude-User, Perplexity-User | une panne : la page ne s'ouvre pas quand quelqu'un colle votre lien. |
| Entraînement — ceux qui collectent pour entraîner | GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot, meta-externalagent, Bytespider, Amazonbot | une décision, consignée sans alerte. |
Entraînement et réponse sont deux robots différents. Depuis 2024, OpenAI et Anthropic ont scindé les leurs : GPTBot collecte pour entraîner, OAI-SearchBot explore pour répondre. Bloquer le premier est un choix légitime, devenu majoritaire. Bloquer le second rend invisible dans les réponses, ce qui n'est presque jamais voulu — et un robots.txt recopié d'avant la scission le fait sans que rien ne le signale.
Le piège de Google. Google-Extended ressemble à un jeton de moteur de réponse ; il n'en est pas un. Il ne pilote que l'entraînement des modèles Gemini. Les AI Overviews sont servies par Googlebot depuis l'index de recherche : ce qui en retire un site, c'est un noindex, un Disallow sur Googlebot, ou un contrôle d'extrait — jamais Google-Extended. Applebot-Extended fonctionne pareil pour Apple Intelligence.
Un robots.txt absent autorise tout ; un robots.txt en 5xx bloque tout, parce que c'est ainsi que les robots le lisent.
Ce que la page contient avant le JavaScript
La page est demandée avec un User-Agent qui porte les deux identités — OAI-SearchBot, pour que vos règles s'appliquent comme à lui, et PostShipBot, pour que vous nous retrouviez dans vos journaux. Puis :
- le texte visible (scripts, styles, gabarits retirés) doit faire au moins 500 caractères. Une application rendue entièrement côté client en produit quelques dizaines : un moteur de réponse n'a rien à citer ;
- aucune directive
nosnippetnimax-snippet:0, dans l'en-têteX-Robots-Tagou la balisemeta robots: elles ne retirent pas de l'index, elles interdisent toute citation, AI Overviews comprises ; - chaque bloc JSON-LD doit être du JSON valide. Le vocabulaire n'est pas jugé — un bloc illisible, si.
Un statut autre que 200 renvoyé à ce robot est noté, jamais un échec : Cloudflare et ses pareils vérifient les robots IA par DNS inverse, et une requête partie de nos serveurs échoue cette vérification par construction. Conclure à l'invisibilité accuserait à tort la moitié des sites.
llms.txt
Sa présence et son nombre de liens sont consignés, jamais reprochés : les robots le demandent très peu, et en faire un manque vendrait du vent.
Régler
Rien à créer. Projet → Visibilité IA dans le menu montre le verdict et le score ; le détail robot par robot, l'historique et le bouton pour relancer sont sur Pro et Team. Le contrôle tourne au déploiement, à T+2 / T+8 et sur « Lancer maintenant ».
Pour corriger un blocage : retirez le jeton du robots.txt, ou ajoutez un groupe User-agent: OAI-SearchBot avec Allow: / au-dessus de la règle qui le bloque. Pour un site rendu côté client, servez au moins le titre, le premier paragraphe et le JSON-LD dans le HTML.
Ce qui déclenche une alerte
| Code | Phrase |
|---|---|
ia_reponse_bloquee | Votre robots.txt interdit l'accès à des robots qui construisent les réponses des IA. |
ia_sans_texte | La page ne contient presque aucun texte avant l'exécution du JavaScript : un moteur de réponse n'a rien à citer. |
ia_extrait_interdit | Une directive nosnippet ou max-snippet:0 empêche toute citation, y compris dans les AI Overviews de Google. |
ia_jsonld_invalide | Le JSON-LD de la page ne peut pas être lu : aucun moteur ne s'en servira. |
robots_5xx | Le robots.txt renvoie une erreur serveur : les moteurs lisent ça comme un blocage du site entier. |
L'écran nomme les produits, pas les jetons : « ChatGPT et Perplexity sont bloqués ». Un site invisible pour les moteurs de réponse coûte 25 points au Ship Score — juste sous l'indexabilité, parce qu'il perd de la distribution, pas une vente, et que la perte arrive plus tard.
Limites et plans
| Free | Pro | Team | |
|---|---|---|---|
| Verdict et score | Oui | Oui | Oui |
| Détail robot par robot, historique, relance | Non | Oui | Oui |
| Alerte envoyée | Non | Oui | Oui |
Dépannage
Pourquoi « refus au robot » est noté alors que ChatGPT me cite très bien ?
Votre pare-feu vérifie l'origine des robots IA et refuse notre requête, pas la leur — c'est pour cela que ce constat n'est jamais un échec.
J'ai bloqué GPTBot volontairement, est-ce un problème ?
Non. Le blocage d'un robot d'entraînement est consigné comme une décision — « Vos pages ne servent pas à entraîner les modèles d'OpenAI » — et ne met rien en échec. Vérifiez seulement que le même groupe ne bloque pas aussi OAI-SearchBot.
Pourquoi la page est « sans texte » alors qu'elle est pleine ?
Le texte est rendu par JavaScript ; le robot lit le HTML servi, comme PostShip. Un rendu côté serveur, même partiel, règle le problème.