ChatGPT et Claude peuvent-ils voir mon site en JavaScript ?
Seulement le texte déjà présent dans le HTML que votre serveur envoie. Une étude de décembre 2024 sur le réseau de Vercel a montré que les crawlers d'OpenAI, d'Anthropic et de Perplexity téléchargent les fichiers JavaScript sans les exécuter. Si vos pages sont construites dans le navigateur, comme beaucoup de sites React ou créés par IA, ces crawlers ne voient presque rien.
Données clés
- Vercel a indiqué le 17 décembre 2024 qu'aucun des grands crawlers IA, dont GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot et PerplexityBot, n'exécute JavaScript. (Vercel : la montée des crawlers IA (déc. 2024))
- La même étude indique que Gemini, qui utilise l'infrastructure de Googlebot, et AppleBot exécutent bien JavaScript. (Vercel : la montée des crawlers IA (déc. 2024))
- Sur le réseau de Vercel, en un mois, le crawler de ChatGPT a téléchargé des fichiers JavaScript dans 11,50 % de ses requêtes et celui de Claude dans 23,84 %, sans les exécuter. (Vercel : la montée des crawlers IA (déc. 2024))
- OpenAI indique que les sites désactivés pour OAI-SearchBot n'apparaîtront pas dans les réponses de la recherche ChatGPT : la page que ce crawler lit est donc celle que ChatGPT peut citer. (OpenAI: Overview of OpenAI crawlers)
- Dans le App Router de Next.js, les layouts et les pages sont des composants serveur par défaut et sont prérendus en HTML sur le serveur. (Documentation Next.js : composants serveur et composants client)
Comment tester si les crawlers IA peuvent lire mon site ?
Récupérez une page comme le ferait un crawler, sans navigateur, puis cherchez-y son texte principal. Si le prix, le titre ou la réponse manque, les crawlers IA ne le voient pas.
# Ce que reçoit un crawler IA : le HTML brut, sans exécuter JavaScript curl -s -A "GPTBot" https://www.example.com/pricing | grep -i "votre prix ou titre principal" # Rien trouvé ? Le texte n'existe qu'après l'exécution de JavaScript.
Quels types de sites ont ce problème ?
Les sites dont le contenu est créé par JavaScript dans le navigateur après le chargement de la page :
- Applications à page unique construites avec React, Vue ou Angular et Vite, sans rendu côté serveur
- Sites générés par des créateurs d'applications IA qui livrent une application rendue côté client
- Pages qui chargent leur texte depuis une API après le premier affichage
- Menus et liens faits de gestionnaires de clic au lieu de vrais liens <a href>
Quelle correction pour chaque configuration ?
La correction consiste à envoyer le texte final dans la première réponse HTML.
| Configuration | Quoi demander à l'agent de codage |
|---|---|
| Next.js App Router | Garder les pages en composants serveur ; ne marquer que les parties interactives avec "use client" |
| React ou Vue avec Vite | Prérendre les pages publiques en HTML statique au moment du build, ou passer à un framework avec rendu serveur |
| Contenu chargé depuis une API | Le récupérer côté serveur ou au build, pas dans useEffect |
| Tout framework | De vrais liens <a href>, un sitemap.xml et le texte visible sans clic |
Google a-t-il le même problème ?
Moins : le crawler de Google exécute JavaScript, donc la Recherche Google et Gemini peuvent voir un texte rendu côté client, mais plus tard qu'un HTML simple. ChatGPT, Claude et Perplexity sont ceux qui ne lisent que le HTML brut.
Comment easyIndex contrôle-t-il cela ?
easyIndex lit lui-même chaque page publiée, comme le ferait un crawler IA, sans exécuter JavaScript. Une page que votre agent de codage construit n'est considérée comme terminée que si le texte audité figure dans ce HTML brut sur le site en ligne.
Étape par étape
- Testez vos pages clés. Lancez le test curl sur l'accueil, la page de prix et les pages de services principales, et cherchez leur texte principal.
- Trouvez où le texte est construit. Demandez à votre agent de codage quelles pages rendent leur contenu dans le navigateur, et pourquoi.
- Déplacez le texte côté serveur. Faites passer ces pages au rendu serveur ou au prérendu statique, en gardant l'interactivité seulement là où elle est nécessaire.
- Corrigez les liens et le sitemap. Faites de chaque lien interne un vrai <a href> et listez chaque page publique dans sitemap.xml.
- Retestez sur le site en ligne. Refaites le test curl après le déploiement : le texte doit apparaître dans le HTML brut.
Erreurs fréquentes
- Vérifier la page dans un navigateur, qui exécute JavaScript, et supposer que les crawlers voient la même chose.
- Rendre la page d'accueil côté serveur mais laisser les pages de prix et de services rendues côté client.
- Bloquer les crawlers IA par accident en corrigeant le rendu, dans robots.txt ou le CDN.
- Payer une couche de prérendu alors que le framework rend déjà côté serveur.
Comment easyIndex le résout
Votre agent de codage corrige le rendu dans votre dépôt, guidé via MCP ; easyIndex lit chaque page en ligne sans exécuter JavaScript, comme le font les crawlers IA, puis enregistre les pages que les crawlers IA lisent réellement. 30 $US par site et par mois, avec un essai gratuit de 7 jours.
Questions fréquentes
Un site Next.js est-il sûr par défaut ?
Dans l'ensemble oui : les pages du App Router sont rendues côté serveur par défaut, mais un texte récupéré dans un composant client après le chargement reste invisible pour les crawlers IA.
Un fichier llms.txt règle-t-il le problème de JavaScript ?
Non. C'est un court fichier texte ; les pages elles-mêmes doivent toujours avoir leur texte dans le HTML pour que les crawlers puissent les lire et les citer.
Les crawlers IA vont-ils se mettre à exécuter JavaScript ?
Personne ne peut le dire. À la date de l'étude de décembre 2024, ils ne le faisaient pas, et le choix prudent reste d'envoyer le texte dans le HTML.
Cela touche-t-il les visiteurs venus de ChatGPT ?
Non. Les personnes ouvrent votre site dans un navigateur normal qui exécute JavaScript ; le problème ne concerne que ce que le crawler lit avant de vous citer.
Lire la suite
- Comment fonctionne easyIndex, de quoi ai-je besoin et combien de temps avant les résultats ?
- Combien coûte easyIndex ?
- Quels robots IA existent et comment les autoriser dans robots.txt ?
- llms.txt fonctionne-t-il ?
- Comment faire du GEO avec Claude Code ou Codex ?
- Cloudflare bloque-t-il ChatGPT et les autres crawlers IA sur mon site ?
Dernière vérification le .