Een redacteur publiceert een prijscorrectie op je site, vernieuwt de pagina tien minuten later en ziet nog de oude prijs. Je CDN had de pagina een uur gecached. De juiste oplossing is gerichte cache-invalidatie die wordt getriggerd door het publicatie-event zelf — niet een kortere cache-TTL die je CDN-hitratio vernietigt.
Hoe ContentGrid-webhooks werken
ContentGrid stuurt een POST-verzoek naar je geregistreerde webhook-URL elke keer dat een entry wordt aangemaakt, bijgewerkt of gepubliceerd. De request-body bevat het entry-ID, het contenttype, de locale en de actie die het triggerde. Je webhook-handler beslist wat te invalideren op basis van deze data.
- Webhooks triggeren nagenoeg in realtime — doorgaans binnen twee seconden na een publicatieactie.
- ContentGrid herprobeert mislukte webhook-leveringen tot vijf keer met exponentiële backoff.
- Elke webhook-levering bevat een signature-header die je kunt verifiëren om vervalste verzoeken te weigeren.
De webhook-handler opzetten
Maak een API-route aan in je Next.js-app op /api/cms-webhook:
- Verifieer de webhook-signature met het ContentGrid-signeringsgeheim uit je omgevingsvariabelen.
- Parseer de request-body om het entry-ID, het contenttype en de actie te verkrijgen.
- Als de actie publish is, zoek dan de URL-paden op die overeenkomen met de entry.
- Roep de juiste invalidatie-API aan voor je CDN.
Voor Vercel met ISR: roep fetch('/api/revalidate?path=/blog/mijn-post') aan vanuit een aparte revalidatieroute, of gebruik de revalidatePath-functie uit next/cache rechtstreeks in de webhook-handler.
Vercel Edge Cache invalideren
Vercel's On-Demand ISR is de eenvoudigste integratie:
- Roep in de webhook-handler revalidatePath('/blog/' + entry.slug) aan voor blogentries.
- Revalideer ook indexpagina's: revalidatePath('/blog') zodat de lijstpagina wordt bijgewerkt.
- Voor globale content zoals navigatie of site-instellingen: roep revalidatePath('/', 'layout') aan om de layoutcache te legen.
- Beveilig de route met een geheim token meegegeven als queryparameter.
Cloudflare-cache invalideren
Als je front-end op Cloudflare Pages staat of achter Cloudflare's CDN, gebruik dan de Cloudflare Cache Purge API:
- Bouw een lijst van volledige URL's om te legen op basis van de entry-data — bijv. https://jouwesite.nl/blog/post-slug.
- Stuur een POST-verzoek naar de Cloudflare API op /zones/ZONE_ID/purge_cache met de URL-lijst.
- Cloudflare leegt die URL's van edge-nodes wereldwijd binnen enkele seconden.
- Beperk je webhook-handler in de aanroepfrequentie om Cloudflare API-limieten bij bulkpublicaties te vermijden.
Webhook-gestuurde invalidatie geeft je lange cache-TTL's — een uur of meer — zonder verouderde content. De CDN serveert content verreweg het grootste deel van de tijd snel, en het zeldzame publicatie-event triggert een directe update. Deze combinatie geeft betere prestaties en versere content dan een korte TTL-aanpak.
Klaar om je concurrenten te volgen?
ContentGrid monitort automatisch websites, e-mails en social media van je concurrenten — en levert gestructureerde intelligence rechtstreeks in je inbox.