#TECHNIQUE
Votre site est-il invisible pour ChatGPT ? Le problème du JavaScript
Hadrien Rondelez, COO de Genn —
Si votre site est construit avec React, Vue ou un outil no-code qui génère une application monopage, il est possible que ChatGPT, Claude et Perplexity n'en voient qu'une page vide. Ces robots téléchargent le HTML envoyé par le serveur mais n'exécutent pas le JavaScript qui affiche le contenu. Google, lui, l'exécute : c'est pour cela que le problème passe souvent inaperçu.
Ce que dit la mesure
L'analyse publiée par Vercel et MERJ sur le trafic du réseau Vercel est la référence sur ce point. Elle montre que GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Meta-ExternalAgent et Bytespider n'exécutent pas le JavaScript des pages qu'ils visitent. Seul Googlebot, parmi les grands robots, procède au rendu complet. Ces robots IA ne sont pas marginaux : GPTBot et ClaudeBot représentaient à eux deux près de 940 millions de requêtes mensuelles sur ce seul réseau.
Rendu côté client, rendu côté serveur
Deux architectures s'opposent :
- Rendu côté client (CSR) : le serveur envoie un HTML quasi vide, typiquement
<div id="root"></div>, puis le navigateur exécute le JavaScript qui construit la page. C'est le fonctionnement par défaut de nombreuses applications React créées avec Vite, et de plusieurs générateurs de sites par IA. - Rendu côté serveur (SSR) ou génération statique (SSG) : le serveur envoie une page HTML déjà remplie avec le texte. Le JavaScript ne fait qu'ajouter l'interactivité.
Pour un robot qui n'exécute pas le JavaScript, une page en CSR ne contient ni titre, ni texte, ni liens internes. Il n'y a rien à citer.
Le diagnostic en une commande
Ouvrez un terminal et demandez la page comme le ferait GPTBot :
curl -A "GPTBot" -s https://www.votresite.fr/votre-page | grep -c "<p"
Le résultat indique le nombre de paragraphes présents dans le HTML brut. Un chiffre proche de zéro sur une page riche en texte signale le problème. Pour une vérification visuelle, la commande sans le grep affiche le HTML complet : cherchez-y une phrase de votre page.
Sans terminal, la fonction « Afficher le code source » du navigateur (et non « Inspecter », qui montre la page après exécution du JavaScript) donne la même information. Notre test de lisibilité IA gratuit fait ce diagnostic pour vous, robots.txt compris.
Notre propre cas
Le site de Genn a été construit sur Lovable, qui produit une application React rendue côté client. Notre premier test était sans appel : les robots IA recevaient un seul paragraphe par page d'article, quel que soit le contenu. Nous avons ajouté une étape de pré-rendu qui injecte le texte intégral des articles dans le HTML servi aux robots. Le même test affiche désormais 14 paragraphes sur la page testée, et l'intégralité du texte est lisible sans JavaScript. Le site reste identique pour les visiteurs.
Trois façons de corriger
1. Passer au rendu côté serveur
Migrer vers un framework qui rend les pages côté serveur (Next.js, Nuxt, Astro, Remix). C'est la solution la plus robuste, mais aussi la plus lourde si le site existe déjà.
2. Générer des pages statiques
Pour les contenus qui changent peu (blog, pages produit, documentation), générer le HTML au moment du déploiement. Beaucoup de frameworks le permettent page par page.
3. Pré-rendre pour les robots
Servir aux robots une version HTML pré-calculée, sans toucher à l'application. C'est la solution la plus rapide pour un site existant, celle que nous avons retenue. Elle demande une vigilance : le contenu servi aux robots doit être identique à celui que voient les visiteurs. Servir un contenu différent s'apparente à du cloaking et expose à des sanctions de la part de Google.
Ce qu'il faut vérifier après correction
- Le texte principal de chaque page clé apparaît dans le HTML brut.
- Les balises
title,meta descriptionet les données structurées JSON-LD sont présentes sans JavaScript. - Les liens internes sont de vraies balises
<a href>, pas des événements JavaScript. - Les logs montrent des visites des robots IA sur les pages corrigées (guide robots.txt).
Questions fréquentes
Mon site est bien référencé sur Google, suis-je concerné ?
Oui, potentiellement. Google exécute le JavaScript, les robots IA non. Un bon référencement Google ne garantit rien côté ChatGPT ou Perplexity.
Les AI Overviews de Google sont-ils concernés ?
Moins directement : ils s'appuient sur l'index de Google, construit par Googlebot, qui exécute le JavaScript. Le problème touche surtout ChatGPT, Claude, Perplexity et les autres moteurs qui utilisent leurs propres robots.
Combien de temps prend la correction ?
Un pré-rendu ciblé sur le blog et les pages clés se met en place en quelques jours. Une migration vers le rendu côté serveur se compte plutôt en semaines.