Quelle extension de cache choisir pour WordPress?

wordpress cache plugins comparaison

La vitesse de chargement de votre site Web fait partie des facteurs influençant son classement dans les résultats de recherche. Hors, comme WordPress génère ses pages de façon dynamique, le temps d’exécution peut s’en trouver affecté.

Afin d’accélérer votre site WordPress, il est important d’utiliser une extension de « cache ». De cette façon, les pages Web dynamiques sont converties en fichiers HTML statiques, stockés sur le serveur. Par conséquent, le temps d’exécution est grandement diminué.

Mais quelle extension de caching choisir? Hélas, la liste de plug-in de caching est longue. Chaque extension propose des caractéristiques et des options différentes. Il peut être difficile de s’y retrouver.

Voici donc un comparatifs de trois extensions de cache gratuites pour WordPress:

  1. WP Super Cache
  2. W3 Total Cache
  3. WP Fastest Cache

Débutons sans plus tarder.

Test de performance initial

Avant de procéder à l’installation des extensions de caching, j’ai effectué quelques tests de chargement afin de pouvoir mieux évaluer le gain en performance.

Pour effectuer les tests de performance, j’utilise Apache Benchmark. La raison est que la seule mesure qui m’intéresse pour le moment est le temps nécessaire pour générer une page Web. À l’aide de Apache Benchmark, il est possible de spécifier le nombre de requêtes HTTP au total ainsi que le nombre de requêtes concurrentes.

Pour ce guide, j’utilise le thème Zakra de ThemeGrill. Les seules autres extensions installées sont Elementor et Everest Forms. Aucun CDN n’est utilisé.

Quant à la quincaillerie, j’utilise un serveur cloud Ubuntu 19.04 avec Apache 2.4, PHP 7.2 et PHP-FPM.

1. WP Super Cache

WP Super Cache est l’extension que j’utilise sur tous mes sites ainsi que sur la plupart de ceux que j’ai optimisé. Il s’agit d’un plug-in simple à configurer et qui se limite aux fonctionnalités essentiels.

Configuration facile

Pour ceux et celles qui préfèrent éviter les trucs plus techniques, WP Super Cache peut être activé en quelques clics seulement. Sous l’onglet « Easy », il suffit de sélectionner « Caching On » et de cliquer sur « Update Status ».

wp super cache configuration facile

Bien qu’il soit simple d’activer le plugin de cette façon, vous n’obtiendrez pas des performances optimales. Pour ce, il est nécessaire de procéder à la configuration des paramètres avancés.

Les paramètres de cache avancés

WP Super Cache offre davantage de paramètres sous l’onglet « Advanced ». Voici comment tirer le maximum de performance de cette extension:

1. Cache Delivery Method: Expert

Lorsque le mode « Expert » est sélectionné, WP Super Cache effectue des modifications au fichier « .htaccess » à la racine de votre site. Le fichier « .htaccess » contient des paramètres de configuration pour le serveur HTTP d’Apache.

En ayant accès au « .htaccess », WP Super Cache est en mesure d’exploiter le module mod_rewrite du serveur HTTP. Cela permet un accès direct aux documents en cache, sans passer par WordPress et PHP.

2. Cache Restrictions: Disable caching for logged in visitors

Évitez d’afficher les documents en cache lorsque vous êtes connectés. Rien à ajouter ici!

3. Don’t cache pages with GET parameters

Cochez cette option pour désactiver la mise en cache des pages qui génèrent du contenu dynamique à partir de paramètres GET.

4. Compress pages so they’re served more quickly to visitors

Cette option permet d’activer la compression des documents HTML, CSS, et Javascript à l’aide de GZIP. La taille des fichiers compressés est réduite de façon significative et par conséquent, accélère le temps de chargement des pages Web.

5. Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated.

Ce paramètre fait en sorte que les nouveaux fichiers de la cache sont générés dans un emplacement temporaire. Ceux-ci écraseront les fichiers de cache actifs seulement lorsqu’ils seront complétés. 

Une fois ces paramètres configurés, cliquez sur le bouton Update Status. Puis, cliquez ensuite sur le bouton Update Mod_Rewrite Rules. Ceci appliquera les modifications nécessaires au fichier « .htaccess »:

wp super cache advanced settings update mod_rewrite htaccess

Période d’expiration de la cache

WP Super Cache vous permet de déterminer la durée pendant laquelle un document en cache sera valide. Par défaut, le paramètre Cache Timeout est réglé à 1800 secondes. 

wp super cache expiration

L’option Scheduler permet quant à elle de spécifier l’intervalle du cycle de nettoyage de la cache. Vous pouvez modifiez ces paramètres si vous le souhaitez, toutefois les valeurs par défaut sont tout à fait convenables.

Intégration d’un réseau de diffusion de contenu (CDN)

