Klassieke personalisatie heeft een paradox: hoe meer je wil personaliseren, hoe trager je site wordt. Want elke beslissing vereist een server-call, en elke call kost milliseconden. Voor je het weet heb je een persoonlijke site die tergend traag laadt.
Edge-functions lossen dit op. Ze draaien op servers dicht bij de bezoeker, vaak in minder dan 50 milliseconden, waardoor personalisatie-beslissingen kunnen voordat de pagina laadt, niet erna.
Wat zijn edge-functions?
Edge-functions zijn stukjes code die draaien op een wereldwijd netwerk van servers (het “edge”), dicht bij de gebruiker, met ultra-lage latency.
Vergelijk het met een CDN (Content Delivery Network). Een CDN serveert statische content (afbeeldingen, CSS) dicht bij bezoekers. Edge-functions doen hetzelfde maar voor dynamische logica.
Aanbieders:
- Vercel Routing Middleware en Functions: via Vercel’s infrastructuur (Vercel raadt inmiddels de Node.js-runtime aan in plaats van de losse Edge-runtime)
- Cloudflare Workers: pionier, groot netwerk
- AWS Lambda@Edge: enterprise-variant
- Netlify Edge Functions: op Netlify
Wat maakt ze anders dan gewone server-code?
Drie eigenschappen:
1. Geografische nabijheid. Draaien op ~100+ locaties wereldwijd. Een bezoeker uit Amsterdam wordt afgehandeld door een server in Frankfurt, niet in Virginia.
2. Ultra-lage cold-starts. V8 isolates (Cloudflare Workers en de Edge-runtime van Vercel) starten in milliseconden, niet seconden.
3. Beperkte runtime. Wegens de lichtheid kun je niet alles. Geen lange processen, geen zware CPU, gelimiteerde packages. Op het gratis plan van Cloudflare Workers heb je bijvoorbeeld maar 10 milliseconden rekentijd per verzoek. Houd edge-code dus klein en snel.
Use-cases voor personalisatie
Use-case 1: A/B-testing zonder flicker
Klassiek A/B-testen laat de pagina in versie A laden en dan client-side naar versie B swappen. Gevolg: flicker die bezoekers zien en die je CLS beïnvloedt.
Edge-function bepaalt bij eerste request welke variant, serveert meteen de juiste HTML. Geen flicker, geen CLS-penalty.
Use-case 2: Geografische personalisatie
Bezoeker uit Duitsland → automatisch de Duitstalige variant. Bezoeker uit Nederland → Nederlandse variant. Beslissing in edge-function op basis van IP geo-lookup.
Use-case 3: Content voor ingelogde vs niet-ingelogde
Edge-function checkt auth-cookie, serveert verschillende hero-sectie. Geen round-trip naar main server nodig.
Use-case 4: Dynamische OpenGraph-images
Per page-share een gepersonaliseerde afbeelding genereren. Edge-function rendert on-demand.
Use-case 5: Feature-flags
Bepaalde feature uitrollen voor 10% van gebruikers → edge-function beslist bij request of de flag actief is.
Wat edge NIET goed kan
Zware computation. LLM-calls, grote transformaties, complexe database-queries: die horen in de main server.
Gigantische packages. Elke MB packaging verhoogt cold-start. Keep it lean.
Persistent connections. Websockets etc. horen niet thuis op edge.
Data met hoge schrijfvolumes. Edge is read-heavy optimized.
Praktisch: een voorbeeld (Next.js 16 op Vercel)
Een stukje code dat bij elk verzoek meedraait en bezoekers uit Duitsland automatisch naar de Duitse homepage stuurt. In Next.js 16 heet dat bestand proxy.ts (voorheen middleware.ts), en de locatie haal je op via @vercel/functions:
// proxy.ts in Next.js 16
import { NextResponse, type NextRequest } from 'next/server'
import { geolocation } from '@vercel/functions'
export function proxy(request: NextRequest) {
const { country = 'NL' } = geolocation(request)
if (country === 'DE' && request.nextUrl.pathname === '/') {
return NextResponse.rewrite(new URL('/de', request.url))
}
}
Tien regels code. De bezoeker merkt niets behalve dat hij op de juiste pagina landt.
Kosten
De grote edge-aanbieders hebben gratis tiers die voor mkb-volumes vaak volstaan. Let wel op de voorwaarden:
- Vercel: het gratis Hobby-plan (1 miljoen requests per maand) is alleen voor privégebruik; voor een bedrijfssite heb je Pro nodig (20 dollar per maand)
- Cloudflare Workers: 100K requests/dag gratis
- Netlify: gratis plan met een maandelijks tegoed aan credits, waar edge functions van afgaan
Voor standaard personalisatie-use-cases kom je zelden boven de gratis tiers uit.
Wanneer inzetten?
Drie goede momenten:
- Bij nieuwe site-bouw: als je stack edge-first is (Vercel/Cloudflare), krijg je de features cadeau
- Bij meertalige sites: geo-routing is één edge-function
- Bij A/B-testing programmas: flicker-free testen vereist het
Niet inzetten als je geen concrete personalisatie-use-case hebt. Edge-functions zijn geen doel op zich.
De valkuilen
Valkuil A: over-complexiteit. Elke edge-function voegt een laag toe. Als je drie edge-functions stapelt voordat de main server antwoordt, heb je latency toegevoegd. Keep it minimal.
Valkuil B: cold-starts. Moderne edge-platforms hebben sub-50ms cold-starts, maar niet nul. Voor tijdskritieke flows blijft eerste request iets trager.
Valkuil C: vendor lock-in. Vercel-specifieke API verschillen van Cloudflare Workers. Bij migratie re-write nodig. Voor mkb meestal geen issue.
Meten of het werkt
Post-implementatie:
- Latency-metrics: blijven LCP en TTFB onder je target?
- Conversion impact: doet de gepersonaliseerde variant het beter?
- Error-rate: crashen edge-functions onder piek-load?
Vercel (Speed Insights en Observability) en Cloudflare Workers Analytics helpen je hierbij.
Voor mkb praktisch
Als je site draait op Next.js + Vercel (of Astro + Vercel), kun je edge-functies vandaag nog inzetten voor:
- Geo-based redirects
- Feature-flags voor gefaseerde rollouts
- Simple A/B-tests zonder externe tool
- Preview van content-variantes voor editors
Je hebt geen Cloudflare-contract of AWS-account nodig. Alles in je bestaande hosting.
Verder
Edge-personalisatie voor jouw site? Bel 06 81 38 36 01 of plan een gesprek.
Tags
Geschreven door
Agensea
Het team van Agensea: websites en software op maat en online marketing, vanuit Zeeland.