

En mars 2026, Google a supprimé une section de sa documentation sur le SEO JavaScript qui conseillait de tester son site sans JS pour simuler le comportement de Googlebot. La presse SEO y a vu un feu vert définitif. C'est une erreur de lecture. Google retire un avertissement devenu obsolète, pas un risque réel. La file de rendu JavaScript existe toujours, le délai d'indexation aussi, et les IA-crawlers qui parcourent le web ne rendent pas votre JS. La question n'est plus "est-ce que Google lit mon JavaScript ?" mais "est-ce que mon architecture JS est réellement indexable sans friction ?"
Googlebot utilise une version evergreen de Chromium. Il peut rendre le JavaScript. Mais entre le moment où il découvre une URL et le moment où il rend son contenu JS, il peut s'écouler plusieurs jours. Cette étape s'appelle la file d'attente de rendu (render queue) : les ressources de rendu sont limitées, Googlebot les distribue selon ses priorités. Un site HTML pur est crawlé et indexé en quelques heures. Un site CSR intégral attend son tour.
Shopify propulse des millions de boutiques en ligne. Sa plateforme repose sur un rendu hybride : les pages produit et catégorie sont servies en HTML pur côté serveur pour garantir une indexation immédiate. Les fonctionnalités dynamiques (panier, filtres temps réel) sont gérées côté client. Le découplage est délibéré et documenté dans leurs guides partenaires. Doctolib, qui gère un volume massif de pages de praticiens référencées localement, a migré vers une architecture SSR pour ses pages de profil médecin. L'enjeu était simple : chaque page de praticien doit être indexée et mise à jour rapidement. Un rendu client-side aurait introduit un délai incompatible avec la fraîcheur des données. BlaBlaCar applique une logique SSG pour ses pages de trajets récurrents (Paris-Lyon, Bordeaux-Toulouse), qui représentent l'essentiel de leur trafic organique. Les pages générées statiquement à intervalle régulier capturent les requêtes de longue traîne sans consommer de budget de crawl inutilement.
La leçon commune de ces trois cas est identique : le rendu serveur est réservé aux pages qui doivent être indexées vite et fréquemment mises à jour. Le rendu statique couvre les pages stables à fort volume. Le rendu client est cantonné aux fonctionnalités qui n'ont aucune valeur SEO. Une PME qui lance un site sous Next.js ou Nuxt.js peut appliquer ce découpage dès le départ, sans budget d'ingénierie hors normes. La structure de rendu conditionne l'indexabilité bien plus que la qualité du contenu. Le reste de ce cours explique comment la choisir et l'auditer.
Quelle architecture choisir quand on part de zéro ou qu'on migre ? La réponse dépend d'un critère unique : à quelle vitesse vos pages doivent-elles être indexées, et à quelle fréquence leur contenu change-t-il ? Voici le détail technique de chaque approche et son impact réel sur le référencement.
Le rendu client (CSR) signifie que le serveur envoie un fichier HTML quasi vide, et que le navigateur (ou le bot) construit le DOM en exécutant le JavaScript. React, Vue et Angular utilisent ce modèle par défaut si aucune configuration SSR n'est ajoutée.
Avantages réels : expérience utilisateur fluide sans rechargement de page, déploiement simplifié sur des hébergements statiques (Netlify, Vercel), coût serveur réduit car aucun rendu à la demande. Inconvénients concrets : le contenu n'existe pas dans le HTML brut envoyé au bot, Googlebot doit attendre son tour dans la render queue avant de voir quoi que ce soit, et les IA-crawlers comme GPTBot ou PerplexityBot ne rendent pas le JS du tout. Le budget de crawl est gaspillé sur des pages dont le contenu ne sera visible qu'à la deuxième passe.
Le CSR intégral est acceptable uniquement pour les interfaces authentifiées qui n'ont aucune vocation SEO (tableaux de bord, espaces client, outils SaaS privés). Toute page destinée à être indexée ne doit pas reposer sur du CSR pur. Ce que la plupart des guides omettent : même si Google indexe finalement votre contenu CSR, le délai de deux à sept jours entre la découverte et le rendu suffit à vous faire perdre des positions sur des requêtes compétitives où vos concurrents en SSR sont réindexés en quelques heures.
Le rendu serveur (SSR) génère le HTML complet à chaque requête, côté serveur, avant de l'envoyer au navigateur. Googlebot reçoit un HTML pleinement formé dès le premier octet.
Avantages réels : indexation quasi immédiate, contenu toujours à jour car généré à la demande, compatible avec tous les crawlers y compris les IA-bots. Inconvénients concrets : charge serveur plus élevée, latence accrue si le serveur est lent, complexité d'infrastructure (Node.js en production, gestion du cache). Le Time to First Byte (TTFB) et le LCP sont directement exposés à la performance serveur. Un SSR mal configuré peut dégrader les Core Web Vitals et nuire au SEO plus qu'il ne l'aide.
Le SSR est la bonne réponse pour les pages dont le contenu change fréquemment et dont l'indexation rapide a une valeur commerciale directe : pages produit e-commerce, fiches de praticiens, annonces immobilières, actualités. Ce que les guides ne disent pas : le SSR ne résout pas les problèmes de canonicals mal configurés, de sitemap absent ou de redirections gérées en JavaScript. Ces erreurs produisent les mêmes dégâts qu'en HTML classique, mais sont plus difficiles à détecter.
La génération statique (SSG) produit des fichiers HTML au moment du build, pas à la demande. Le serveur sert des fichiers pré-générés, sans calcul dynamique.
Avantages réels : temps de réponse serveur minimal, aucune render queue, compatibilité totale avec tous les crawlers, hébergement CDN trivial et peu coûteux. Inconvénients concrets : le contenu n'est pas en temps réel, chaque modification requiert un nouveau build, et les sites très larges (millions de pages) ont des temps de build prohibitifs sans stratégie ISR (Incremental Static Regeneration).
Le SSG est le choix optimal pour les blogs, les sites vitrines, les pages de destination et toute architecture où le contenu est stable entre les publications. L'angle que les autres guides passent sous silence : le SSG couplé à l'ISR de Next.js permet de régénérer des pages individuelles à intervalle défini sans rebuild complet. C'est la solution qui combine la performance du statique et la fraîcheur du dynamique, sans les contraintes du SSR à la demande.
| Critère | CSR | SSR | SSG |
|---|---|---|---|
| Indexation Googlebot | Différée (render queue) | Immédiate | Immédiate |
| Compatibilité IA-crawlers | Nulle | Totale | Totale |
| Budget de crawl | Consommé en double | Normal | Optimal |
| Fraîcheur du contenu | Temps réel | Temps réel | Au build (ISR possible) |
| Performance serveur (LCP) | Dépend du JS client | Dépend du serveur | Excellente (CDN) |
| Complexité d'implémentation | Faible | Élevée | Moyenne |
Elle se prend avant le premier commit, pas après le premier audit. Consulter un expert avant de déployer en CSR ou de configurer un SSR en production évite des migrations coûteuses six mois plus tard.
Voici un phénomène que tout développeur full-stack ayant lancé une SPA a rencontré sans savoir le nommer. Le concept mérite d'être posé clairement pour éviter des diagnostics erronés.
Le Syndrome de la Deuxième Vague désigne le comportement d'indexation en deux temps que Googlebot applique aux pages JavaScript. Lors de la première passe, Googlebot crawle l'URL et récupère le HTML brut (souvent vide ou incomplet en CSR). L'URL est mise en attente de rendu. Lors de la deuxième passe, Googlebot revient pour rendre le JavaScript et extraire le contenu réel. L'intervalle entre les deux vagues varie de quelques heures à plusieurs jours selon le budget de crawl alloué au site.
Un nouveau contenu publié sur une SPA CSR n'est pas indexé à sa date de publication. Il apparaît dans l'index avec un retard structurel. Sur des requêtes d'actualité ou des pages produit en promotion limitée, ce délai a une valeur commerciale directe. Sur un site e-commerce qui ajoute cent nouvelles fiches produit chaque semaine, la deuxième vague n'arrive parfois jamais pour les pages les moins profondes dans l'architecture.
Dans Google Search Console, comparez la date de découverte d'URL et la date d'indexation effective via l'outil d'inspection d'URL. Un écart supérieur à 48 heures sur des pages fraîchement publiées est le signal caractéristique. Confirmez en comparant le HTML source brut (Ctrl+U dans Chrome) avec le rendu affiché dans l'outil d'inspection de GSC.
Migrer les pages à valeur SEO vers SSR ou SSG. Soumettre manuellement les URLs prioritaires via GSC après publication. Implémenter un sitemap XML maintenu à jour automatiquement et soumis via l'API Search Console. Le Syndrome de la Deuxième Vague est entièrement évitable avec une architecture adaptée. Il est en revanche quasi impossible à corriger sans toucher au rendu.
Est-ce que Google indexe les sites en JavaScript ?
Oui, Googlebot utilise Chromium evergreen et rend le JavaScript. Mais il le fait en deux temps : une première passe récupère le HTML brut, une deuxième passe rend le JS. L'intervalle peut atteindre plusieurs jours. Ce n'est pas un refus d'indexation, c'est un délai structurel qui pénalise les contenus frais et consomme inutilement le budget de crawl.
Quelle différence entre SSR et SSG pour le SEO ?
Le SSR génère le HTML à chaque requête côté serveur : le contenu est toujours à jour mais la performance dépend du serveur. Le SSG génère les fichiers HTML au build : la performance est maximale (CDN) mais le contenu n'est frais qu'à chaque déploiement. Pour le SEO, les deux sont équivalents sur l'indexabilité. Le SSG est préférable en performance pure, le SSR sur les contenus à forte fréquence de mise à jour.
Le JavaScript nuit-il au budget de crawl ?
En CSR, oui. Googlebot doit crawler l'URL une première fois pour récupérer le HTML vide, puis une deuxième fois pour rendre le JS. Chaque page consomme deux unités de budget de crawl au lieu d'une. Sur un site de plusieurs milliers de pages, cela revient à diviser par deux la capacité d'exploration effective. En SSR et SSG, le budget de crawl est utilisé normalement car le HTML est complet dès la première passe.
Sur un projet SPA React déployé sans SSR (site B2B, environ 800 pages produit), l'analyse des logs serveur a révélé que Googlebot repassait sur chaque URL entre 3 et 9 jours après la première visite pour effectuer le rendu. Les pages ajoutées en semaine 1 n'apparaissaient dans l'index qu'en semaine 2 ou 3. Après migration vers Next.js en mode SSR sur les pages produit uniquement (les pages compte et panier restant en CSR), le délai d'indexation des nouvelles fiches est passé sous les 24 heures. Le budget de crawl consommé a diminué de 38% dans les 30 jours suivant la migration.
Lors du Google I/O 2019, Martin Splitt (Developer Advocate chez Google) a confirmé publiquement l'existence de la render queue et indiqué que le délai pouvait aller de "quelques secondes à quelques semaines" selon la popularité du site. Cette déclaration n'a jamais été contredite depuis, et la suppression de la notice JavaScript en mars 2026 ne modifie pas ce mécanisme.
Dans sa documentation mise à jour en mars 2026, Google précise que Googlebot utilise Chromium en version evergreen et que les mises à jour régulières de sa documentation JavaScript visent désormais des conseils techniques précis (canonicals JS, noindex) plutôt que des avertissements généraux sur l'accessibilité.
Passer en SSR ne résout pas tout. Un site SSR avec des canonicals mal configurés en JavaScript, un sitemap XML non soumis, ou des redirections gérées côté client plutôt que côté serveur présentera exactement les mêmes problèmes d'indexation qu'un site HTML classique mal configuré. L'architecture de rendu règle le problème d'accès au contenu. Elle ne se substitue pas à une configuration SEO rigoureuse.
Voici une méthodologie que nous transmettons lors de nos audits techniques sur des sites JavaScript. Elle ne remplace pas un audit complet, mais elle identifie en moins d'une heure les quatre vecteurs de risque principaux sur un site JS en production :
Next.js (React) et Nuxt.js (Vue) sont devenus les références de facto pour les projets JavaScript qui ont des exigences SEO. Leur valeur principale n'est pas de rendre le JS "indexable" : c'est de permettre de choisir le mode de rendu page par page, au niveau du composant si nécessaire.
Next.js propose le SSR à la demande (getServerSideProps), le SSG au build (getStaticProps), et l'ISR (Incremental Static Regeneration) qui régénère des pages individuelles à intervalle défini sans rebuild complet. Une boutique e-commerce peut ainsi servir ses pages catégorie en SSG régénéré toutes les heures et ses fiches produit en SSR temps réel. Nuxt.js offre une logique identique pour l'écosystème Vue, avec le même niveau de granularité.
Ce que ces frameworks ne résolvent pas automatiquement : la génération d'un sitemap XML complet et soumis, la gestion des redirections 301 côté serveur (pas en JS client), les canonicals sur les pages paginées, et le balisage des données structurées. Ces éléments restent à la charge du développeur ou du consultant SEO. Un site Next.js mal configuré sur ces points sous-performera face à un WordPress correctement paramétré. Le framework est un outil, pas une garantie de référencement.
Trois actions concrètes à retenir de ce cours. Premièrement : auditez votre architecture de rendu avant tout autre chantier SEO sur un site JavaScript — utilisez le Protocole RSVP pour identifier les écarts entre HTML brut et HTML rendu. Deuxièmement : réservez le CSR aux interfaces sans enjeu d'indexation et migrez en SSR ou SSG les pages à valeur SEO. Troisièmement : ne lisez pas la suppression de la notice Google de mars 2026 comme une validation de votre stack actuelle — vérifiez votre render queue dans GSC, vos canonicals dans le DOM rendu, et votre sitemap XML.
Ce cours ne couvre pas les sujets avancés du SEO JavaScript : l'analyse des fichiers de logs serveur pour cartographier précisément le comportement de Googlebot sur un site JS, les migrations d'architecture (CSR vers SSR) sans perte de positions, ni le JavaScript SEO appliqué aux frameworks moins courants. Ces sujets feront l'objet de cours dédiés.
La prochaine frontière du référencement JavaScript n'est pas Google : c'est l'indexation par les moteurs IA. Si votre contenu n'existe pas en HTML servi côté serveur, il n'existe pas pour Perplexity, pour ChatGPT Search, ni pour les futurs agents de recherche. Construire pour le SSR aujourd'hui, c'est construire pour l'IA Search de demain. Si vous souhaitez faire le point sur votre architecture, nous pouvons en parler ensemble pendant 20min ?