Journal · Agir

Le texte doit être dans le HTML : ce que lisent les robots d’IA

Les robots d’IA exécutent-ils le JavaScript ? Ce que disent les sources et ce qu’elles taisent, comment vérifier votre page, et notre protocole de test.

Par L’équipe GeoMetrickRelu par Esteban, associé de GeoMetrickPublié le Lecture : environ 6 min

Sommaire de la page
  1. Une preuve mince, et une consigne simple
  2. Ce que l’étude de 2024 a observé, et ses limites
  3. Robot par robot : ce que nous pouvons dire, et d’où cela vient
  4. Ce que cela change pour votre page
  5. Notre test répété : le protocole (mesure à produire)
  6. À retenir pour votre site
  7. Ce que nous avons mesuré
  8. Ce que nous ne savons pas
  9. Questions fréquentes
  10. Sources
  11. Auteur et journal des modifications
  12. À lire ensuite

Une preuve mince, et une consigne simple#

Mettez le texte qui compte dans le HTML que votre serveur renvoie : l’unique étude publique trouvée indique qu’aucun des principaux robots d’IA étudiés n’exécute le JavaScript.[1] Elle date de décembre 2024, et les documentations d’OpenAI, de Perplexity et d’Anthropic ne disent rien du JavaScript.[2][3][4]

La consigne ne vient donc pas d’une règle écrite par les éditeurs : elle vient d’une mesure ancienne, que nous présentons comme telle. Notre propre mesure est à produire, et le protocole est décrit plus bas.

Ce que l’étude de 2024 a observé, et ses limites#

Vercel et MERJ ont lu les journaux du réseau de Vercel, sur plusieurs sites dont nextjs.org. Aucun des principaux robots d’IA étudiés (OAI-SearchBot, ChatGPT-User, GPTBot, ClaudeBot, ainsi que des robots de Meta, de ByteDance et de Perplexity) n’exécute le JavaScript, même s’ils peuvent en télécharger les fichiers.[1] Télécharger un fichier de script n’est pas l’exécuter : c’est la distinction qui compte pour la suite.

L’étude indique aussi que Gemini s’appuie sur l’infrastructure de Googlebot (rendu complet) et qu’AppleBot rend le JavaScript dans un navigateur.[5] Ses limites sont écrites dans la source : elle ne couvre ni Claude-User, ni Claude-SearchBot, ni Perplexity-User, ni les robots de Mistral ; Copilot en est exclu faute de user-agent propre ; et les sites observés sont hébergés chez un éditeur qui vend de l’hébergement.[5]

Robot par robot : ce que nous pouvons dire, et d’où cela vient#

Le tableau sépare ce qui est étudié, ce qui est documenté et ce qui n’a aucune source.

Robot ou famille Exécute le JavaScript ? Fondement
OAI-SearchBot, ChatGPT-User, GPTBot Non, d’après l’étude de 2024[1] Étude ancienne ; la page d’OpenAI n’en dit rien[2]
ClaudeBot Non, d’après l’étude de 2024[1] Étude ancienne ; la page d’Anthropic n’en dit rien[4]
Claude-SearchBot, Claude-User Inconnu Non étudiés[5] ; la page d’Anthropic n’en dit rien[4]
PerplexityBot Non, d’après l’étude de 2024[1] Étude ancienne ; la page de Perplexity n’en dit rien[3]
Perplexity-User Inconnu Non étudié[5] ; la page de Perplexity n’en dit rien[3]
Robots de Meta et de ByteDance Non, d’après l’étude de 2024[1] Étude ancienne
Gemini Rendu complet via l’infrastructure de Googlebot, d’après l’étude de 2024[5] À ne pas généraliser aux autres produits de Google sans mesure
Googlebot Oui, en différé, dans une file d’attente[6] Documentation de Google
Applebot Oui, dans un navigateur[7] Documentation d’Apple
Copilot Inconnu Exclu de l’étude faute de user-agent propre[5]
Robots de Mistral Inconnu Non étudiés[5]

Ce que cela change pour votre page#

Le texte qui compte, c’est le nom de votre marque, ce que vous vendez, vos faits et vos réponses. S’il n’apparaît qu’après l’exécution d’un script, un robot qui n’exécute pas le JavaScript ne le voit pas. Chez Google, le rendu existe mais passe par une file d’attente qui peut attendre plusieurs secondes ou plus, et Google juge malgré tout le rendu côté serveur ou le pré-rendu toujours judicieux, parce que tous les robots n’exécutent pas le JavaScript.[6]

