Les systèmes d’IA et les LLM peuvent-ils rendre JavaScript pour lire le contenu « caché » ?

Pour Ask An SEO de cette semaine, un lecteur a demandé :

« Y a-t-il une différence entre la façon dont les systèmes d’IA gèrent le contenu rendu en JavaScript ou caché de manière interactive par rapport à l’indexation traditionnelle de Google ? Quelles vérifications techniques les référenceurs peuvent-ils effectuer pour confirmer que toutes les informations critiques de la page sont disponibles pour les machines ? »

C’est une excellente question car au-delà du battage médiatique autour de l’optimisation LLM se cache un véritable défi technique : garantir que votre contenu peut réellement être trouvé et lu par les LLM.

Depuis plusieurs années maintenant, les référenceurs sont assez encouragés par les améliorations apportées par Googlebot en termes de capacité à explorer et à afficher des pages contenant beaucoup de JavaScript. Cependant, avec les nouveaux robots d’exploration IA, cela pourrait ne pas être le cas.

Dans cet article, nous examinerons les différences entre les deux types de robots et comment garantir que le contenu de votre page Web critique est accessible aux deux.

Comment Googlebot affiche-t-il le contenu JavaScript ?

Googlebot traite JavaScript en trois étapes principales : l’exploration, le rendu et l’indexation. Dans une explication basique et simple, voici comment fonctionne chaque étape :

Rampant

Googlebot mettra en file d’attente les pages à explorer lorsqu’il les découvrira sur le Web. Cependant, toutes les pages mises en file d’attente ne seront pas explorées, car Googlebot vérifiera si l’exploration est autorisée. Par exemple, il verra si l’exploration de la page est bloquée via une commande d’interdiction dans le fichier robots.txt.

Si la page ne peut pas être explorée, Googlebot l’ignorera et renoncera à une requête HTTP. Si une page est éligible pour être explorée, elle se déplacera pour afficher le contenu.

Rendu

Googlebot vérifiera si la page est éligible à l’indexation en s’assurant qu’il n’y a aucune demande pour la retirer de l’index, par exemple via une balise méta noindex. Googlebot mettra en file d’attente la page à afficher. Le rendu peut avoir lieu en quelques secondes ou rester dans la file d’attente pendant une période plus longue. Le rendu est un processus gourmand en ressources et, en tant que tel, il peut ne pas être instantané.

En attendant, le bot recevra la réponse DOM ; il s’agit du contenu qui est rendu avant l’exécution de JavaScript. Il s’agit généralement de la page HTML, qui sera disponible dès que la page sera explorée.

Une fois le JavaScript exécuté, Googlebot recevra la page entièrement construite, le « rendu du navigateur ».

Indexage

Les pages et informations éligibles seront stockées dans l’index Google et mises à disposition pour servir de résultats de recherche au moment de la requête de l’utilisateur.

Comment Googlebot gère-t-il le contenu caché de manière interactive ?

Tout le contenu n’est pas disponible pour les utilisateurs lorsqu’ils arrivent pour la première fois sur une page. Par exemple, vous devrez peut-être cliquer sur les onglets pour trouver du contenu supplémentaire ou développer un accordéon pour voir toutes les informations.

Googlebot n’a pas la possibilité de basculer entre les onglets ou de cliquer pour ouvrir un accordéon. Il est donc important de s’assurer qu’il peut analyser toutes les informations de la page.

La façon de procéder est de s’assurer que les informations sont contenues dans le DOM lors du premier chargement de la page. Cela signifie que le contenu peut être « masqué » sur le front-end avant de cliquer sur un bouton, mais il n’est pas masqué dans le code.

Pensez-y comme ceci : le contenu HTML est « caché dans une boîte » ; le JavaScript est la clé pour ouvrir la boîte. Si Googlebot doit ouvrir la boîte, il ne verra peut-être pas ce contenu immédiatement. Cependant, si le serveur a ouvert la boîte avant que Googlebot ne le demande, il devrait alors pouvoir accéder à ce contenu via le DOM.

