Next.js + Contentful : invalider le cache page par page plutôt que tout vider (retour d'expérience)
Bonjour à tous,
Je partage un sujet sur lequel j'ai beaucoup travaillé cette année, sur un site e-commerce headless en Next.js + Contentful (19 langues, environ 70 types de contenu).
Le problème
Un éditeur corrige une faute dans une bannière. Le réflexe : vider tout le cache du site. Ça marche, jusqu'au jour où ça tombe en plein pic de trafic et que des milliers de pages se reconstruisent en même temps.
Ce que j'ai mis en place : l'invalidation par tags
Chaque appel à Contentful est tagué : type de contenu, ID, slug, langue.
À chaque publication, Contentful appelle un webhook. On vérifie d'abord sa signature (et on prévoit la rotation du secret).
Le webhook remonte les entrées parentes qui utilisent le contenu modifié. Une bannière peut être utilisée sur 12 pages : on les retrouve toutes.
On invalide seulement ces tags. Le reste du site reste en cache.
Les deux pièges
Le rate limit de l'API Contentful pendant la remontée des parents. Il faut limiter la profondeur et grouper les appels.
Les langues. Une modification en français ne doit pas forcément vider le cache allemand. Le tag de langue est indispensable.
Résultat
Les éditeurs voient leurs changements en ligne en quelques secondes, et le serveur ne prend pas de pic de charge.
Et vous, comment vous gérez le cache avec un CMS headless (Contentful, Strapi, Sanity…) ? Revalidation par temps, par tags, ou purge totale ?
- Remplacer Magento par une architecture headless sans fermer la boutique : ce qui a marché
- L'IA ou les "IA" et le SEO (Référencement Naturel)
- CV anonyme et discrimination raciale
- Bonjour je commence en programmeur wordpress et je souhaite savoir le prix du site que j'ai créé et le tjm que je peux espérer
- suggestions par rapport aus fonctionalités du forum