Javascript

Comment Googlebot gère le JavaScript

Googlebot visite les pages en deux temps. D'abord, il télécharge le HTML brut. Ensuite, dans une file d'attente distincte, il exécute le JavaScript pour obtenir le rendu final de la page. Ce deuxième passage peut prendre plusieurs jours, voire plusieurs semaines selon la taille du site.

Concrètement : si votre contenu principal (texte, liens, balises) est injecté par JavaScript après le chargement, Googlebot ne le verra pas lors du premier passage. Il peut l'indexer plus tard, ou pas du tout si la file de rendu est saturée.

Le "two-wave indexing" : Google lui-même a documenté ce fonctionnement en deux vagues. La première vague indexe le HTML statique. La deuxième exécute le JS. Entre les deux, un délai variable peut impacter la fraîcheur de l'indexation.

Problèmes SEO courants liés au JavaScript

Problème Cause JS Conséquence SEO
Contenu non indexé Texte injecté après chargement Page introuvable sur Google
Liens non suivis Navigation générée en JS Pages orphelines, maillage interne cassé
Métadonnées manquantes Balises title/meta injectées en JS Mauvais snippets dans les résultats
Délai de rendu élevé JS lourd, dépendances multiples Score Core Web Vitals dégradé
URLs hachées (#fragment) Navigation SPA sans History API Pages non indexables

CSR, SSR et SSG : ce que ça change pour le SEO

Les frameworks JavaScript modernes (React, Vue, Angular, Next.js) offrent différents modes de rendu :

Recommandations pratiques

  1. Privilégier le contenu dans le HTML statique

    Les éléments critiques pour le SEO (H1, texte principal, liens de navigation, balises meta) doivent être présents dans le source HTML, sans dépendre du JS.

  2. Tester avec "Afficher la source" vs "Inspecter"

    Ctrl+U affiche le HTML brut reçu par Googlebot. Si votre contenu n'y apparaît pas mais est visible dans les outils développeur, il est en JS pur et potentiellement invisible.

  3. Utiliser l'outil "Inspecter l'URL" dans Search Console

    Google Search Console permet de tester le rendu d'une URL tel que Googlebot la voit. C'est le moyen le plus fiable de détecter un problème de rendu JS.

  4. Opter pour SSR ou SSG si l'indexation est prioritaire

    Pour les sites e-commerce, les blogs ou tout site dont le SEO est un levier commercial, éviter le rendu côté client pur. Next.js, Nuxt.js ou un générateur statique sont des alternatives solides.

Le PHP et le HTML statique restent les approches les plus simples et les plus sûres pour l'indexation : le contenu est disponible immédiatement, sans délai de rendu.