Prerendering is het vooraf genereren van statische HTML-snapshots van JavaScript-pagina's, specifiek voor crawlers. Het is een tussenoplossing voor sites die niet kunnen migreren naar SSR of SSG: de gebruiker krijgt de CSR-versie, de crawler krijgt een pre-gerenderde HTML-versie.
Wat is prerendering?
Prerendering detecteert of een request van een crawler komt (op basis van user-agent) en serveert dan een vooraf gegenereerde HTML-versie in plaats van de normale JavaScript-applicatie. Services als Prerender.io en Rendertron automatiseren dit.
Het verschil met SSR: bij SSR rendert de server elke request real-time. Bij prerendering worden snapshots periodiek gegenereerd en gecached.
Het verschil met SSG: bij SSG is statische HTML de primaire output voor alle bezoekers. Bij prerendering is het een aparte laag bovenop een CSR-applicatie.
Waarom belangrijk
Google heeft dynamic rendering (een verwante techniek) in 2024 officieel afgeraden. Prerendering blijft een pragmatische tussenoplossing als een volledige migratie naar SSR/SSG niet haalbaar is. Maar het voegt complexiteit toe: je onderhoudt effectief twee versies van je site, en de pre-gerenderde versie kan uit sync raken met de live versie.
Voor nieuwe projecten is SSR of SSG altijd de betere keuze. Prerendering is voor legacy-applicaties die niet eenvoudig te migreren zijn.
Voorbeeld
Prerender.io als middleware in Express:
const prerender = require('prerender-node')
app.use(prerender.set('prerenderToken', 'YOUR_TOKEN'))
De middleware detecteert crawler user-agents en serveert gecachte HTML.
Gerelateerd
- JavaScript SEO: rendering en indexering
- Gerelateerde termen: SSR, SSG, CSR