Les nonces et le délai de nettoyage du cache
Un nonce est un jeton de sécurité de WordPress. Ils sont insérés dans le code HTML du code source.
Il est seulement valide une seule fois et pour une certaine durée : 12 heures par défaut, mais les développeurs peuvent modifier cette valeur.
Lorsque vous avez un système de cache, le nonce expire en arrière-plan, mais l'ID du nonce sur la page en cache est toujours là - faisant donc référence à un nonce invalide, ce qui casse tout.
Cela peut affecter toutes sortes de fonctionnalités, de la validation d'un formulaire à l'apparence d'une mise-en-page, et plein d'autre chose encore. Dans certain cas, ça peut même renvoyer une page blanche en front-end.
Régler le délai de nettoyage du cache à 10 heures ou moins
Après que le cache est vidé, le code HTML est régénéré et il référence à nouveau le bon nonce.
Par conséquent, lorsque votre configuration WordPress (thèmes, plugins) utilise des nonces, le seul moyen de les garder à jour sur les pages en cache est de régler l'option "Délai de nettoyage du cache" en-dessous de 12 heures, 10 heures sera un bon début mais parfois vous allez devoir descendre à 8 heures voire moins.
Cela aura pour conséquence une augmentation de l'activité des mises à jour du cache sur votre serveur, et donc une augmentation des processus de préchargement si il est activé. Au cas où vous remarqueriez une surcharge serveur, augmentez l'intervalle de préchargement.
Attention : Le délai de nettoyage du cache ne fonctionnera pas sur les hébergement où la mise en cache de WP Rocket est désactivée, comme WP Engine, Kinsta, WordPress.com, etc. Cette méthode ne fonctionnera donc pas et vous devrez contacter le support de votre hébergeur. Pour la liste complète, voir Compatibilité avec les hébergeurs.
Problèmes connus
Dans la liste suivante (non exhaustive), vous trouverez les plugins ou services, ainsi que leurs pages ou fonctionnalités spécifiquement affectées, qui utilisent des nonces expirant relativement vite, et pour lesquels vous devrez peut-être définir des valeurs plus basses pour le délai de nettoyage du cache :
- WooCommerce Bookings - Pages contenant des produits réservables.
- ReviewX - La fonction de pagination des avis.
- VdoCipher - Vidéos intégrées.
Plus de lecture : Josh Pollock a publié un article en anglais nonces and caching.