Quel plugin de cache pour WordPress ?
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 !

Mise à jour du 04/06/2014

Ce test relativement complet des plugins de cache date de 2010. Depuis, les différents plugins ont évolué. Un autre test a donc été réalisé en 2014 avec d’autres plugins et en supprimant ceux qui n’étaient plus pertinents. Vous pouvez le consulter ici : le second test des plugins de cache

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
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 :
  1. Nombre de requêtes
  2. Poids de la page
  3. Temps de réponse du serveur
  4. Temps de chargement complet de la page

Présentation des plugins de cache testés

Super Cache

Super Cache pour WordPressWP-Super Cache est sans doute le plugin de cache de WordPress le plus connu, et le plus recommandé sur Internet. Il est donc présent en toute logique dans ce benchmark. Super-Cache transforme n’importe quelle page dynamique en page statique html, réduisant donc le nombre de requêtes d’une page ainsi que son poids.

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

Hyper Cache pour WordPressUn des sérieux concurrents est Hyper Cache, que je vais qualifier de Super-Cache Like, tellement les deux plugins de cache de WordPress sont proches l’un de l’autre.

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

DB Cache Reloaded pour WordPressDB cache Reloaded est un plugin fonctionnant complètement différemment, puisqu’il va mettre en cache les requêtes liées à la base de données. Le serveur n’a donc plus qu’à générer la page lorsque le visiteur la demande.

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

W3 Total Cache pour WordPressW3 Total Cache est le plus complet des plugins que j’ai pu testé sur WordPress. Il inclut de nombreuses fonctionnalités, plus ou moins difficiles à mettre en place pour accélérer son blog.

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

Un Mix de plugin de cache sur WPPuisque DB Cache Reloaed cache les requêtes, tandis que les autres cachent les pages, j’ai aussi eu l’idée de les utiliser conjointement. Il y aura donc aussi le test de : Hyper Cache + DB Cache Reloaded et de Super Cache + 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
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
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 réponse serveur avec cache du navigateur
Temps de chargement 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 à suivre.

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).

Où les trouver ?