Accueil GEO & visibilité dans l’IAComment ChatGPT choisit ses sources : l’index, le cache et les pages ouvertes

Comment ChatGPT choisit ses sources : l’index, le cache et les pages ouvertes

Code php

Une étude menée par Resoneo sur 1 200 réponses ChatGPT, 88 000 résultats et 26 900 pages décrit trois niveaux utilisés pour récupérer les contenus. Elle montre aussi de fortes différences entre le mode instant et le mode thinking, ainsi qu’entre une page simplement remontée et une page réellement ouverte.

L’équipe de Resoneo a cherché à comprendre d’où proviennent les pages citées par ChatGPT et comment elles sont récupérées. Olivier De Segonzac, associé fondateur de l’agence, présente les résultats d’un travail mené avec notamment Jérôme Salomon, d’Oncrawl, sur la partie consacrée au cache.

L’analyse repose sur 1 200 réponses de ChatGPT, 88 000 résultats de recherche et 26 900 pages distinctes. Des comptes situés dans plusieurs pays ont été utilisés, ainsi que l’API d’OpenAI et des pages tests dont les accès pouvaient être suivis dans les logs serveur.

Trois niveaux interviennent dans la récupération des pages

Selon l’étude, le grounding de ChatGPT repose sur trois niveaux de stockage.

Le premier correspond à un index utilisé pour découvrir les pages. Le deuxième est un cache de pages complètes, déjà récupérées et converties en markdown. Le troisième concerne un nombre limité de pages réellement ouvertes au moment de la recherche.

Jusqu’au 21 juillet 2026, les données envoyées par ChatGPT au navigateur comportaient un champ result_source permettant d’identifier plusieurs pipelines internes, parmi lesquels labrador, bright, oxylabs et serp.

Ce champ a depuis disparu. Resoneo explique désormais identifier ces différents pipelines à partir de leurs caractéristiques de format.

OpenAI utiliserait son propre index web

Le principal résultat de l’étude concerne labrador, présenté comme le système de retrieval d’OpenAI.

Resoneo estime qu’il ne repose pas sur Bing. Seules 1,5 % des URL issues de labrador apparaissaient dans le top 20 de Bing pour les mêmes recherches, tandis que les snippets et les titres présentaient également des caractéristiques différentes.

Cet index fournirait l’essentiel des résultats utilisés dans le mode instant de ChatGPT.

Chaque résultat contient essentiellement une URL, le title complet de la page et un snippet d’environ 200 caractères.

Selon les observations de Resoneo, ce snippet est construit autour du H1 et du texte visible situé immédiatement à proximité. Il peut ainsi intégrer une catégorie, une date, une signature, un texte alternatif d’image ou un sommaire.

La meta description ne serait pas utilisée dans ce pipeline.

Autre particularité, le snippet resterait identique quelle que soit la requête. Une même page renverrait donc le même extrait lorsqu’elle apparaît sur plusieurs questions, jusqu’à une nouvelle indexation.

Le mode instant ouvre très peu de pages

L’étude distingue nettement le comportement du mode instant de celui du mode thinking.

En mode instant, 93 % des réponses analysées n’ouvraient aucune page. ChatGPT s’appuierait principalement sur les titres et les snippets déjà disponibles dans son index.

Le mode thinking utilise davantage de ressources externes. Resoneo observe notamment une part importante de résultats Google récupérés via le pipeline bright, ainsi que de véritables ouvertures de pages par le user-agent ChatGPT-User.

Une conversation en thinking ramènerait environ une centaine de résultats issus d’une trentaine de domaines, contre une dizaine de résultats en moyenne dans le mode instant.

Sur l’ensemble du corpus, 61 332 URL ont été remontées dans les sources, mais seulement 759 pages ont été réellement ouvertes.

La différence de citation est importante. Une page ouverte est citée dans 74 % des cas, contre 7 % pour une page simplement remontée sans ouverture.

