Elke klik op je website is het begin van een keten. Wanneer een bezoeker een specifieke pagina opvraagt, reageert de server van je website door iets te leveren dat de browser kan weergeven, meestal statische HTML met een doctype HTML-declaratie die de structuur van de pagina definieert (het uiterlijk, de uitstraling en de gebruikersinterface).
Er zijn twee plekken waar content kan worden weergegeven: aan de clientzijde of aan de serverzijde. Bij client-side rendering ontvangt de computer van de gebruiker een minimaal HTML-bestand, en de browser van de client (zoals Google Chrome of Safari) doet het meeste werk door JavaScript uit te voeren om de pagina op te bouwen en weer te geven. Bij server side rendering wordt de pagina volledig samengesteld op de server voordat deze naar de browser wordt gestuurd, zodat de gebruiker een complete, klaar-om-weer-te-geven pagina ontvangt. In dit artikel richten we ons op dat laatste, het weergeven van content aan de serverzijde.
Wat is server side rendering?
Server side rendering (SSR) is een proces waarbij een webserver alle benodigde data, lay-out en gebruikersinterface-elementen van een webpagina verzamelt, deze vervolgens samenstelt tot een compleet HTML-bestand voordat het naar de webbrowser van de gebruiker wordt gestuurd. Het resultaat is een volledig weergegeven pagina die klaar is om te tonen. Deze aanpak zorgt voor snelle laadtijden met SEO-geoptimaliseerde pagina's die zowel bezoekers als zoekmachine-bots ten goede komen.
Stel je voor dat je een nieuwswebsite runt. Wanneer een gebruiker op een link klikt om een artikel te lezen, haalt een server side rendering framework data op uit een database of een API, stelt snel de vooraf weergegeven HTML-content samen (inclusief lay-out en gebruikersinterface-elementen zoals koppen, bylines, publicatiedatum, gerelateerde artikelen, navigatiemenu's en advertentieruimtes), en levert dit aan de browser van de gebruiker. De browser toont vervolgens de volledig weergegeven pagina. Daarna kan de browser de pagina "hydrateren" met meer dynamische content, zoals het laden van reacties of upvotes, door JavaScript te gebruiken om de pagina interactief te maken.
SSR is bijzonder nuttig voor sites die sterk afhankelijk zijn van organisch zoekverkeer (omdat vooraf weergegeven pagina's gemakkelijker te crawlen zijn voor zoekmachines) en die afhankelijk zijn van snelle laadsnelheden om gebruikers betrokken te houden; dit geldt ook voor productpagina's van webshops. En het is niet zo dat SSR en client-side rendering (CSR) incompatibel zijn—vaak worden beide gebruikt voor specifieke doeleinden. Een webshop kan bijvoorbeeld SSR gebruiken voor productpagina's maar CSR voor de checkout.
Voordelen van server side rendering
- Snellere eerste indruk
- Betere SEO-prestaties
- Verbeterde toegankelijkheid
- Ideaal voor dynamische content
- Minder JavaScript-belasting
Hier zijn meer manieren waarop server side rendering de prestaties van je website kan verbeteren:
Snellere eerste indruk
Met server side rendering doet de webserver het zware werk en levert direct een volledig weergegeven HTML-pagina aan de browser van de gebruiker. Gebruikers hoeven niet te wachten tot JavaScript is gedownload en weergegeven (zoals bij client-side rendering) voordat ze de content zien die ze willen. Deze ervaring, ook wel "first paint" genoemd, kan cruciaal zijn om gebruikers op de pagina te houden die ze hebben opgevraagd, wat kan helpen om meer vertrouwen in je site en merk te creëren. Dit is nog belangrijker voor gebruikers met langzamere apparaten of mobiele netwerken, waar een CSR-pagina enkele seconden leeg kan lijken.
Betere SEO-prestaties
Zichtbaarheid in zoekmachines is essentieel voor het genereren van verkeer naar je site, en server side rendering kan aanzienlijk verbeteren hoe je site scoort. Zoekmachines zoals Google indexeren je content door je HTML te lezen met hun bots. Dat betekent dat een SSR-pagina al in het ideale formaat is voor Google om te lezen en elementen bevat zoals koppen, links, alt-tekst van afbeeldingen en metadata, die Google allemaal gebruikt om websites te ranken. Je kunt het Google gemakkelijker maken om je pagina's te crawlen met client-side rendering, maar dat kan veel extra omwegen en mogelijk dure tools van derden vereisen.
Verbeterde toegankelijkheid
Server side rendering maakt het gemakkelijker voor mensen die schermleessoftware of andere ondersteunende technologieën gebruiken. Omdat de eerste paginalading de volledige HTML-content bevat (in plaats van een lege template die afhankelijk is van JavaScript om te laden), kunnen ondersteunende tools direct toegang krijgen tot de informatie en deze interpreteren. Nog beter: als sommige van je gebruikers JavaScript hebben uitgeschakeld (of oudere browsers gebruiken zonder moderne JavaScript-mogelijkheden), zien ze nog steeds een functionele pagina.
Een toegankelijkere website betekent ook dat je kunt voldoen aan toegankelijkheidsnormen zoals WCAG, wat vooral belangrijk is als je actief bent in een gereguleerde sector zoals onderwijs, overheid of gezondheidszorg.
Ideaal voor dynamische content
Als je website veel content heeft die vaak verandert, zoals een blog of nieuwssite, is SSR ideaal. Je kunt real-time data via API's combineren met de snelle levering die SSR biedt. Dit geeft je het frisse gevoel van client-side rendering terwijl je snelheid en SEO-verbeteringen krijgt via de server-weergegeven HTML. De browsers van je gebruikers hoeven niet al het werk te doen om data op te halen na het laden van de pagina, waardoor het snel lijkt en zoekmachine-vriendelijk blijft.
Minder JavaScript-belasting
Terwijl client-side rendering afhankelijk is van veel JavaScript-bundels, kunnen deze mobiele gebruikers en mensen met oudere apparaten vertragen. SSR doet al het zware werk voordat de browser het overneemt, dus JavaScript is niet vooraf nodig. Dit komt ook ten goede aan gebruikers in gebieden met langzamere netwerksnelheden of meer beperkte apparaten, waardoor je een breder, meer wereldwijd publiek kunt bereiken.
Nadelen van server side rendering
- Langere tijd tot eerste byte (TTFB)
- Complexere infrastructuur en deployment
- Zwaardere serverbelasting
Nadelen van server side rendering zijn onder andere:
Langere tijd tot eerste byte (TTFB)
server side rendering is afhankelijk van de webserver om alle benodigde data te verkrijgen en een volledige HTML-webpagina weer te geven voordat deze aan de gebruiker kan worden geleverd. Dit betekent dat er een merkbare vertraging kan zijn tussen het moment dat de browser de pagina opvraagt en wanneer deze eindelijk die content begint te ontvangen. Dit wordt de tijd tot eerste byte genoemd. Zonder caching-strategieën kan deze latentie bij elke paginalading optreden, vooral voor sites met meer gecompliceerde data-ophaalbehoeften, wat tot serverknelpunten kan leiden.
Complexere infrastructuur en deployment
Om server side rendering te gebruiken, heb je een live serveromgeving nodig die pagina's on-the-fly kan weergeven. Dit vereist meer infrastructuur en mogelijk DevOps-ondersteuning. In tegenstelling tot statische sites, die vooraf gebouwde HTML serveren met minimale database- of API-vereisten, hebben SSR-sites een runtime zoals Node.js nodig en hosting die serverfuncties ondersteunt, zoals Vercel, Netlify Edge of Render. Het beheren van server-uptime, schalen voor hoger verkeer en het afhandelen van problemen zoals cold starts kan complexiteit toevoegen en kan een toegewijd ontwikkelteam vereisen.
Zwaardere serverbelasting
Server side rendering vereist veel CPU-resources van je webserver, omdat het pagina's weergeeft elke keer dat een gebruiker er een opvraagt. Naarmate je site meer verkeer krijgt, heeft het steeds meer compute-resources nodig. Dit kan leiden tot hogere hostingkosten, mogelijke servercrashes door zwaar verkeer en langzamere laadtijden naarmate de server overweldigd raakt.
Hoe implementeer je server side rendering
Server side rendering vindt volledig plaats op je webserver. Wanneer een gebruiker een URL intypt of op een link klikt, stuurt de browser een verzoek naar de server. De server verzamelt de benodigde data—uit externe bronnen of interne databases—en laadt alle vereiste interface-elementen, zoals logo's, navigatiemenu's en andere lay-outcomponenten. De server stelt dit alles vervolgens samen tot een complete HTML-pagina en stuurt deze terug naar de browser van de gebruiker. De resulterende pagina is volledig weergegeven en direct leesbaar; geen JavaScript-loading vereist (zoals bij client-side rendering).
Als je een ondernemer bent die server side rendering op je website wil implementeren, zijn er een paar stappen die je moet nemen.
Kies een SSR-framework
Eerst moet je de juiste ontwikkeltools kiezen, oftewel server side rendering frameworks. Shopify Hydrogen is bijvoorbeeld een React-gebaseerd framework dat SSR, CSR en andere opties biedt. Next.js is een ander redelijk goed gedocumenteerd en breed geadopteerd SSR-framework, maar SvelteKit, Nuxt.js en Astro worden ook vaak gebruikt.
Stel je development stack in
Dit is de set tools, frameworks, programmeertalen en services die je gebruikt om een webapplicatie met server side rendering te bouwen en uit te voeren. Dit kan front-end frameworks bevatten om de gebruikersinterface en server side rendering af te handelen, samen met client-side JavaScript, en de programmeertaal (meestal JavaScript of TypeScript).
Je hebt ook een code-editor nodig (zoals VS Code), een hostingplatform met ingebouwde SSR-ondersteuning zoals Vercel of Netlify, en een CMS, als je je eigen content op het web serveert. CMS-voorbeelden zijn Sanity, Contentful, of de open-source Strapi.
Huur een ontwikkelaar in
Het opzetten van SSR kan complex zijn. Je wilt misschien een professionele webontwikkelaar inhuren met ervaring in server side frameworks. Een ervaren professional kan je helpen de juiste technologieën te kiezen en prestaties te optimaliseren, evenals het back-end systeem voor je site te ontwerpen, bouwen en configureren.
Overweeg om freelancers te benaderen via Upwork, Toptal en Gun.io. Je kunt ook een Jamstack-gericht bureau inschakelen dat gespecialiseerd is in het bouwen van websites die server side JavaScript, API's en Markup verwerken, of bureaus die werken met headless CMS (dit ontkoppelt de content-backend van de website-frontend).
Veelgestelde vragen over server side rendering
Heb ik server side rendering nodig, of is client-side genoeg?
Het hangt af van wat voor soort site je bouwt. Als je snel wilt landen, goed wilt scoren in zoekmachineoptimalisatie, of verse dynamische content wilt serveren, is SSR een geweldige oplossing. Voorbeelden van sites die baat hebben bij server side rendering zijn: webshops met productpagina's die je op Google wilt laten ranken, blogs of magazine-sites, marketingsites waar een sterke eerste indruk belangrijk is, en pagina's met vaak bijgewerkte content. Voor Shopify-winkeleigenaren maakt het gebruik van Shopify's headless commerce framework, Hydrogen, een hybride aanpak mogelijk die zowel SSR als CSR gebruikt.
Wat is het nadeel van server side rendering?
Uiteindelijk voegt server side rendering complexiteit toe aan je webserver-infrastructuur. Je hebt een krachtige server nodig om dynamisch pagina's on-the-fly te genereren, wat kan betekenen dat responsetijden wat langer zijn. Server side rendering sites kunnen crashen onder hoog verkeer, dus je moet meer plannen rond caching en schaalbaarheid.
Wat is beter, SSR of CSR?
Beide strategieën voor het weergeven van webpagina's hebben voor- en nadelen, en degene die je kiest is gebaseerd op de behoeften van de site die je wilt creëren. Gebruik server side rendering wanneer je je wilt richten op SEO, snelle laadtijden wilt voor snelle conversies, of content-rijke pagina's snel wilt serveren, of als je site vaak veranderende data bevat, zoals een blog, webshop of een reviewsite. Gebruik client-side rendering wanneer je een web-app bouwt en geen content-site, wanneer SEO minder belangrijk is (zoals een gebruikersdashboard), en je een site wilt met minder bewegende onderdelen en een snellere setup voor ontwikkelaars.





