Google Niveau · Avancé Lecture 3 min

Rendu JavaScript

Ce que le Web Rendering Service exécute vraiment, et comment vérifier qu’un contenu injecté côté client est indexé.

Définition courte

Le rendu JavaScript designe l’execution du code JS d’une page par Google. Googlebot confie cette tache au Web Rendering Service (WRS), un navigateur Chromium sans interface. Le WRS repose sur un Chromium evergreen depuis 2019. En SEO, le rendu JavaScript conditionne l’indexation du contenu injecte cote client.

À retenir
01Google traite les pages JavaScript en deux vagues : crawl du HTML brut, puis rendu differe (Google Search Central).
02Le WRS s’appuie sur un Chromium evergreen depuis 2019, compatible ES6+ (Google Search Central).
03Une page en statut HTTP non-200 peut voir son rendu JavaScript ignore (Google Search Central).

Comment fonctionne le rendu JavaScript ?

Le rendu JavaScript fonctionne en deux vagues distinctes chez Google. Lors de la premiere vague, Googlebot telecharge le HTML brut renvoye par le serveur. Googlebot indexe immediatement le texte, les liens et les balises presents dans ce HTML. Lors de la seconde vague, la page rejoint une file d’attente de rendu. Le Web Rendering Service execute alors le JavaScript via Chromium et produit le DOM final. Google indexe ensuite ce contenu rendu. Ce delai entre les deux vagues varie de quelques heures a plusieurs semaines selon l’autorite du domaine, d’apres la documentation Google.

Pourquoi le rendu JavaScript est important pour le SEO ?

Le rendu JavaScript determine si Google voit le contenu injecte cote client. En rendu cote client (CSR) pur, le HTML brut reste quasi vide. Googlebot ne decouvre le contenu qu’apres la seconde vague, avec un delai qui va de quelques heures a plusieurs semaines. Ce delai fait perdre des positions sur les requetes concurrentielles et d’actualite. Le rendu JavaScript pese aussi sur le budget de crawl : une page lourde en JS consomme davantage de ressources qu’une page HTML statique. Les crawlers d’IA comme GPTBot, ClaudeBot et PerplexityBot n’executent pas le JavaScript, ce qui rend le contenu CSR invisible pour ChatGPT, Claude et Perplexity.

CritereCSRSSRSSG
HTML brut recu par GooglebotQuasi videCompletComplet (pre-genere)
Indexation du contenuDifferee (2e vague)Immediate (1re vague)Immediate (1re vague)
Budget de crawl consommeEleveMaitriseMinimal
Visibilite crawlers IAFaibleBonneOptimale
Cas d’usage adapteApps authentifieesSites SEO dynamiquesContenu stable

Est-ce que Google indexe les sites en JavaScript ?

Oui, Google indexe les sites en JavaScript depuis 2019 via un Chromium evergreen. Googlebot procede en deux temps : il lit d’abord le HTML brut, puis le Web Rendering Service execute le JavaScript quelques heures a quelques semaines plus tard. Un rendu qui echoue (timeout, erreur JS, ressource bloquee) fait indexer une page vide. Le SSR et le SSG securisent cette indexation.

Comment verifier le rendu JavaScript dans Google Search Console ?

L’outil d’inspection d’URL de Google Search Console affiche le rendu JavaScript vu par Googlebot. Apres avoir lance « Tester l’URL en direct », l’onglet du HTML rendu et la capture d’ecran montrent le DOM produit par le Web Rendering Service. Un contenu absent de ce rendu signale un probleme de rendu JavaScript a corriger avant l’indexation.

Exemple concret de rendu JavaScript

Le rendu JavaScript se verifie en comparant le HTML brut et le DOM rendu. En rendu cote client, le view-source d’une application React affiche un conteneur vide. Googlebot ne voit que ce HTML lors de la premiere vague, sans le contenu. Le texte n’apparait qu’apres execution du bundle par le Web Rendering Service. En SSR, le meme serveur renvoie le HTML complet des la premiere requete.

<body> <div id="root"></div> <script src="/static/js/bundle.js"></script> </body>

Erreur fréquente observée en audit

Cas réel. Sur un site de voyage, des pages répondaient correctement avec un code HTTP 200, mais un script publicitaire empêchait Googlebot d’obtenir le rendu JavaScript complet. Le contenu principal et une partie des liens internes étaient absents du DOM analysé par Google. La correction du script a permis de rendre de nouveau ces éléments accessibles, sans modifier les textes ni les balises SEO des pages.

Aller plus loin

Faire expliquer ce terme par une IA

Ouvre le moteur de ton choix avec un prompt pré-rempli sur ce terme.

Sources

  1. 1Google Search Central, Comprendre les bases du SEO JavaScript · 4 mars 2026
  2. 2Google Search Central, Understand JavaScript SEO Basics · 4 mars 2026

Trois idées reçues sur le rendu JavaScript

Le rendu JavaScript inquiète encore sur la base d’un état de fait dépassé depuis 2019.

Mythe

Google n’indexe pas les sites en JavaScript. Google rend les pages et indexe le HTML produit. Le contenu injecté côté client attend la vague de rendu.

Mythe

Le rendu côté serveur est obligatoire pour le SEO. Il supprime la dépendance au rendu et accélère l’affichage. Google indexe aussi les applications rendues côté client.

Mythe

Un contenu chargé au clic finit par être indexé. Googlebot ne clique pas. Un contenu qui exige une interaction reste hors du rendu.

Questions fréquentes

Le rendu côté serveur est-il nécessaire au SEO ?

Non, Google exécute le JavaScript. Le rendu côté serveur supprime la dépendance à cette étape et accélère l’affichage. Il reste recommandé sur les contenus stratégiques et les gros catalogues.

Les autres moteurs exécutent-ils le JavaScript ?+

La prise en charge varie et reste moins documentée que celle de Google. Bing déclare rendre le JavaScript, avec des limites. Les crawlers IA n’annoncent aucune garantie sur ce point.

Un contenu chargé au clic est-il indexé ?+

Non, Googlebot ne clique pas. Un contenu qui exige une interaction pour se charger reste hors du rendu. Le charger avec la page, même masqué à l’écran, le rend indexable.

Damien Hernandez, consultant SEO senior
Auteur

Damien Hernandez

Consultant SEO senior, 17 ans d’expérience (Accor, Louvre Hotels, Infopro Digital). Spécialiste SEO technique, analyse de logs et optimisation pour les moteurs génératifs (GEO).