Notre conseil, qui n’est pas une règle d’éditeur : gardez le texte important dans le HTML initial, par une page statique, un rendu côté serveur ou un pré-rendu, et réservez le JavaScript à l’interaction. Pour Google, aucun fichier spécial n’est nécessaire pour apparaître dans ses fonctions d’IA, ni fichier lisible par machine, ni fichier texte pour IA, ni Markdown.[8] Cela vaut pour Google Search seulement.

Vérifier en une minute

Cherchez une phrase de votre page dans la réponse brute de votre serveur. Si elle n’y est pas, elle n’apparaît qu’après un script.

# Remplacez l'adresse et la phrase par les vôtres.
# Un résultat de zéro signifie que la phrase n'est pas dans le HTML renvoyé.
curl -s https://exemple.fr/ma-page | grep -c "une phrase de votre page"

Ce test montre ce que votre serveur répond à une requête simple : il ne montre pas ce que reçoit un robot précis, dont la réponse peut dépendre de son user-agent ou de protections du site. Une autre piste est d’afficher le code source de la page dans le navigateur, qui montre le HTML reçu, et non la page après l’exécution des scripts.

Notre test répété : le protocole (mesure à produire)#

Nous avons déjà, dans notre audit, un test d’accès par robot : il envoie à votre accueil la requête d’un robot (avec le user-agent de ce robot) et une requête témoin, plusieurs fois, avec la date de chaque essai. Il prouve ce que votre site répond à ce user-agent depuis nos serveurs, pas ce que reçoivent les vrais robots. Il ne dit rien du JavaScript : c’est l’objet de la mesure ci-dessous.

Le protocole prévu, non lancé à ce jour :

  1. Des pages de test hébergées sur un domaine de GeoMetrick créé pour l’occasion, jamais sur le site d’un client.
  2. Deux jetons uniques par page, des chaînes sans sens introuvables ailleurs : un jeton écrit dans le HTML renvoyé (le témoin), un jeton ajouté seulement par un script au chargement. Ce script déclenche aussi une requête vers un point d’accès à part, enregistré dans les journaux.
  3. Première lecture, les journaux du serveur : pour chaque user-agent, la page a-t-elle été demandée, le fichier du script a-t-il été demandé, la requête que seule l’exécution du script produit est-elle arrivée ? Seul le troisième signal prouve une exécution : l’étude de 2024 rappelle que des robots peuvent télécharger les fichiers sans les exécuter.[1]
  4. Seconde lecture, des questions posées aux IA : pour chaque IA dotée d’une recherche, une question dont la réponse est un des jetons, répétée dans des conversations neuves, avec le nombre de réponses qui reprennent le jeton du HTML et celui du script.
  5. Des dates et des versions : chaque lancement est daté et note la version de l’IA interrogée, et la mesure se refait à intervalles, parce que l’étude de référence date de décembre 2024.

Le nombre de répétitions n’est pas fixé ici : il sera arrêté après mesure du coût, puis publié avec le résultat. Aucun seuil de qualité n’est annoncé à l’avance.

Les limites sont déjà connues. Les robots d’action, ceux qui agissent à la demande d’un utilisateur, comme ChatGPT-User, Perplexity-User ou Claude-User, sont les seuls que nous pouvons faire venir pendant le test.[2][3][4] Les robots de recherche et d’entraînement passent quand ils le décident. Une réponse qui ne reprend pas le jeton du script ne prouve pas que le script n’a pas été exécuté, et inversement. C’est pourquoi nous croisons les journaux et les réponses.

À retenir pour votre site#

  • Le texte qui compte doit figurer dans le HTML initial : c’est notre conseil, appuyé sur une étude de 2024 et sur la prudence de Google.[1][6]
  • Une page qui charge tout par script se vérifie en une commande, avec la méthode ci-dessus.
  • La revue de cet article suivra l’échéance indiquée dans son journal : les éditeurs peuvent changer leurs robots.

Ce que nous avons mesuré#

Ce que nous ne savons pas#

Questions fréquentes#

Les robots d’IA exécutent-ils le JavaScript ?

D’après l’unique étude publique trouvée, datée de décembre 2024, non, pour les principaux robots étudiés. Les documentations d’OpenAI, de Perplexity et d’Anthropic n’en disent rien, et aucune mesure indépendante récente n’existe dans nos sources : mettez le texte qui compte dans le HTML par prudence.

Comment savoir si mon texte est dans le HTML ?

Cherchez une phrase de votre page dans la réponse brute de votre serveur, avec un outil comme curl ou l’affichage du code source du navigateur. Si la phrase n’y figure pas, elle n’apparaît qu’après l’exécution d’un script, et un robot qui n’exécute pas le JavaScript ne la voit pas.

Googlebot exécute-t-il le JavaScript ?

