En utilisant Azure Hosted WordPress, je faisais quelques tests de performance pour mon site web via gtmetrix. Mes rapports suggéraient "d’exploiter la mise en cache du navigateur" et "d’ajouter des en-têtes d’expiration" afin d’améliorer l’évaluation de mes performances.
Ainsi, même après la mise à jour de .htaccess, la mise à jour n'a pas été mise à jour, mais j'ai constaté que cela n'affectait en rien mes rapports de performance. Cela m'a fait penser à Azure et qu'il fonctionnerait IIS dans le backend et non pas Apache - et bien sûr IIS n'utilise pas le fichier .htaccess, il utilise plutôt web.config.
Alors, comment puis-je ajouter des en-têtes Expires?
IIS prend en charge les entêtes expirées, ajoutez-les simplement à votre fichier web.config .
Exemples:
<configuration> <system.webServer> <staticContent> <clientCache cacheControlMode="UseExpires" httpExpires="Tue, 19 Jan 2038 03:14:07 GMT" /> </staticContent> </system.webServer> </configuration>
À partir de .NET Daily, j'ai réussi à appliquer cela à un site PHP sur IIS. Il définit l’âge maximum à 30 jours à partir de maintenant, sans avoir à spécifier une date explicite.
Ajoutez ceci à votre fichier web.config:
<system.webServer> <staticContent> <clientCache cacheControlMaxAge="30.00:00:00" cacheControlMode="UseMaxAge"/> </staticContent> </system.webServer>
Cette configuration répond à la fois aux exigences de PageSpeed "Exploitation de la mise en cache du navigateur" et à YSlow "Ajout des en-têtes d'expiration". YSlow requiert une valeur supérieure à 7 jours. PageSpeed nécessite entre 30 jours et 1 an.