ChatGPT conserverait un cache partagé des pages

À côté de son index, ChatGPT utiliserait un cache contenant les pages complètes qu’il a déjà récupérées.

Ces pages sont converties du HTML vers le markdown puis stockées par URL. Selon les tests réalisés, le cache serait partagé entre les utilisateurs et les différents niveaux d’abonnement.

Une copie resterait considérée comme fraîche pendant environ trente minutes. Passé ce délai, ChatGPT pourrait encore servir la version déjà stockée, tout en lançant un nouveau fetch en arrière-plan.

Resoneo rapporte avoir observé des copies âgées de plus de 90 jours.

La fréquence de rafraîchissement dépendrait donc notamment de la fréquence à laquelle une page est sollicitée par les utilisateurs de ChatGPT.

L’étude indique également que les directives Cache-Control: no-store et noindex n’empêchent pas ce fonctionnement du cache.

JavaScript et JSON-LD ne sont pas conservés par ce chemin

La transformation du HTML en markdown modifie les informations accessibles au modèle.

Les scripts, les iframes et les données JSON-LD sont supprimés. Les attributs alt des images restent en revanche présents.

Le texte masqué avec du CSS peut également être récupéré.

Deux autres limites techniques ont été observées. Le robot n’exécute pas le JavaScript, ce qui rend invisible le contenu injecté uniquement côté client.

Les pages dépassant 4 Mo seraient par ailleurs entièrement rejetées avec une erreur HTTP 400, sans lecture partielle du contenu.

Les lectures de ChatGPT échappent en partie aux analytics

Resoneo distingue également les clics provenant de ChatGPT des pages réellement lues par le modèle.

Les liens affichés aux utilisateurs peuvent comporter un paramètre utm_source=chatgpt.com, permettant d’identifier certains clics.

Mais les pages ouvertes directement par ChatGPT en mode thinking ne comportent pas systématiquement ce paramètre dans les citations présentées ensuite.

Le suivi des seuls paramètres UTM ne permet donc pas d’observer toutes les interactions du modèle avec un site.

L’étude recommande aussi de surveiller le user-agent ChatGPT-User dans les logs serveur afin d’identifier les ouvertures réelles de pages.

Certaines citations ne viennent pas directement des résultats de recherche

L’étude relève enfin plusieurs comportements qui restent difficiles à expliquer.

Certaines URL arrivent au modèle uniquement avec un titre et une adresse, sans snippet. En mode instant, ces pages ont pourtant été citées plus fréquemment que celles disposant d’un extrait, avec 14,9 % contre 8,2 %.

Certaines citations ne correspondent par ailleurs à aucun résultat de recherche observé.

Resoneo avance l’hypothèse que certaines URL puissent être produites à partir de la mémoire paramétrique du modèle, mais précise ne pas être en mesure de mesurer précisément ce phénomène.

La différence entre récupération et citation apparaît également sur certaines plateformes. arXiv a par exemple été remonté plus de 2 600 fois dans le corpus, mais seulement cité dix fois.

Les premiers éléments de la page comptent particulièrement en mode instant

Les observations réalisées sur labrador donnent une importance particulière au title et au début du contenu.

Le title serait transmis intégralement au modèle, sans la troncature habituelle des résultats Google. Les quelque 200 caractères entourant le H1 constitueraient par ailleurs l’essentiel du contenu visible en mode instant.

Resoneo recommande donc de conserver un title compréhensible seul et de placer rapidement l’information principale après le H1.

L’étude conseille également de conserver des textes alternatifs pertinents, de maintenir les pages sous 4 Mo et de rendre le contenu accessible sans JavaScript.

Ses auteurs appellent toutefois à ne pas reconstruire une stratégie autour de ces seuls mécanismes. Plusieurs composants observés ont déjà changé pendant la période d’analyse, notamment avec la disparition du champ permettant d’identifier directement les pipelines.

À découvrir également