Passer au contenu principal
Utilisez GEO Score pour vérifier une page que vous voulez voir citée par ChatGPT. Le score est la part de ce qu’une personne lit sur la page, texte des images compris, que la recherche ChatGPT garde dans sa copie de la page. direct donne la part que ChatGPT reçoit lorsqu’il ouvre lui-même la page, comme quand quelqu’un lui donne l’URL. Chaque élément que la recherche ChatGPT ne garde pas est accompagné de sa cause, et analysis transforme les causes en corrections.

Noter une page

La tâche est acceptée et mise en file d’attente :
Lisez le résultat avec GET /v1/async/task/{id}, ou ajoutez webhook.url à la requête pour le recevoir à la fin de la tâche. La plupart des pages prennent 1 à 3 minutes : interrogez toutes les 10 à 15 secondes. La tâche fonctionne comme toute autre tâche asynchrone et le résultat se trouve dans response. Le schéma de la requête figure dans la référence de l’API.

Champs de la requête

Tout autre champ renvoie 400 VALIDATION_ERROR.

Comment une page est notée

  1. Accès. robots.txt est lu pour OAI-SearchBot, ChatGPT-User et GPTBot. La page est récupérée sous chacun d’eux et comme un navigateur, depuis une adresse aux États-Unis, d’où ChatGPT-User récupère les pages.
  2. Ce que lit une personne. Un navigateur dans country affiche la page et la parcourt jusqu’en bas, et le texte de ses grandes images est lu ligne par ligne. Les lignes sur le sujet propre de la page deviennent des éléments. Les menus, pieds de page, autres produits, avis de clients, boutons et publicités restent hors du score.
  3. Ce que garde la recherche ChatGPT. Un navigateur affiche la page sous OAI-SearchBot, le robot qui alimente la recherche ChatGPT, depuis une adresse aux États-Unis, sans laisser sortir aucune requête de données. Sa copie est le texte du HTML envoyé par le serveur et le texte que les scripts de la page en tirent, texte masqué et texte alternatif des images compris. Le texte dans les images et le contenu que la page charge après son ouverture n’y figurent pas, pas plus que dans la recherche ChatGPT.
  4. Ce que reçoit ChatGPT en ouvrant la page. Le HTML que reçoit ChatGPT-User est lu comme le lit le lecteur de ChatGPT : son texte, le texte masqué et le texte alternatif des images, sans scripts. Une image compte quand ChatGPT peut l’ouvrir et la lire : le HTML donne l’image comme src d’un img, en JPEG, PNG ou WebP, à une taille où le texte reste lisible.
  5. Si ChatGPT ouvre la page. On demande deux fois à ChatGPT en production d’ouvrir la page. Ses réponses ne sont pas notées : elles montrent seulement s’il a ouvert la page.
  6. Placer chaque élément. Un élément est read quand la copie de la recherche le contient, et missing avec sa raison sinon. direct le place de la même façon dans ce que ChatGPT reçoit en ouvrant la page. Le code décide de chaque élément, donc une page qui n’a pas changé obtient le même score.

Lire le résultat

La page OLIVE YOUNG ci-dessus donne ceci, réduit aux champs principaux :

score

La part des éléments que garde la recherche ChatGPT, de 0 à 100. Chaque élément pèse autant. Le score vaut 0 quand robots.txt exclut la page de la recherche ChatGPT et quand le site refuse le robot de la recherche ChatGPT. reading.score garde la part avant que robots.txt ne ramène le score à 0.

direct

Ce que ChatGPT reçoit lorsqu’il ouvre lui-même la page, comme quand quelqu’un lui donne l’URL. direct.score est la part des éléments présents dans le HTML que reçoit ChatGPT-User et dans les images que ChatGPT peut ouvrir, et direct.read les compte. Il vaut 0 quand ChatGPT n’a pas pu ouvrir la page. Les deux scores divergent là où la page écrit du texte dans des images ou le dessine avec des scripts : la recherche ChatGPT ne garde pas le texte des images et garde ce que les scripts tirent du HTML, tandis que le lecteur de ChatGPT ouvre les images qu’il peut lire et n’exécute aucun script. Une page produit alimentaire dont l’étiquette nutritionnelle est un JPEG en taille réelle a obtenu 56 pour la recherche et 93 en ouverture directe.

access

search.refused vaut true quand le site refuse le robot de la recherche ChatGPT, ce qui ramène le score à 0, et search.lines compte les lignes de la copie de la recherche. blockedBy vaut user_agent quand le site refuse l’agent ChatGPT-User depuis n’importe quelle adresse, openai_addresses quand il sert cet agent depuis notre adresse et refuse celles d’OpenAI, et site quand il refuse aussi un navigateur. robots donne la ligne de robots.txt décisive pour chaque agent d’OpenAI, noindex signale une directive noindex et où elle est posée, et probes liste le statut reçu par chaque récupération.

reading.items[]