Oui, mais en différé : Google décrit un rendu placé en file d’attente, qui peut attendre plusieurs secondes ou plus. Google juge malgré tout le rendu côté serveur ou le pré-rendu toujours judicieux, parce que tous les robots n’exécutent pas le JavaScript.

Faut-il refaire tout mon site pour cela ?

Pas forcément : seul le texte qui compte, comme le nom, la description et les faits de vos offres, doit figurer dans le HTML renvoyé par le serveur. Une page statique, un rendu côté serveur ou un pré-rendu conviennent. Ce conseil est le nôtre, il ne vient pas d’une documentation d’éditeur.

Quand publierez-vous votre test répété ?

Quand nous aurons validé le coût et lancé les mesures, avec le protocole, la date, le nombre de réponses et les limites. Tant que ce n’est pas fait, aucun résultat n’est publié ici : cette page ne contient que le protocole.

Sources#

  1. The rise of the AI crawler · Vercel (avec MERJ). Étude. Consulté le . À l’appui de : « Vercel (avec MERJ), en décembre 2024, a observé les journaux de son réseau (plusieurs sites, dont nextjs.org) : aucun des principaux robots d’IA étudiés (OpenAI : OAI-SearchBot, ChatGPT-User, GPTBot ; Anthropic : ClaudeBot ; Meta ; ByteDance ; Perplexity) n’exécute le JavaScript, même s’ils peuvent en télécharger les fichiers. »
  2. Overview of OpenAI Crawlers · OpenAI. Documentation officielle. Consulté le . À l’appui de : « La page d’OpenAI sur ses robots décrit OAI-SearchBot (recherche de ChatGPT), GPTBot (entraînement) et ChatGPT-User (action demandée par un utilisateur), mais ne dit pas s’ils exécutent le JavaScript. »
  3. Perplexity Crawlers · Perplexity. Documentation officielle. Consulté le . À l’appui de : « La page de Perplexity sur ses robots décrit PerplexityBot (recherche) et Perplexity-User (action demandée par un utilisateur), mais ne dit pas s’ils exécutent le JavaScript. »
  4. Does Anthropic crawl data from the web, and how can site owners block the crawler? · Anthropic (aide Claude). Documentation officielle. Consulté le . À l’appui de : « La page d’aide d’Anthropic sur ses robots décrit ClaudeBot (entraînement), Claude-SearchBot (recherche) et Claude-User (récupération quand une personne pose à Claude une question qui le nécessite), mais ne dit pas s’ils exécutent le JavaScript. »
  5. The rise of the AI crawler · Vercel (avec MERJ). Étude. Consulté le . À l’appui de : « La même étude indique que Gemini s’appuie sur l’infrastructure de Googlebot (rendu complet), qu’AppleBot rend le JavaScript dans un navigateur et que Copilot est exclu de l’analyse faute de user-agent propre ; elle ne couvre ni Claude-User, ni Claude-SearchBot, ni Perplexity-User, ni les robots de Mistral, et se limite à des sites hébergés chez un éditeur qui vend de l’hébergement. »
  6. Understand the JavaScript SEO basics · Google Search Central. Documentation officielle. Consulté le . À l’appui de : « Googlebot traite le JavaScript en trois temps (exploration, rendu dans un navigateur sans interface placé en file d’attente, indexation) ; le rendu peut attendre plusieurs secondes ou plus ; Google juge le rendu côté serveur ou le pré-rendu toujours judicieux, parce qu’il accélère le site et que tous les robots n’exécutent pas le JavaScript. »
  7. About Applebot · Apple. Documentation officielle. Consulté le . À l’appui de : « Applebot explore le web pour Spotlight, Siri et Safari, respecte robots.txt et rend le contenu dans un navigateur ; Apple recommande de ne pas bloquer les ressources nécessaires au rendu. »
  8. Optimizing your website for generative AI features on Google Search · Google Search Central. Documentation officielle. Consulté le . À l’appui de : « Google indique qu’il n’est pas nécessaire, pour apparaître dans ses fonctions d’IA, de créer des fichiers lisibles par machine, des fichiers texte pour IA, un balisage spécial ou du Markdown, et que le découpage en « petits morceaux » est à ignorer ; cela concerne Google Search seulement. »

Auteur et journal des modifications#

Auteur
L’équipe GeoMetrick
Relecteur
Esteban, associé de GeoMetrick
Publié le
Dernière mise à jour
Prochaine revue au plus tard

Journal des modifications

  1. : Rédaction à partir des sources citées sur cette page ; test répété à produire, aucune donnée annoncée.
  2. : Publication décidée par Esteban (GeoMetrick) après la vérification de chaque affirmation par rapport à sa source (rapport du 02/10/2026) ; les mesures annoncées restent à produire et seront ajoutées à mesure.

À lire ensuite#