Playbook · Contenu lisible sans JavaScript
Prerender critique avec fallback SSR
Solution intermédiaire pour SPA qui ne peuvent pas migrer complètement.
- DifficultéIntermédiaire
- Temps estimé1 j de travail
Pourquoi c’est important#
- Le prerendering génère des snapshots HTML statiques que vous servez aux robots qui n'exécutent pas le JavaScript, repérés par leur User-Agent. C'est une solution pragmatique quand la migration SSR complète est trop coûteuse.
- Google la décrit comme un contournement, pas une solution à long terme, et recommande plutôt le rendu côté serveur, le rendu statique ou l'hydratation. Il précise que ce n'est pas du cloaking tant que le contenu servi aux robots et aux internautes est équivalent.
Étapes à suivre#
Vous pouvez les appliquer vous-même, pas à pas, dans l’ordre.
- Choisissez un service de prerendering (par exemple Prerender.io) ou hébergez votre propre solution avec un navigateur sans interface (Puppeteer).
- Configurez votre serveur pour détecter les User-Agents des robots IA (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot) et leur servir la version prérendue.
- Servez un contenu équivalent à celui des internautes : un texte différent pour les robots relèverait du cloaking.
- Générez et mettez en cache les snapshots des URL importantes, et régénérez-les quand le contenu change.
- Prévoyez la sortie : planifiez la migration vers un rendu côté serveur ou statique, car Google ne recommande pas cette approche sur la durée.
Exemple#
const AI_BOTS = /GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|PerplexityBot/i;
if (AI_BOTS.test(req.headers['user-agent'] || '')) {
return servePrerenderedHtml(req, res); // même contenu que la page vue par un internaute
}
return serveSpa(req, res);Sources officielles#
Les affirmations de cette fiche s’appuient sur les pages suivantes, rédigées par les éditeurs concernés.
Fiches voisines#
Dans la même catégorie : Contenu lisible sans JavaScript.
- Ajouter un H1 visible dans le HTML brutLe H1 annonce le sujet principal de votre page, encore faut-il qu'il soit dans le HTML reçu par les robots.
- Ajouter une balise <title> dans le HTML brutLe title est le titre de votre page : il doit exister dans le HTML reçu, pas seulement après exécution du JavaScript.
- Réduire à un seul H1 par pageUn seul H1 décrit clairement le sujet de la page ; la norme HTML en autorise plusieurs, mais ce n'est pas la bonne pratique.
- Activer le Server-Side Rendering (SSR)Le SSR rend votre contenu accessible aux IA dès la première requête HTTP.
- Prérender le contenu critiqueAssurez-vous que le contenu principal soit dans le HTML brut.
- Ajouter un fallback <noscript>Le tag <noscript> sert de filet de sécurité pour les clients qui n'exécutent pas JS.
- Enrichir le contenu (thin content)Une page qui ne répond pas aux questions de vos clients n'offre rien à citer.
Toutes les fiches du playbook · Qu’est-ce que le GEO ? · Notre méthodologie