Projet Webmaster PHP

Portail Php


Yslow : les pages dynamiques ou statiques sont persitantes


Cette règle trois n'est pas précédée de la règle 2 qui s'adresse à des sites web internationaux.

Après avoir vu comment Réduire le nombre de requêtes, voyons comment rendre ses pages persistantes par la mise en cache.

Cette règle est double dans ses solutions, mais adresse le même problème : rendre une page éligible au cache du navigateur client afin de ne pas la recharger.

Cette solution est intéressante non pas pour la première visite, puisque tous les éléments (feuilles de styles, pages html, script, flash) doivent être chargés, mais pour la seconde visite, ou dès la seconde page pour les composants communs.

Ainsi, si votre site a des éléments statiques, il convient d'ajouter une date d'expiration très éloignée :



header("Expires: Thu, 15 Apr 2050 20:00:00 GMT"); // Date dans le futur


Pour les éléments dynamiques, ils convient de les placer dans le cache serveur et ainsi de les afficher au client comme des pages statiques (du html). Cette technique de cache serveur est présentée dans notre article sur l'Agrégateur de flux

Si votre site dispose d'un .htaccess (avec un réel hébergement en solution payante), il est également possible en une quelques instructions de gérer les dates d'expiration sur les fichiers autres que html, c'est-à-dire les images, les scripts, les fichiers medias...

Voici la syntaxe :




< FilesMatch ".(ico|pdf|jpg|jpeg|js|css|gif|js|swf|png)$">
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"

< /FilesMatch>


C'est-à-dire que tous les fichiers ayant l'extension sélectionnée auront une date d'expiration au 15 avril 2010. Cette liste d'extensions peut être enrichie selon vos besoins et vos composants.