Comment améliorer la probabilité que Googlebot puisse lire votre contenu

La clé pour garantir que le contenu puisse être analysé par Googlebot est de le rendre accessible sans que le bot ait besoin d’afficher le JavaScript. Une façon de procéder consiste à forcer le rendu à se produire sur le serveur lui-même.

Le rendu côté serveur est le processus par lequel une page Web est rendue sur le serveur plutôt que par le navigateur. Cela signifie qu’un fichier HTML est préparé et envoyé au navigateur de l’utilisateur (ou au robot du moteur de recherche), et que le contenu de la page lui est accessible sans attendre le chargement du JavaScript. En effet, le serveur a essentiellement créé un fichier qui contient déjà du contenu ; le HTML et le CSS sont accessibles immédiatement. Pendant ce temps, les fichiers JavaScript stockés sur le serveur peuvent être téléchargés par le navigateur.

Ceci s’oppose au rendu côté client, qui nécessite que le navigateur récupère et compile le JavaScript avant que le contenu ne soit accessible sur la page Web. Il s’agit d’une augmentation beaucoup plus faible pour le serveur, c’est pourquoi les développeurs de sites Web le privilégient souvent, mais cela signifie que les robots ont du mal à voir le contenu de la page sans d’abord restituer le JavaScript.

Comment les robots LLM affichent-ils JavaScript ?

Compte tenu de ce que nous savons maintenant sur la façon dont Googlebot restitue JavaScript, en quoi cela diffère-t-il des robots IA ?

L’élément le plus important à comprendre à propos de ce qui suit est que, contrairement à Googlebot, il n’existe pas « un » organe directeur qui représente tous les robots qui pourraient être regroupés sous les « robots LLM ». Autrement dit, ce qu’un robot est capable de faire ne sera pas nécessairement la norme pour tous.

Les robots qui parcourent le Web pour alimenter les bases de connaissances des LLM ne sont pas les mêmes que les robots qui visitent une page pour rapporter des informations opportunes à un utilisateur via un moteur de recherche.

Et les robots de Claude n’ont pas les mêmes capacités que ceux d’OpenAI.

Lorsque nous réfléchissons à la manière de garantir que les robots IA puissent accéder à notre contenu, nous devons nous adresser aux robots les moins performants.

On en sait moins sur la manière dont les robots LLM affichent JavaScript, principalement parce que, contrairement à Google, les robots IA ne partagent pas ces informations. Cependant, certaines personnes très intelligentes ont effectué des tests pour identifier comment chacun des principaux robots LLM le gère.

En 2024, Vercel a publié une enquête sur les capacités de rendu JavaScript des principaux robots LLM, notamment OpenAI, Anthropic, Meta, ByteDance et Perplexity. Selon leur étude, aucun de ces robots n’était capable de restituer du JavaScript. Les seuls qui l’étaient étaient Gemini (exploitant l’infrastructure de Googlebot), Applebot et CCbot de CommonCrawl.

Plus récemment, Glenn Gabe a reconfirmé les conclusions de Vercel grâce à sa propre analyse approfondie de la manière dont ChatGPT, Perplexity et Claude gèrent JavaScript. Il explique également comment tester votre propre site Web dans les LLM pour voir comment ils gèrent votre contenu.

Ce sont les robots les plus connus, issus de certaines des sociétés d’IA les plus financées dans ce domaine. Il va de soi que s’ils ont des difficultés avec JavaScript, ceux qui sont moins financés ou plus spécialisés le seront également.

Comment les robots IA gèrent-ils le contenu caché de manière interactive ?

Pas bien. Autrement dit, si le contenu interactif nécessite l’exécution de JavaScript, ils peuvent avoir du mal à l’analyser.

Pour garantir que les robots soient capables de voir le contenu caché derrière des onglets ou en accordéon, il est prudent de garantir que le contenu se charge entièrement dans le DOM sans avoir besoin d’exécuter JavaScript. Les visiteurs humains peuvent toujours interagir avec le contenu pour le révéler, mais les robots n’en auront pas besoin.

