Google Pagespeed Insights me dit toujours que je dois activer la mise en cache du navigateur, mais je ne comprends pas ce qui me manque. J'utilise cloudflare avec les optimisations activées. Je vois cet en-tête HTTP dans les outils de développement Chrome:
cache-control: public, max-age = 86400
donc la mise en cache semble déjà activée! J'ai aussi ajouté
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
dans mon fichier web.config.
Je ne sais pas quoi faire d'autre. Voici l'erreur que Google me donne:
seo
google
cache-control
euge9522
la source
la source
Réponses:
24 heures est trop peu pour suffire comme contrôle du cache :) En théorie, les images ne changent jamais sans que leur nom ne change également, vous pouvez donc définir cela facilement sur un an (ou un mois si vous vous sentez plus à l'aise avec cela).
Si vous remplacez une image par une nouvelle image, elle a un nouveau nom.
picture-of-cat-on-18th-birthday.jpg
ne sera pas soudainement une autre image avec le même nom de fichier. Pour cette raison, les noms de fichiers doivent être quelque peu spécifiques à leur contenu.Pour d'autres types de ressources comme CSS et JS, vous pouvez opter pour une tactique différente. Vous avez (souvent) changé des fichiers, et jamais / à peine changé, vous voulez diviser leur longueur de mise en cache:
Ce n'est pas faisable. Vous pouvez les faire tous les deux ou aucun, .htaccess voit un type de fichier.
Pour cette raison, vous le définissez sur le cache long et utilisez un suffixe pour forcer un nouveau téléchargement s'il change:
De cette façon, l'utilisateur n'a à le télécharger à nouveau que si vous avez réellement effectué une modification.
Cette technique fonctionne sur toutes les ressources. Visez toujours la durée de mise en cache la plus élevée.
la source
filemtime()
. Ensuite, si le fichier est modifié, un nouvel uri sera créé, forçant la réacquisition de l'actif sans effacer les caches et les choses. Peut faire la même chose avec des images ou autre chose. Et je pense que Google aime le temps de cache de quelque chose comme 8 jours minimum pour passer la vitesse de page.Je vois que la réponse précédente dit que 24 heures ne suffisent pas. Mais en regardant dans le document Google: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#defining-optimal-cache-control-policy, il indique que les images doivent être mises en cache pour 1 jour pour une mise en cache optimale.
La mise en cache des images pendant une courte période est logique, car pour améliorer le référencement, il est préférable de ne pas prendre d'empreintes digitales les images. C'est donc un bon compromis si vous voulez changer l'image.
De plus, après 24 heures, les images seront à nouveau chargées (lorsque vous définissez le contrôle du cache sur 1 jour), il utilisera ensuite la balise électronique et comparera les images en effectuant un aller-retour et une remise en cache du serveur.
Donc, la question reste de savoir pourquoi l'outil de perspicacité Pagespeed ne respecte pas la propre recommandation de Google.
la source