Un réseau de diffusion de contenu permet de servir les fichiers CSS, Javascript, et les images de votre site depuis de multiples centres de données répartis sur la planète. Ainsi, les visiteurs chargeront ces fichiers depuis le serveur se trouvant le plus près d’eux géographiquement.

Voici quelques services de diffusion de contenu populaires:

WP Super Cache offre la possibilité d’utiliser le CDN de votre choix ou bien d’intégrer le Site Accelerator de Jetpack:

wp super cache cdn

Toutefois, je n’utiliserai pas de CDN pour effectuer les tests de performance. Le but étant de tester les extensions de cache et non les réseaux de diffusion de contenu.

Le préchargement de la cache

Afin de rafraîchir la cache entière du site de façon automatique, WP Super Cache offre la possibilité de définir un cycle de préchargement de la cache sous l’onglet Preload:

wp super cache preload

Il est recommandé d’activer le mode de préchargement pour de meilleurs performances. La charge imposée au serveur n’est pas significative et ne ralentira pas votre site Web.

Test de performance WP Super Cache

Avec les paramètres de configuration précédents en place, voyons maintenant comment performe WordPress:

Test de performance WP Super Cache
MesureSans cacheWP Super CacheAmélioration
Requêtes concurrentes2525
Requêtes totales1 0001 000
Taille du document55,5 kb55,5 kb0%
Temps de connexion~ 145 ms~ 169 ms– 16,6%
Temps d’exécution~ 1 902 ms~ 150 ms92,1%
Temps d’attente~ 1 838 ms~ 66 ms96,4%
Temps total~ 2 047 ms~ 319 ms84,4%
Requêtes par seconde~ 12,1~ 69,85477,3%
Taux de transfert~ 659,36 Kbytes/sec~ 3 998 Kbytes/sec506,3%
Requêtes échouées4960100%
Durée totale du test82,7 sec13,7 sec83,46%

Il est intéressant de noter ici que sans plugin de cache, 49,6% des requêtes ont échoué. Comme de quoi un site Web lent peut vous faire perdre des visiteurs, et par conséquent des revenus.

En ce qui a trait au temps total de chargement, WP Super Cache a permit de diminuer le temps de chargement total de 83%. C’est tout de même une amélioration dramatique! On remarque par contre que le temps de connexion initial augmente quelque peu.

2. W3 Total Cache

Voici la seconde extension la plus populaire après WP Super Cache. Par le passé, W3 Total Cache a rencontré beaucoup de problèmes de compatibilité avec d’autres plugins. C’est la raison principale pourquoi j’ai cessé de l’utiliser.

Toutefois, sa popularité montante suggère que bien des utilisateurs ne rencontrent pas de problèmes majeurs. D’ailleurs, il s’agit de l’extension recommandé par les développeurs de WooCommerce.

Problèmes de compatiblité au niveau du serveur?

Une fois W3 Total Cache activé, cliquez sur « Performance > Dashboard » depuis le tableau de bord de WordPress. Cliquez ensuite sur le bouton Compatibility check pour vérifier que votre serveur Web rencontre les pré-requis technologiques.

Si votre site WordPress utilise PHP-FPM, W3 Total Cache ne pourra pas détecter les modules Apache:

w3 total cache apache modules manquants

Mais soyez rassurés: les modules identifés comme manquants sont probablement installés sur votre serveur Web.

Pour le savoir, vous pouvez installer et activer l’extension Debug Info.

wordpress phpinfo

Cliquez ensuite sur « Outils > Debug Info » puis ensuite sur « Show Details » au bas de la page:

wordpress extension debug info

Les modules actifs se trouvent sous la section « PHP Variables »:

apache modules actifs

Ceci dit, ce serait bien que les développeurs de W3 Total Cache mettent à jour la méthode de détection des modules Apache. La version actuelle de W3TC utilise mod_php pour la détection de modules. Hors, mod_php est désuet depuis longtemps.

Options de caching avancées

Du premier coup d’oeil, il est évident que W3 Total Cache offre des options de caching beaucoup plus poussées que WP Super Cache.

W3 Total Cache supporte plusieurs méthodes de caching. La configuration optimale varie selon le type d’hébergement Web utilisé:

Hébergement Web mutualisé et petits serveurs virtuels
DisqueLe stockage des fichiers de cache sur le disque local est la méthode la plus simple et qui demande le moins de ressources.
Serveurs virtuels et dédiés
APCuAPCu est un système de cache-utilisateur, c’est-à-dire que les fonctions de cache sont initiées à même le code PHP.
eAccelerator et XCache
(Désuets)
eAccelerator et XCache sont deux accélérateurs qui cachent les scripts PHP à l’état compilé en mémoire. Cela permet une exécution du code plus rapide.
Serveurs Windows
WinCacheL’extension PHP WinCache est utilisée pour stocker les scripts PHP à l’état compilé (bytecode). Cette extension est exclusive aux serveurs Windows.
Serveurs dédiés et multi-serveurs
MemcachedSystème de cache multi-usage, utilisé surtout sur les serveurs dédiés et dans les environnement multi-serveurs.
RedisRedis est un serveur de base de données de type « clé => valeur » résidant en mémoire. Il peut être utilisé cache ou comme courtier de messages.

