Un test mené en juin 2026 sur douze assistants IA dévoile un angle mort majeur pour le GEO : ChatGPT, Claude, Gemini, Perplexity et Copilot ne rendent pas le JavaScript lors d’un grounding sur URL. Ils se contentent du HTML brut, ignorant tout contenu injecté dynamiquement. Pour les équipes qui optimisent des pages web construites avec React, Vue ou Angular, cela signifie qu’une partie de leur contenu clé est invisible pour ces assistants. Les implications sur la visibilité dans les réponses génératives sont directes.

Ce que révèle le test de juin 2026 sur le rendu JavaScript par les assistants IA
Publiée par Search Engine World le 16 juin 2026, l’étude repose sur une mécanique simple : chaque assistant a reçu une URL inédite, jamais indexée. La page contenait dans son HTML brut une valeur fictive (le leurre), qu’un script JavaScript externe remplaçait par une valeur réelle, récupérée depuis un second endpoint. La valeur réelle n’existait nulle part dans les fichiers texte – il fallait exécuter le code pour l’obtenir.
Les logs serveur ont enregistré trois niveaux de requête : accès à la page, téléchargement du fichier JS, appel à l’endpoint d’exécution. En comparant la valeur rapportée par chaque assistant avec ce que les logs montraient, le verdict est sans appel.
Pourquoi les assistants américains échouent-ils à exécuter le JavaScript ?
Sur les douze assistants testés, six – ChatGPT, Claude, Gemini, Perplexity, Meta AI et Microsoft Copilot – n’exécutent pas le JavaScript côté client. Ils lisent uniquement le HTML statique renvoyé par le serveur. Pour un site qui charge ses prix, descriptions ou titres via un framework JS, ces données sont absentes du contenu qu’ils analysent. Le problème est structurel : ces assistants ne disposent pas d’un moteur de rendu JavaScript complet lors du grounding déclenché par l’utilisateur.
Le cas particulier de Copilot et Grok
Copilot a téléchargé le fichier JavaScript via Diffbot, mais ne l’a pas exécuté : l’appel à l’endpoint n’a jamais eu lieu. Grok (xAI) présente un comportement plus étrange : un nœud de son réseau proxy a bien exécuté le JS, mais la réponse dans le chat citait quand même le leurre. Le pipeline de rendu et le modèle de réponse ne communiquent pas. Ces anomalies montrent que même quand un assistant semble capable d’exécuter du code, le résultat peut être perdu.
| Assistant IA | JavaScript rendu ? | Valeur rapportée |
|---|---|---|
| ChatGPT | Non | Leurre (HTML brut) |
| Claude | Non | Leurre (HTML brut) |
| Gemini | Non | Leurre (HTML brut) |
| Perplexity | Non | Leurre – a prétendu ne pas accéder à la page |
| Meta AI | Non | Leurre (HTML brut) |
| Microsoft Copilot | A téléchargé le JS, ne l’a pas exécuté | Leurre (HTML brut) |
| Grok (xAI) | A exécuté JS, a ignoré le résultat | Leurre (HTML brut) |
| DeepSeek | Oui | Valeur réelle |
| ERNIE (Baidu) | Oui | Valeur réelle |
| Qwen (Alibaba) | Oui | Valeur réelle |
| Kimi (Moonshot) | Oui | Valeur réelle |
| Mistral | Oui | Valeur réelle |
Les implications concrètes pour votre stratégie d’optimisation
Une grande part du web professionnel repose sur des frameworks client-side : fiches produits chargées via API, prix injectés après le DOM initial, descriptions issues d’un CMS headless. Pour un visiteur humain, cela fonctionne parfaitement. Pour ChatGPT, Gemini ou Claude, ce contenu n’existe pas. Ils résument et citent ce qu’ils voient dans le HTML brut – un squelette vide ou des placeholders.
- Les pages construites avec React, Vue ou Angular risquent de ne pas transmettre leurs données clés aux assistants américains.
- Les données structurées Schema.org insérées dynamiquement ne sont pas visibles si elles ne figurent pas dans le HTML initial.
- Les prix actualisés en temps réel ou les descriptions personnalisées restent ignorés lors d’un grounding.
- Le problème est mesurable aujourd’hui, comme le confirment les logs.
Le problème des auto-déclarations des assistants
Perplexity a indiqué dans le chat qu’il ne parvenait pas à accéder à la page, alors que les logs montraient une requête réussie avec un HTTP 200. Cette incohérence révèle un biais : ne faites pas confiance à ce qu’un assistant dit avoir lu. Seule l’analyse des logs de robots permet de vérifier le comportement réel. Une analyse approfondie des logs est devenue indispensable pour auditer ce que les IA perçoivent.
Quatre actions immédiates pour rester visible dans les réponses IA
1. Passer au server-side rendering ou au pre-rendering
Pour tout contenu prioritaire (prix, descriptions, titres, données structurées), utilisez Next.js, Nuxt ou Astro pour servir un HTML complet dès la première réponse serveur. Sans cela, les assistants américains ne le verront pas.
2. Hardcoder les informations clés en tête de HTML
Même sans SSR, placez les données essentielles (titre, prix, résumé, date, auteur) dans le HTML statique initial, avant tout script. Ce qui est en haut du source a plus de chances d’être lu et retenu.
3. Utiliser les données structurées Schema.org dans le HTML brut
Les balises schema.org/Product, Article, FAQPage ou HowTo placées dans le HTML statique sont accessibles même pour un assistant qui ne rend pas le JS. C’est un levier sous-exploité dans les stratégies GEO, alors qu’il répond exactement à ce problème.
4. Auditer vos pages avec un outil de rendu HTML brut
Faites un curl sur vos URLs les plus importantes, ou utilisez la vue « source » dans Chrome (Ctrl+U). Si votre contenu clé n’apparaît pas dans ce source, un assistant IA ne le verra pas non plus. Pour une vision plus globale, l’impact sur le trafic SEO en 2029 pourrait bien être accentué par ces angles morts.
Ce test ne couvre que le grounding déclenché par l’utilisateur, pas les crawlers de fond comme GPTBot ou ClaudeBot qui peuvent se comporter différemment pour l’indexation. Mais la direction est constante : le contenu qui doit être cité doit être présent dans le HTML dès la première réponse serveur. C’était vrai pour le SEO classique depuis 2010, ça l’est encore plus pour le GEO en 2026. Les équipes qui continuent d’empiler du contenu dans des frameworks JS sans SSR prennent un risque mesurable – aujourd’hui, dans les logs.
