Glossaire SEO

SEO JavaScript : définition et explications

Le SEO JavaScript vise à ce que le contenu et les liens générés par JavaScript soient explorés, restitués et indexés par les moteurs et les bots d’IA.

Vérifiez gratuitement : Analyse SEO

SEO JavaScript: Le SEO JavaScript vise à ce que le contenu et les liens générés par JavaScript soient explorés, restitués et indexés par les moteurs et les bots d’IA.

Le SEO JavaScript est la partie du SEO technique qui concerne les sites construits ou enrichis avec JavaScript : React, Vue, Angular, Svelte et les frameworks qui les entourent. L’objectif est simple : tout ce que les gens voient après l’exécution des scripts, les moteurs de recherche et les crawlers d’IA doivent aussi pouvoir le trouver, le restituer et l’indexer.

Comment Google traite le JavaScript

Google traite les pages JavaScript en trois phases : exploration, rendu et indexation (les bases du SEO JavaScript). Googlebot récupère d’abord le HTML brut. La page attend ensuite dans une file de rendu qu’une version à jour de Chromium exécute les scripts, et les liens trouvés dans le HTML restitué sont mis en file pour l’exploration. Le rendu se fait généralement vite, mais c’est une étape supplémentaire qui peut échouer : fichiers de script bloqués, délais dépassés, erreurs de code, ou contenu qui attend une action de l’utilisateur.

De nombreux autres bots ne font pas de rendu

Bing restitue aussi le JavaScript, mais beaucoup de crawlers ne le font pas. Des analyses indépendantes, comme celle publiée par Vercel fin 2024, ont constaté que les principaux crawlers d’IA, dont GPTBot et ClaudeBot, téléchargent les fichiers JavaScript sans les exécuter. Si les descriptions de vos produits ou le texte de vos articles n’apparaissent qu’après une requête côté client, les outils de recherche par IA peuvent ne voir qu’une coquille vide, et ils ne peuvent pas citer ce qu’ils ne peuvent pas lire.

Les choix de rendu

ApprocheCe que reçoivent les crawlersRisque SEO
Rendu côté serveur (SSR)Un HTML complet pour chaque requêteFaible
Génération statique (SSG)Des fichiers HTML pré-construitsFaible
Rendu côté client (CSR)Une coquille presque vide et des scriptsÉlevé pour les bots autres que Google

Google présente le rendu dynamique (servir aux bots une copie pré-restituée) comme un palliatif plutôt qu’une solution durable. Le rendu côté serveur ou la génération statique, avec hydratation dans le navigateur, est le choix robuste.

Exemple : des liens que les crawlers peuvent suivre

<!-- Explorable -->
<a href="/shoes/trail-runners">Trail runners</a>

<!-- Non explorable : pas de href, ou route avec fragment seul -->
<span onclick="goTo('/shoes/trail-runners')">Trail runners</span>
<a href="#/shoes/trail-runners">Trail runners</a>

Google suit les éléments <a> dotés d’un href exploitable. Tout ce qui suit un # est ignoré : les routes à base de hash se réduisent donc toutes à une seule URL.

Erreurs courantes

  • Des soft 404 dans les applications monopages : une vue « introuvable » servie avec un statut HTTP 200. Renvoyez un vrai 404 depuis le serveur, ou ajoutez noindex à la vue d’erreur.
  • Des titles, des balises canonical et des balises robots modifiés par JavaScript, qui entrent en conflit avec le HTML du serveur.
  • Bloquer les dossiers de scripts dans robots.txt, si bien que Google ne peut plus du tout restituer la page.
  • Du contenu chargé au défilement ou au clic que Googlebot ne déclenche jamais.

Vérifier ce que voient les bots

L’analyseur SEO lit votre page comme un crawler qui ne fait pas de rendu : HTML du serveur uniquement, sans JavaScript. Si son nombre de mots, ses titres de section ou ses liens sont très inférieurs à ce que vous voyez dans le navigateur, votre contenu dépend du rendu côté client. Entrées associées : crawler, indexation et ressources bloquant le rendu.

Questions fréquentes

Google peut-il indexer du contenu généré par JavaScript ?

Oui. Google restitue les pages avec une version récente de Chromium et indexe le résultat. Cela fonctionne au mieux quand le contenu ne dépend pas d’actions de l’utilisateur et que les scripts ne sont pas bloqués par robots.txt.

Un framework JavaScript est-il mauvais pour le SEO ?

Pas en soi. Des frameworks comme Next.js, Nuxt et SvelteKit prennent en charge le rendu côté serveur et la génération statique, qui donnent aux crawlers un HTML complet. Le risque vient du recours exclusif au rendu côté client.

Comment voir le HTML que Google restitue ?

Utilisez l’outil d’inspection d’URL de la Google Search Console et affichez la page explorée ou testée en direct. Il montre le HTML restitué, une capture d’écran et les ressources que Google n’a pas pu charger.