Comment corriger l'erreur "Spécifier un validateur de cache"
Publié: 2022-06-11Si vous testez les performances de votre site Web à l'aide de GTmetrix ou de Pingdom, vous pouvez rencontrer une erreur indiquant "spécifier un validateur de cache". Ce message signifie que vous n'utilisez pas pleinement la mise en cache du navigateur. Malheureusement, cela peut affecter négativement les performances de votre site.
Dans cet article, nous parlerons de la signification de l'erreur "spécifier un validateur de cache". Nous vous montrerons également comment résoudre ce problème dans WordPress et optimiser les performances de votre site Web. Allons droit au but !
Que signifie "Spécifier un validateur de cache" ?
En activant la mise en cache, vous pouvez demander aux navigateurs ou « clients » des visiteurs de stocker localement les fichiers critiques lorsqu'ils visitent votre site Web. De cette façon, les utilisateurs n'auront pas besoin de recharger l'intégralité du site et de ses ressources chaque fois qu'ils ouvriront votre page.
La mise en cache est une pratique incroyablement courante parmi les sites Web. C'est aussi l'un des moyens les plus efficaces d'améliorer les performances de votre site. Cependant, une implémentation correcte nécessite une « politique » de mise en cache.
Cette stratégie implique d'inclure des en-têtes de mise en cache qui fournissent des instructions explicites sur les éléments suivants :
- Comment valider les ressources mises en cache
- Quelles ressources le client doit mettre en cache
- Combien de temps le client doit mettre en cache les ressources pour
- Comment le client doit rechercher les modifications dans les ressources mises en cache
L'erreur "spécifier un validateur de cache" signifie que votre site Web n'a pas les en-têtes de mise en cache correspondants dans ses réponses. Ce manque d'instructions ne signifie pas que la mise en cache ne fonctionnera pas. Cependant, cela ne fonctionnera pas aussi efficacement qu'il le pourrait :
Si vous rencontrez cette erreur lors de l'analyse des performances de votre site Web WordPress, cela signifie que votre site Web ne se charge peut-être pas aussi rapidement que possible. Cependant, vous pouvez résoudre ce problème en utilisant les en-têtes de mise en cache appropriés.
Comment spécifier un validateur de cache sur WordPress (3 méthodes)
Il existe plusieurs types de validateurs de cache que vous pouvez implémenter dans les en-têtes de votre site Web. Le serveur les ajoute automatiquement dans certains cas, comme avec les validateurs de dernière modification ou ETag .
Si vous rencontrez l'erreur "spécifier un validateur de cache", les coupables les plus probables sont les en -têtes de contrôle de cache manquants ou d' expiration . Voyons comment ajouter les deux à WordPress.
1. Ajouter manuellement les en-têtes Cache-Control
Les en -têtes de contrôle de cache vous permettent de spécifier la durée ou la « longueur » du cache en secondes. Vous pouvez également utiliser ces en-têtes pour indiquer à quels types de fichiers la longueur s'applique. La structure de l'en-tête lui-même variera en fonction du logiciel de serveur Web que vous utilisez.
Pour les serveurs Apache, vous devrez modifier le fichier .htacess . Vous pouvez le trouver dans votre dossier racine WordPress. Cependant, nous vous recommandons d'y accéder via le protocole de transfert de fichiers (FTP).
Ouvrez le fichier .htaccess et ajoutez l'extrait de code suivant, puis personnalisez-le :
<filesMatch ".(jpg|jpeg|png|gif|js|css)$"> Header set Cache-Control "max-age=604800, public" </filesMatch>
Ce code indique la longueur du cache pour les types de fichiers dans la balise filesMatch . Selon les éléments que vous souhaitez mettre en cache, vous pouvez ajouter ou supprimer des types de fichiers.
Si vous utilisez NGINX, vous devrez modifier le fichier de configuration principal du serveur. Vous pouvez le trouver dans le répertoire /etc/nginx .
Ouvrez le fichier et ajoutez-y le code suivant :
location ~* \.(jpg|jpeg|png|gif|js|css)$ { add_header Cache-Control "public"; }
Enregistrez les modifications apportées à votre fichier et fermez-le. Nous vous recommandons également d'ajouter des en-têtes d' expiration avant de tester à nouveau les performances de votre site Web.
2. Ajouter manuellement les en-têtes d'expiration
Les en-têtes d' expiration sont des types quelque peu obsolètes de validateurs de cache. En fait, les en -têtes de contrôle du cache les remplacent désormais. La plupart des navigateurs modernes rechercheront d'abord les en -têtes de contrôle du cache , mais vous pouvez indiquer les deux validateurs pour couvrir vos bases.

