Quel plugin de cache pour WordPress ?
Le temps de chargement a un impact lourd sur votre site. Pour accélérer votre blog, rien de tel que de mettre en cache vos pages : vous soulagerez votre serveur, tout en fournissant plus vite du contenu à vos visiteurs.
Sur WordPress, il existe de nombreux plugins pour cela. Mais oubliez Hyper Cache, DB Cache ou W3 Total Cache : c'est Super Cache et DB Cache reloaded qu'il vous faut, preuve à l'appui avec ce benchmark de SeoMix !
Dans cet article :- »
- »
- »
- »
- »
- »
- »
- »
- »
- »
- »
- »
- »
- »
Benchmarking
Le site de Test
Le test des plugins de cache de WordPress a été réalisé sur un de mes blogs non optimisé, et dont voici les principales caractéristiques :
- Il est hébergé chez OVH (serveur situé à Lille), et mon benchmarking est réalisé depuis Nantes.
- Le test a été réalisé sur la page d'accueil avec 8 articles, 6 pubs et pas mal de liens, le tout sur une charte graphique assez simple.
- Sans plugin, la page génère 45 requêtes, pour 5 fichiers css, 9 fichiers js, 12 images background et 18 images de contenu (ouh que ce n'est pas optimisé...). Poids total : 1042 Ko
Caractéristiques du site pour le cache de WordPress
Méthode utilisée
La méthode de tests est simple. Pour chaque plugin, 2 tests sont effectués : l'un avec le cache vide du navigateur, l'autre avec le cache remplit. Pour chacun, 15 chargements de pages ont été effectués avec 10 secondes d'intervalle entre les différents essais. Cela permet donc de tester la réduction des requêtes tout comme la réduction du poids d'une page.
4 critères sont mesurés :
- Nombre de requêtes
- Poids de la page
- Temps de réponse du serveur
- Temps de chargement complet de la page
Présentation des plugins de cache testés
Super Cache
Ce que fait WP Super Cache :
- Lors du 1er chargement d'une page, il créer un fichier statique html (réduction des requêtes).
- Au bout d'un temps déterminé, les fichiers html sont détruits pour reconstruction.
- Il utilise une compression gzip (réduction du temps de chargement).
- Il détecte les mobiles (iphone, android, blackberry, ...) pour ne pas mettre en cache (utile pour utiliser WP Touch par exemple).
Mon paramétrage de WP Super Cache : Cache complet activé, y compris pour les utilisateurs enregistrés. Cache désactivé pour les appareils mobiles. Super Cache Compression activée (pas compatible sur tous les hébergeurs).
Hyper Cache
C'est d'ailleurs l'un des plugins sur lesquels j'ai vu la communauté la plus active.
Ce que fait Hyper Cache :
- Il cache également les pages d'un site.
- Là aussi les fichiers sont détruits au bout d'un durée configurable (ou lors de la publication d'articles).
- Il compresse également les données lors du transfert (plain ou gzip).
- Il différencie les utilisateurs mobiles.
Mon paramétrage d'Hyper Cache : Cache complet activé, sans utilisation du disque (meilleurs performances). Cache désactivé pour les appareils mobiles. Compression Gzip activée.
DB Cache Reloaded
Ce que fait DB cache Reloaded : il cache les requêtes de la base de données
Mon paramétrage de DB cache Reloaded est tout simplement celui d'origine, ni plus ni moins.
W3 Total Cache
Ce que fait W3 Total Cache :
- Idem que Super Cache ou Hyper Cache.
- Il utilise la technique minify de l'html, css et js.
- Il cache les requêtes de la base de données comme DB Cache Reloaded.
- Il permet l'utilisation de CDN (Content Delivery Network) pour soulager un serveur.
Mon paramétrage de W3 Total Cache : pas de CDN (car ne peut pas être utilisé par tous les webmasters). Minify sur l'html et les css (pour cause de bug avec les js sur mon blog de test). Cache des pages et de la base de données activé, avec compression GZIP
Les combinaisons avec DB Cache reloaded
Puisque W3 Total Cache inclut déjà un système de cache pour la base de données, je n'ai pas jugé pertinent de tester cette combinaison. De même, il existe d'autres plugins de cache pour WordPress. Mais j'ai préféré tester les plus connus et recommandés par la communauté.
Les résultats des plugins de cache
Sans cache du navigateur
Les tableaux suivant reprennent les informations prises lors du test. Cela comprend le temps de réponse du serveur, et le temps de chargement complet de la page. Je me fie beaucoup plus à la première donnée, puisque la seconde est influencée par de nombreux autres facteurs : la vitesse de connexion internet, les activités simultanées sur le Web (ou sur votre box), l'éloignement du serveur, ...
Pour chaque graphique, le vert est le meilleur résultat, le bleu clair ceux qui sont proches et le bleu foncé les plugins WordPress qui sont à la ramasse. Le temps est mesuré en secondes. Attention, il faut aussi prendre en compte la marge d'erreur lors de ces tests.
Sans cache du navigateur, il y a 44 requêtes pour un poids de 1042ko.
Temps de réponse serveur sans cache du navigateur
1er constat, le temps de chargement du serveur est le meilleur lors des deux combos de DB Cache Reloaded avec Hyper Cache ou Super Cache. Ce dernier plugin utilisé seul n'est pas loin derrière.
Temps de chargement sans cache du navigateur
2ème constat, le temps de réponse du serveur est le meilleur lors du avec DB Cache + Hyper Cache. C'est d'ailleurs le test qui montre le plus de différence entre un plugin et les autres.
Avec cache du navigateur
Les tableaux suivant reprend les informations prises cette-fois avec le cache activé du navigateur. Avec le cache du navigateur, il y a 13 requêtes pour un poids de 1021 ko.
Temps de réponse serveur avec cache du navigateur
Temps de chargement avec cache du navigateur
Là, ca se complique. 4 combinaisons sont plutôt bonnes :
- Hyper Cache seul
- W3 Total cache seul (en tête pour le temps de réponse serveur)
- Super Cache Seul
- Super Cache + DB cache reloaded (en tête pour le temps de chargement global)
Le meilleur plugin de cache de WordPress ?
Pour moi, la meilleure combinaison de plugins de cache pour WordPress est le combo entre WP Super Cache et DB Cache Reloaded.
Même si cette configuration n'arrive pas premier sur chacun des tests, c'est celle qui offre le plus de réactivité. J'ai aussi tendance à privilégier les tests avec cache du navigateur, car j'espère bien que mes visiteurs vont revenir. L'association avec Hyper Cache n'est pas mauvaise non plus. Utilisés seuls, les autre plugins n'arrivent pas à suivent.
Bien entendu, le cache de votre site n'est pas le seul critère de vitesse. Il faut compresser vos images, utilisez des sprites, combiner les css et javascripts, mettre en cache vos gravatars, héberger vos images sur un sous-domaine ou encore réduire le poids html de la page et accélérer votre serveur. Un autre article verra donc le jour pour booster WordPress via votre fichier htaccess.
Et merci à Kyle Robinson Young pour m'avoir donné envie de tester les plugins de cache de mon CMS préféré. Jetez un oeil à son test : The Best Caching Plugin for WordPress (même si celui-ci se focalise beaucoup trop sur la vitesse de téléchargement plutôt que sur le temps de réponse).