Contenu dépendant d'un JavaScript non fiable
Mis à jour le 12 août 2026
Pourquoi c'est important
Quand le contenu principal d'une page n'est disponible qu'après exécution de JavaScript, les moteurs risquent de ne pas le voir. Googlebot sait exécuter du JS, mais en deux temps : il crawle d'abord le HTML brut, puis place la page dans une file d'attente de rendu qui peut mettre des jours à être traitée. Un contenu invisible dans le HTML initial peut donc être indexé avec un fort retard, partiellement, ou pas du tout si le rendu échoue. Le problème s'est aggravé avec les moteurs de réponse : la plupart des crawlers d'IA génératives (GPTBot, ClaudeBot, PerplexityBot) n'exécutent aucun JavaScript. Un contenu monté côté client leur est purement et simplement invisible, ce qui exclut la page de toute citation dans les réponses générées.
Comment Bretzel SEO le détecte
Bretzel SEO compare le contenu présent dans le HTML brut renvoyé par le serveur à celui obtenu après rendu complet de la page. Quand le HTML initial est quasi vide, ou qu'un écart important apparaît entre les deux versions sur les éléments critiques (titres, texte principal, liens, données structurées), la page est signalée comme dépendante d'un JavaScript non fiable.
Comment corriger
Rendez le contenu essentiel disponible dès le HTML initial via du rendu côté serveur (SSR), de la génération statique (SSG) ou du prerendering. Traitez en priorité les éléments que les moteurs lisent en premier : balise title, meta description, H1, texte principal, liens internes et données structurées JSON-LD. Réservez le JavaScript aux enrichissements progressifs, filtres, animations, interactions, plutôt qu'au contenu critique lui-même. Assurez-vous que les liens internes sont de vraies balises <a href="..."> présentes dans le HTML : un lien construit en JS au clic n'est pas suivi par les crawlers, ce qui isole les pages qu'il devait desservir. Vérifiez le résultat en affichant le code source de la page (et non l'inspecteur d'éléments, qui montre le DOM après exécution du JS) : ce que vous y lisez correspond à ce que voit un crawler qui n'exécute rien.
Exemple avant/après
Avant : le HTML initial ne contient qu'un <div id="root"></div> vide, tout le contenu étant monté par le client. Un crawler sans exécution JS ne voit littéralement aucun texte. Après : le HTML renvoyé par le serveur contient déjà le titre, le texte, les liens internes et le JSON-LD, lisibles sans exécuter la moindre ligne de JavaScript.
Impact SEO
Impact fort : servir le contenu dans le HTML initial garantit une indexation rapide et complète, là où le rendu JS seul la retarde ou la tronque.