L'ajout manuel d'en-têtes d' expiration fonctionne de la même manière que les entrées de contrôle du cache dans Apache et NGINX. Pour ajouter des en-têtes expires dans Apache, vous devez modifier le fichier .htaccess .
Voici un exemple d'en-tête que vous pouvez copier, et nous vous recommandons de l'ajouter au bas du fichier pour éviter les conflits :
## EXPIRES HEADER CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresDefault "access 7 days" </IfModule> ## EXPIRES HEADER CACHING ##
Les en-têtes Expires indiquent des dates d'expiration spécifiques pour chaque type de fichier. Si vous ne spécifiez pas de date pour un type de fichier, il utilisera la valeur ExpiresDefault .
Pour les serveurs NGINX, vous devrez modifier le fichier de configuration principal. Voici à quoi ressemble un en-tête expires dans NGINX :
location ~* \.(png|jpg|jpeg|gif)$ { expires 7d; add_header Cache-Control "public"; }
Enregistrez les modifications dans le fichier que vous utilisez, et c'est tout. Testez à nouveau les performances de votre site Web et voyez si l'erreur "spécifier un validateur de cache" persiste.
3. Utilisez un plugin de mise en cache WordPress
Enfin, vous pouvez envisager d'utiliser un plugin pour spécifier les validateurs de cache. Certains des plugins de mise en cache WordPress les plus populaires vous permettent de configurer les en-têtes d' expiration et de contrôle du cache pour votre site sans toucher à aucun code.
L'inconvénient de l'utilisation d'un plugin de mise en cache est que de nombreux hébergeurs les interdisent. En fait, de nombreux hébergeurs Web gérés, en particulier, ne vous permettent souvent pas d'utiliser des plugins de mise en cache, car ils configurent manuellement la mise en cache pour leurs utilisateurs pour des performances optimales.
La plupart des plugins de mise en cache configureront automatiquement votre site Web pour utiliser les en-têtes ETag ou Last-Modified . Si ce n'est pas le cas, vous pouvez utiliser par défaut le cache-control et faire expirer les validateurs.
W3 Total Cache, par exemple, vous donne un contrôle total sur le type d'en-têtes de cache que vous pouvez utiliser :
Si votre hébergeur vous permet d'utiliser des plugins de mise en cache, nous vous recommandons d'explorer plusieurs options pour voir celle avec laquelle vous vous sentez le plus à l'aise. Alternativement, vous pouvez spécifier les validateurs de cache manuellement (ce n'est pas si difficile !).
Conclusion
La mise en cache est l'un des moyens les plus efficaces de réduire les temps de chargement pour vos utilisateurs. Les visiteurs réguliers bénéficieront de bonnes politiques de mise en cache puisque les temps de chargement s'amélioreront avec les fichiers stockés localement. Cependant, vous n'obtiendrez pas les meilleures performances du site Web si vous ne configurez pas une politique de mise en cache spécifique.
Il existe plusieurs façons de spécifier un validateur de cache dans WordPress si votre serveur ne le fait pas par défaut (ce qui est relativement courant). En fonction des besoins de votre hébergeur et de votre site, l'ajout manuel d'en -têtes de contrôle du cache , l'ajout manuel d'en-têtes d' expiration ou l'utilisation d'un plug-in de mise en cache résoudra vos problèmes. Si rien de tout cela ne fonctionne, il est temps de contacter le support de votre hôte pour une assistance plus approfondie.
Avez-vous des questions sur la façon de spécifier un validateur de cache dans WordPress ? Parlons d'eux dans la section des commentaires ci-dessous!
Image sélectionnée via apghedia / shutterstock.com