Comment vérifier les problèmes de rendu JavaScript

Il existe deux manières très simples de vérifier si Googlebot est capable d’afficher tout le contenu de votre page :

Vérifiez le DOM via les outils de développement

Le DOM (Document Object Model) est une interface pour une page Web qui représente la page HTML comme une série de « nœuds » et d’« objets ». Il relie essentiellement le code source HTML d’une page Web à JavaScript, ce qui permet aux fonctionnalités de la page Web de fonctionner. En termes simples, considérez une page Web comme un arbre généalogique. Chaque élément d’une page Web est un « nœud » dans l’arborescence. Donc, une balise d’en-tête

et le corps de la page elle-même

sont tous des nœuds sur l’arbre généalogique.

Lorsqu’un navigateur charge une page Web, il lit le code HTML et le transforme en arbre généalogique (le DOM).

Comment le vérifier

Je vais vous expliquer cela en utilisant les outils de développement de Chrome comme exemple.

Vous pouvez vérifier le DOM d’une page en accédant à votre navigateur. À l’aide de Chrome, cliquez avec le bouton droit et sélectionnez « Inspecter ». À partir de là, assurez-vous que vous êtes dans l’onglet « Éléments ».

Pour voir si le contenu est visible sur votre page Web sans avoir à exécuter JavaScript, vous pouvez le rechercher ici. Si vous trouvez le contenu entièrement dans le DOM lorsque vous chargez la page pour la première fois (et n’interagissez plus avec elle), alors il devrait être visible par les robots Googlebot et LLM.

Utiliser la console de recherche Google

Pour vérifier si le contenu est visible spécifiquement par Googlebot, vous pouvez utiliser Google Search Console.

Choisissez la page que vous souhaitez tester et collez-la dans le champ « Inspecter n’importe quelle URL ». La Search Console vous amènera ensuite à une autre page où vous pourrez « Tester l’URL en direct ». Lorsque vous testez une page en direct, un autre écran vous sera présenté dans lequel vous pourrez choisir de « Afficher la page testée ».

Comment vérifier si un robot LLM peut voir votre contenu

Conformément aux expériences de Glenn Gabe, vous pouvez demander aux LLM eux-mêmes ce qu’ils peuvent lire sur une page Web spécifique. Par exemple, vous pouvez les inviter à lire le texte d’un article. Ils répondront avec une explication s’ils ne le peuvent pas à cause de JavaScript.

Affichage du HTML source

Si nous travaillons au plus petit dénominateur commun, il est prudent de supposer qu’à ce stade, les LLM ne peuvent pas lire le contenu en JavaScript. Pour vous assurer que votre contenu est disponible dans le HTML d’une page Web afin que les robots puissent y accéder définitivement, assurez-vous absolument que le contenu de votre page est lisible par ces robots. Assurez-vous qu’il se trouve dans le code HTML source. Pour vérifier cela, vous pouvez accéder à Chrome et faire un clic droit sur la page. Dans le menu, sélectionnez « Afficher la source de la page ». Si vous pouvez « trouver » le texte dans ce code, vous savez qu’il se trouve dans le code HTML source de la page.

Qu’est-ce que cela signifie pour votre site Web ?

Essentiellement, Googlebot a été développé au fil des années pour mieux gérer JavaScript que les nouveaux robots LLM. Cependant, il est très important de comprendre que les robots LLM n’essaient pas d’explorer et de restituer le Web de la même manière que Googlebot. Ne présumez pas qu’ils essaieront un jour d’imiter le comportement de Googlebot. Ne les considérez pas « derrière » Googlebot. Ce sont des bêtes complètement différentes.

Pour votre site Web, cela signifie que vous devez vérifier si votre page charge toutes les informations pertinentes dans le DOM lors du premier chargement de la page pour satisfaire les besoins de Googlebot. Pour les robots LLM, pour être sûr que le contenu leur est disponible, vérifiez votre code HTML statique.

Plus de ressources :