
Sitemap XML et SEO : créer, soumettre et maintenir un plan de site utile
Sitemap XML : limites de 50 Mo et 50 000 URL, lastmod, robots.txt, index de sitemaps, fin du ping Google et IndexNow pour Bing.

En bref
Le SEO JavaScript consiste à s'assurer que le contenu d'un site React, Vue ou Angular soit lisible par les moteurs. Google exécute JavaScript, mais en différé et avec des limites ; la plupart des robots d'IA, comme GPTBot ou ClaudeBot, ne l'exécutent pas du tout. La solution la plus sûre reste de servir un HTML complet, par rendu côté serveur, génération statique ou prérendu.
Mis à jour le 1er novembre 2026.
Un site en React peut être superbe pour l'utilisateur et presque vide pour un robot. Si le HTML initial ne contient qu'une balise div et un gros fichier JavaScript, tout dépend de la capacité du robot à exécuter ce script. Google le fait, la plupart des robots des assistants IA non. En 2026, alors qu'une part croissante des recherches passe par ChatGPT, Perplexity ou Copilot, un site invisible sans JavaScript se prive à la fois de SEO et de GEO. Ce guide reprend la documentation officielle de Google, consultée le 1er novembre 2026, et les données disponibles sur les robots d'IA.
Rendu côté client : le navigateur reçoit un HTML presque vide et construit la page en exécutant JavaScript ; on parle aussi de CSR.
Rendu côté serveur : le serveur envoie un HTML complet à chaque requête, puis JavaScript ajoute l'interactivité ; on parle de SSR.
Prérendu : la génération à l'avance de pages HTML statiques à partir de l'application, servies aux visiteurs ou aux robots.
Hydratation : l'exécution des scripts côté client qui rend interactif un HTML déjà rendu par le serveur.
D'après le guide des bases du SEO JavaScript, Google traite les applications JavaScript en 3 phases : exploration, rendu et indexation. Googlebot télécharge d'abord le HTML et vérifie le robots.txt. Toutes les pages qui répondent avec un code 200 passent ensuite dans une file d'attente de rendu, où un Chromium sans interface, toujours à jour, exécute le JavaScript. Cette attente peut durer quelques secondes ou davantage.
Google en tire une conclusion claire : le rendu côté serveur ou le prérendu reste recommandé, car il rend le site plus rapide pour les utilisateurs et les robots, et parce que tous les robots n'exécutent pas JavaScript.
L'étude de Vercel et MERJ publiée le 17 décembre 2024 est la plus détaillée sur ce point. Sur le réseau de Vercel, GPTBot a généré 569 millions de requêtes en un mois, et Claude 370 millions, soit environ 20 % des 4,5 milliards de requêtes de Googlebot. Ces robots téléchargent pourtant des scripts : selon Vercel, 11,50 % des requêtes de ChatGPT et 23,84 % de celles de Claude portaient sur des fichiers JavaScript. Surtout, aucun des grands robots d'IA testés n'exécutait JavaScript :
Seuls Gemini, qui s'appuie sur l'infrastructure de Googlebot, et AppleBot rendaient les pages. Conséquence pratique : un texte injecté uniquement par JavaScript a de fortes chances d'être invisible pour ChatGPT. Notre article sur les crawlers IA et le robots.txt explique comment autoriser ces robots.
Deux nuances s'imposent. Microsoft Copilot a été exclu de l'étude, faute d'agent utilisateur distinct, et ces résultats décrivent la situation de fin 2024 : les robots peuvent évoluer. Mais tant qu'aucun éditeur d'IA ne documente un rendu JavaScript, mieux vaut considérer qu'il n'y en a pas.
Google ne suit de façon fiable que les éléments a avec un attribut href, rappelle sa page sur les liens explorables. Un bouton avec un simple onclick, un span ou un lien routerLink sans href sont déconseillés. Pour une application monopage, utilisez l'API History et de vraies URL, pas des fragments du type dièse-slash. Un bon maillage interne repose sur ces liens.
Le serveur doit renvoyer 404 pour une page introuvable et 401 pour une page protégée. Dans une application monopage, Google propose deux parades : rediriger en JavaScript vers une URL qui répond en 404, ou ajouter une balise meta robots noindex sur la page d'erreur.
JavaScript peut définir le title et la meta description, mais la balise canonical doit garder la même valeur que dans le HTML d'origine. Attention au noindex : si Google le voit dans le HTML initial, il peut sauter le rendu, et un script qui le retire ensuite risque de ne jamais être exécuté. Nos guides sur la balise title et la meta description et sur la balise canonical complètent ce point.
| Mode de rendu | HTML reçu par le robot | Robots d'IA sans JavaScript | |
|---|---|---|---|
| Rendu côté client | Coquille presque vide | Indexé après rendu différé | Contenu en grande partie invisible |
| Rendu côté serveur | Page complète | Indexé directement | Contenu lisible |
| Génération statique | Page complète, préparée à l'avance | Indexé directement | Contenu lisible |
| Prérendu | Page complète servie aux robots | Indexé directement | Contenu lisible si servi à ces robots |
| Rendu dynamique | Version différente selon le robot | Solution de contournement déconseillée | Dépend de la configuration |
Le guide web.dev sur le rendu sur le Web encourage aussi à envisager le rendu côté serveur ou statique plutôt qu'une réhydratation complète.
Pendant des années, beaucoup de sites ont servi une version prérendue aux seuls robots. Google qualifie désormais ce rendu dynamique de solution de contournement, non recommandée à long terme, car elle ajoute de la complexité et consomme des ressources. Il conseille plutôt le rendu côté serveur, le rendu statique ou l'hydratation. Pour un site existant en React, la migration vers un framework de rendu serveur, comme Next.js, ou vers un prérendu fiable de toutes les URL publiques est la voie la plus durable.
Vous n'avez pas besoin d'outils complexes pour un premier diagnostic :
Pour le sitemap, notre guide du sitemap XML détaille les règles. Google signale aussi des différences propres à son robot dans son guide de résolution des problèmes JavaScript : le stockage local, le stockage de session et les cookies sont effacés à chaque chargement, et les fonctions qui demandent une autorisation, comme la caméra, ne servent à rien pour Googlebot. Si votre contenu dépend d'une session, il n'existe pas pour lui.
Google accepte les données structurées générées en JavaScript, à condition de tester le résultat. Mais un robot d'IA qui n'exécute pas le script ne verra jamais ce JSON-LD : mieux vaut l'inclure dans le HTML servi. Autre piège documenté par Google : son robot met en cache les ressources de façon intensive et peut ignorer vos en-têtes de cache. Un ancien fichier JavaScript peut alors servir au rendu. La parade consiste à ajouter une empreinte du contenu dans le nom des fichiers, par exemple main.2bb85551.js, pour qu'une nouvelle version porte un nouveau nom.
Beaucoup d'outils de création de sites, y compris ceux qui génèrent une application avec l'IA, produisent une application React rendue côté client. Avant de publier, vérifiez le code source d'une page profonde, comme un article de blog. Si le texte n'y figure pas, demandez à l'outil ou à votre prestataire une solution de prérendu ou de rendu serveur pour toutes les URL publiques, et pas seulement pour la page d'accueil.
Un HTML complet sert aussi la fraîcheur : vos dates de mise à jour et vos données structurées doivent être lisibles sans script, comme l'explique notre guide sur la fraîcheur du contenu en GEO.
Oui, Google exécute JavaScript avec une version à jour de Chromium, mais en différé, et recommande le rendu côté serveur ou le prérendu. Source : Google Search Central.
D'après l'étude Vercel et MERJ de décembre 2024, les robots d'OpenAI n'exécutaient pas JavaScript. Source : Vercel.
Non, Google le présente comme une solution de contournement et conseille le rendu serveur, statique ou l'hydratation. Source : Google Search Central.
Seulement s'ils produisent un élément a avec un attribut href qui pointe vers une vraie URL. Source : Google Search Central.
Redirigez vers une URL qui renvoie un vrai code 404, ou ajoutez un noindex sur la page d'erreur. Source : Google Search Central.
Nous auditons le rendu de vos pages, vos liens et vos codes HTTP pour que votre contenu soit lu par Google comme par les assistants IA, et que vos campagnes Google Ads et ChatGPT Ads atterrissent sur des pages solides. Voyez notre page agence Google Ads en France, demandez un audit gratuit ou contactez-nous.

Sitemap XML : limites de 50 Mo et 50 000 URL, lastmod, robots.txt, index de sitemaps, fin du ping Google et IndexNow pour Bing.

Redirection 301 : 301, 302 et 308, chaînes de redirections, soft 404, durée de conservation et délais de migration selon Google.

Balise hreflang : déclarer les versions linguistiques en HTML, HTTP ou sitemap, codes ISO valides, x-default, liens réciproques et erreurs à éviter.
Notre équipe vous offre un audit gratuit de vos campagnes.
Demander mon audit