Il va sans dire que la configuration de W3 Total Cache demande des connaissances techniques plus poussées.

Voici la configuration avec laquelle j’ai obtenu les meilleurs performance sur un serveur VPS avec 2 coeurs et 4 GB de mémoire:

w3 total cache page cache w3 total cache minify w3 total cache opcode w3 total cache database w3 total cache object cache w3 total cache browser cache w3 total cache fragment cache

À noter que cette configuration est aussi valide pour les sites utilisant l’hébergement mutualisé.

Test de performance W3 Total Cache

Voyons maintenant comment W3 Total Cache performe sous un haut volume de requêtes:

Test de performance W3 Total Cache
MesureSans cacheW3 Total CacheAmélioration
Requêtes concurrentes2525
Requêtes totales1,0001,000
Taille du document55,5 kb52,3 kb5.77%
Temps de connexion~ 145 ms~ 169 ms– 16.55%
Temps d’exécution~ 1 902 ms~ 134 ms92.95%
Temps d’attente~ 1 838 ms~ 48 ms97.39%
Temps total~ 2 047 ms~ 303 ms85.20%
Requêtes par seconde~ 12,1~ 80.35564.05%
Taux de transfert~ 659.36 Kbytes/sec~ 4143 Kbytes/sec528.29%
Requêtes échouées4960100%
Durée totale du test82.7 sec12.5 sec84.95%

Force est de constater que W3 Total Cache est plus performant que son rival, WP Super Cache. On peut d’ailleurs croire que W3TC peut offre davantage de performance sur un serveur dédié en prenant avantage des méthodes de caching en mémoire.

3. WP Fastest Cache

Je dois dire que c’est la première fois que j’essaie WP Fastest Cache. L’interface est simple d’utilisation mais les fonctionnalités de la version gratuite sont limitées par comparaison aux deux autres extensions.

WP Fastest Cache utilise la cache sur disque local, de façon similaire à WP Super Cache. Aucune option de cache en mémoire n’est disponible.

Minification et combinaison des fichiers

WP Fastest Cache permet de minifier les documents HTML, CSS, et Javascript. Mais c’est qui le distingue des deux autres extensions, c’est sa capacité à combiner les fichiers CSS et Javascript. En combinant ces fichiers, on diminue le nombre de requêtes HTTP, et du même coup, le temps de chargement.

Voici la configuration utilisée pour les tests:

wp fastest cache configuration

La version gratuite de WP Fastest Cache offre moins d’options que ses deux rivaux. Toutefois, la version payante inclut l’optimisation des images, ce qui contribue beaucoup à améliorer le temps de chargement des pages.

Test de performance WP Fastest Cache

Voici comment le plugin performe avec la configuration ci-haut:

Test de performance WP Fastest Cache
MesureSans cacheWP Fastest CacheAmélioration
Requêtes concurrentes2525
Requêtes totales1 0001 000
Taille du document55,5 kb51,3 kb7.6%
Temps de connexion~ 145 ms~ 183 ms– 26.2%
Temps d’exécution~ 1 902 ms~ 130 ms93.7%
Temps d’attente~ 1 838 ms~ 46 ms97.5%
Temps total~ 2 047 ms~ 313 ms84.7%
Requêtes par seconde~ 12,1~ 77,8542,9%
Taux de transfert~ 659,36 Kbytes/sec~ 3929,35 Kbytes/sec495.9%
Requêtes échouées4960100%
Durée totale du test82,7 sec12,85 sec84.46%

Les résultats du test sont tout à fait honorables et WP Fastest Cache se classe en deuxième position quant au temps de chargement total. La possibilité de combiner les fichiers CSS et JS en fait d’ailleurs un choix intéressant.

Conclusion

En terme de vitesse, W3 Total Cache est plus rapide que ses pairs. Toutefois, les quelques millisecondes d’avantage ne feront pas de différence pour l’utilisateur normale.

Extensions de cache WP: Comparatif
PluginConn.Exéc.Att.TotalReq./secTransf.
WP Super Cache169 ms150 ms66 ms319 ms69.853 998 Kb/s
W3 Total Cache169 ms134 ms48 ms303 ms80.354 143 Kb/s
WP Fastest Cache183 ms130 ms46 ms313 ms77.803 929 Kb/s

Toutefois, en ce qui a trait à la flexibilité et aux fonctionnalités, W3 Total Cache est supérieur à WP Super Cache et WP Fastest Cache. Mon deuxième choix s’arrête sur WP Super Cache pour sa stabilité, sa facilité d’utilisation, et la possibilité d’intégrer un CDN. WP Fastest Cache est mon dernier choix en fonction de ses options limitées.

Laissez-nous savoir quel plugin de cache vous utilisez dans les commentaires!

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.