Une entrée par élément : reading.locations compte les éléments par where, ce qui montre ce qu’il reste à corriger une fois que ChatGPT peut ouvrir la page. causes[] regroupe les éléments manquants par raison.

analysis

summary donne le score, le problème principal et le score une fois les problèmes confirmés corrigés (potential). direct dit ce que ChatGPT reçoit lorsqu’il ouvre lui-même la page, ou qui l’empêche de l’ouvrir et la correction. Chaque entrée de issues[] contient la cause (detail), la correction (fix), les éléments qu’elle coûte (facts), ses preuves et les points qu’elle retire au score. Les problèmes d’accès qui bloquent le score à 0 viennent d’abord, puis le reste par points. basis vaut confirmed : notre propre lecture de la page (son HTML, ses rendus, ses images, robots.txt, les réponses HTTP) montre le problème. Le texte de analysis est en anglais.

markdown

La page que voit une personne, en Markdown, avec le texte de ses images à la place des images. Le contenu propre de la page, que le score vérifie, se trouve sous ses titres et libellés. Les menus, avis et autres parties autour sont repliés en une ligne chacun. Chaque élément que la recherche ChatGPT ne garde pas est marqué à sa place, _(missing: …)_ avec la raison, et l’en-tête indique combien d’éléments ChatGPT reçoit en ouvrant la page. L’en-tête et les marques sont dans la langue de la page : anglais, coréen, japonais, chinois, espagnol, français, allemand ou portugais, et anglais pour toute autre. Une page en français indique _(manquant: …)_. Un extrait de la page OLIVE YOUNG, qui est en anglais :

screenshot

Les quatre premiers écrans de la page telle qu’une personne la voit, en JPEG : une fenêtre de 1366×900, capturée en haut après avoir fait défiler la page jusqu’au bout. url sert de clé d’accès et ouvre le fichier jusqu’à expiresAt, 30 jours après la tâche. Une page dont l’image n’a pas pu être capturée arrive sans screenshot, et une image qui n’a pas pu être enregistrée a status: "failed".

rendering

La page rendue pour les agents IA. La copie est le HTML qu’a dessiné le navigateur d’une personne, sans scripts, avec le texte de chaque image ajouté à son texte alternatif, celui que les WCAG demandent pour une image de texte. rendering.score est la part des éléments que la copie contient dans son texte : ce que reçoit un agent IA à qui l’on sert la copie, sans ouvrir aucune image. rendering.read les compte et reading.items[].rendering marque chaque élément ; la copie elle-même ne fait pas partie du résultat. La page OLIVE YOUNG ci-dessus contient ses 55 éléments dans sa copie, soit un score de 100 : le texte de ses images d’ingrédients et de FAQ en texte alternatif, et les prix et notes que ses scripts chargent.
rendering est absent quand aucun navigateur n’a pu afficher la page ou que son HTML dessiné est trop volumineux.

Bien lire le score

  • La recherche ChatGPT travaille sur une copie de la page faite par son robot : le texte du HTML et ce que les scripts en tirent, sans le texte des images ni ce que la page charge après son ouverture. La copie date du dernier passage du robot, donc une modification n’atteint la recherche ChatGPT qu’une fois la page récupérée à nouveau.
  • Quand ChatGPT ouvre lui-même une page, il lit le HTML envoyé par le serveur. Il n’exécute aucun script, lit le texte alternatif des images et n’ouvre une image que par le src du img que donne ce HTML. OpenAI réutilise une page qu’il a ouverte pendant environ 30 minutes.
  • Le score ne bouge que si la page ou sa façon de s’afficher change. Sur quinze pages notées trois fois chacune, dix ont varié de 3 points ou moins. Une page qui affiche des parties différentes à chaque visite varie davantage.
  • GEO Score mesure ce que ChatGPT a d’une page. Les pages que la recherche ChatGPT choisit pour une question sont suivies par les moniteurs GEO.

Erreurs et facturation

Une tâche terminée coûte 10 crédits pour la page et 5 pour chaque image dont le texte est lu, jusqu’à 12 images : images.read dans le résultat. Une image refusée par l’hôte ou illisible (images.unread) est gratuite. Si votre compte a lu la même image au cours des 90 derniers jours, cette lecture est réutilisée (images.reused) pour 2 crédits. La soumission réserve 70 crédits, le maximum d’une page, et la fin de la tâche facture ce qu’elle a utilisé. Une tâche échouée n’est pas facturée. Voir Crédits et limites.

Refus à la soumission

Les erreurs d’authentification, de concurrence et de débit sont les mêmes que pour toute tâche. Voir Erreurs.

Tâches échouées

Une tâche échouée a status: "FAILED" et une chaîne error qui commence par son code :

Étapes suivantes

Citation Analysis

Voyez quelles sources ont façonné une réponse.

Moniteurs GEO

Suivez votre marque dans les moteurs d’IA selon un calendrier.