web-dev-qa-db-fra.com

Aucune balise méta de cache ne nuit-elle aux performances?

Je vois de nombreux sites Web, ajoutant apparemment de manière arbitraire la balise méta sans cache sur chaque page.

Comme ça:

<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="-1">

A quoi sert-il et pourquoi le font-ils?

Est-ce mauvais ou bon pour la performance?

Cela empêchera-t-il le fonctionnement des entêtes HTTP et finira par ralentir un site Web?

1
user1721135

La mise en cache accélère les vues répétées et non les premières visites. Par conséquent, en termes de valeur SEO, cela n'a pas d'importance, car le premier moment d'affichage est le facteur le plus important. La mise en cache est bonne, car cela signifie que lorsque les utilisateurs changent de page, ils ne font que charger les ressources dont ils ont besoin, ce qui optimise l'expérience utilisateur.

L'utilisation de no-cache désactive le cache et <META HTTP-EQUIV="Expires" CONTENT="-1"> impose une expiration immédiate sur le fichier si le CMS ou htaccess définit une expiration.

Généralement, ce n'est pas nécessaire et gâche l'expérience utilisateur lors de la configuration de cette manière.

2
Simon Hayter

L'utilisation d'une balise méta sans cache est une mauvaise idée. La mise en cache des pages est précieuse pour le référencement et l'expérience utilisateur . La mise en cache améliorera les temps de chargement des pages (plus courts). Cela signifie qu'un utilisateur voit le contenu plus rapidement, ce qui réduit les taux d'abandon - en particulier sur les appareils mobiles.

Idéalement, les utilisateurs utiliseront les paramètres pour effacer le cache de leur navigateur , mais cela ne peut pas être supposé. Une solution de contournement préférée consiste à utiliser en exploitant la mise en cache du navigateur dans votre fichier htaccess. Ajoutez ce qui suit à votre fichier htaccess:

##EXPIRES CACHING##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/js "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>

##Configure Entity Tags##
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)(\.gz)?$">
Header set Expires "Mon, 1 Jan 2020 01:00:00 GMT"
Header unset ETag
FileETag None
</FilesMatch>
3
James Hobson

Ces en-têtes sont utilisés pour décourager les navigateurs ou les mandataires de mettre en cache la page. Pour le contenu généré de manière dynamique, les en-têtes sont là pour tenter de garantir que les visiteurs du site consultent toujours le serveur et se mettent donc toujours à jour du contenu.

Pour répondre à votre question spécifique, ces en-têtes peuvent avoir un impact négatif sur les performances, car ils peuvent empêcher la mise en cache, et la mise en cache est un facteur de performances. Mais dans la pratique, ils font probablement peu de différence.

2
Tim Fountain

L'utilisation de 'pour mettre en cache ou non-cache dépend du tri des performances de fin:

1) Les spécialistes du marketing affiliés - doivent "mettre en cache les balises" lorsque les pages, etc., se dirigent vers les pages de destination, car les cookies sont nécessaires à l'attribution des fonds.

2) Messages informatifs/transformationnels - utilisation de "cookies non-cachés" et de non-cookies lors de la création de facteurs de confiance sociale.

2
susanlewis

Je suis d'accord avec James. En particulier, Google accorde plus de poids aux temps de chargement des pages, et la mise en cache et la compression accélèrent le chargement des pages. Ils améliorent également l'expérience utilisateur, en particulier sur mobile, ce qui est une raison suffisante en soi pour le faire.

https://developers.google.com/speed/

1
GeekOnTheHill