Table des matières de l'article :
Les plugins de cache WordPress peuvent aider votre site à aller plus vite en améliorant les temps de chargement des pages et votre capacité à servir beaucoup plus de trafic sans dégradation des performances. Mais il viendra un moment où un plugin de cache ne suffira pas.
Il suffit d'un pic de trafic important. Si le contenu de votre site web devient viral, par exemple, ou est publié par une personnalité influente comme un homme politique, et que vous attirez soudainement l'attention sur les réseaux sociaux ou d'autres canaux, cet afflux massif de trafic peut mettre votre site à genoux. Un succès fulgurant peut ainsi se transformer en catastrophe.
Cette page répondra aux questions suivantes :
- Pourquoi les plugins de cache WP ne sont-ils pas assez volumineux ?
- Comment les professionnels gèrent-ils la mise en cache WordPress ?
- De quels outils supplémentaires disposent-ils au-delà des plugins de cache classiques ?
- Quels avantages pouvez-vous tirer de ces outils supplémentaires ?
- Comment pouvez-vous intégrer une mise en cache super performante dans WordPress ?
Note : Nous sommes les créateurs de ManagedServer.it, la plateforme d’hébergement haute performance de niveau entreprise pour WordPress. Les informations ci-dessous sont basées sur notre expérience dans l’hébergement de milliers de sites WordPress exigeants et leur accompagnement dans leur montée en charge.
Pourquoi les plugins de mise en cache ne suffisent pas - Découvrez le proxy inverse
Quel est le plugin de mise en cache WordPress le plus rapide au monde ? Probablement Batcache , un plugin ultra-rapide utilisé pour accélérer le plus grand serveur WordPress au monde, WordPress.com.
Regardez maintenant ce tableau de Joe Hoyle comparant Batcache à une autre option, comme Varnish.
Le graphique vert montre ce qui arrive à ce plug-in de qualité industrielle ainsi que vous augmentez le
Lorsque la charge atteint 20, 50, 100 utilisateurs simultanés, voire plus, les temps de réponse grimpent à 10, 25, 40, voire 70 secondes . Cela se produit uniquement aux pics de trafic, mais c'est précisément ce que nous recherchons, n'est-ce pas ? Il est évident que nous ne pouvons pas espérer de bons résultats avec seulement quelques utilisateurs en ligne. Les véritables gains et récompenses proviennent d'un grand nombre d'utilisateurs, comme chez nos clients, qui enregistrent parfois des millions de visiteurs uniques par mois, voire plus de 50 millions.
Le concept décrit ci-dessus s'applique à de nombreux plugins de mise en cache WordPress populaires, tels que WP Rocket et W3 Total Cache , qui diffusent les pages web via WordPress et son moteur PHP sous-jacent. Ces plugins s'appuient sur la compression, la minification CSS et JS, et d'autres techniques pour réduire le temps de chargement des pages. Ces méthodes fonctionnent à petite échelle, mais deviennent inefficaces lorsque WordPress lui-même commence à limiter le trafic important.
Que représente le graphique orange qui reste stable même lorsque le nombre d'utilisateurs simultanés augmente considérablement ? Il s'agit d'un proxy inverse.
Un proxy inverse (ici, Varnish) est un service intermédiaire qui fonctionne indépendamment de WordPress et qui reçoit les requêtes du serveur WordPress. À l'instar d'un plugin de cache, il fournit une copie pré-enregistrée de la réponse WordPress pendant une durée limitée appelée TTL (Time To Live).
La différence est que tandis que les plugins de mise en cache sont pilotés par le serveur WordPress, qui peut se fatiguer à mesure que la charge augmente, un outil comme Varnish est spécialisé dans le traitement des demandes de cache et peut être littéralement jusqu'à 500 fois plus efficace qu'un serveur Web PHP, sans faire fonctionner le Serveur Web de quelque manière que ce soit, et PHP. Un proxy inverse répondra en premier lieu et étant écrit en langage C orienté réseau et performances, les performances seront absolument rapides.
Cela génère en fait un graphique plat incroyable à mesure que le trafic augmente jusqu'au niveau des méga-sites.
Plug-ins basés sur des fichiers statiques par rapport à Varnish
Certains plugins de cache WordPress fonctionnent différemment - ils enregistrent les fichiers statiques de vos pages WordPress dynamiques et redirigent les visiteurs Web vers ces versions statiques.
Cette approche contourne WordPress et le moteur PHP et, en théorie, peut être aussi rapide que Varnish en cas de trafic important. WP Super Cache et WP Fastest Cache en sont des exemples.
Cependant, nous avons rencontré un certain nombre de problèmes avec les plug-ins de mise en cache basés sur des fichiers statiques :
Problèmes liés au système de fichiers – L'un des inconvénients des caches basés sur des fichiers comme WP Super Cache est que, sur certains systèmes de fichiers (notamment les systèmes de fichiers réseau comme NFS), l'espace disque peut impacter significativement les performances lors de l'écriture, la suppression ou la modification simultanée de nombreux fichiers. Cela peut empêcher la mise en cache des données de votre site (le rendant plus lent) ou afficher des données mal mises en cache (donnant l'impression que le site est dysfonctionnel). Varnish conserve les données de page mises en cache dans la RAM, ce qui évite ce problème.
Incompatibilité des plugins – WordPress offre de nombreuses possibilités d'affichage et d'assemblage des données, ce qui peut entraîner des problèmes de compatibilité avec certains plugins. Varnish, quant à lui, gère la mise en cache en amont, en ne mettant en cache que les éléments individuels. Vous bénéficiez ainsi d'une compatibilité totale avec les plugins et le contenu dynamique.
Configuration requise du serveur web : De nombreux plugins, comme WP Rocket, nécessitent une configuration spécifique du serveur web pour que la mise en cache fonctionne. Souvent, l’administrateur du site web ne peut pas modifier cette configuration ou utilise un serveur autre qu’Apache, comme NGINX ou GWAN.
Gestion de la compression inefficace : Certains plugins de cache WordPress compressent la plupart de vos fichiers avec GZIP à chaque requête. Varnish met en cache les pages compressées et les diffuse telles quelles pour les navigateurs compatibles avec GZIP (99 %). La décompression à la volée, moins efficace, est réservée aux navigateurs non compatibles. Les CDN adoptent la même approche. Ainsi, la gestion de la compression de Varnish est optimisée pour la majorité des utilisateurs.
Absence d'isolation des erreurs : Varnish et un CDN peuvent détecter les problèmes sur votre serveur et vous aider à les résoudre en fournissant un contenu légèrement plus stable (mais toujours fonctionnel). Cela peut réduire considérablement l'impact des interruptions de service. La plupart des extensions de mise en cache de pages WordPress ne le font pas, minimisant ainsi les temps d'arrêt du serveur web.
Nous croyons fermement que Varnish est la meilleure option pour WordPress à grande échelle. C'est pourquoi nous l'avons implémenté dans le cadre de notre plateforme d'hébergement WordPress.
Mise en cache d'objets ou cache d'objets : accélère les vues de page dynamiques
Ce graphique de New Relic illustre les conséquences de l'intégration d'un outil appelé cache d'objets ( Redis étant un exemple courant ). Il s'agit d'un autre aspect des performances à plus grande échelle : un cache d'objets interne.
Un cache d'objets est un moyen de stocker des données de la base de données en mémoire, pour éviter les requêtes inutiles sur la base de données. WordPress est livré avec son propre cache d'objets interne, mais de nombreux experts disent que c'est assez inefficace.
Comme pour le proxy inverse, ici aussi, l'utilisation d'un service externe dédié pour la mise en cache des objets peut faire une différence considérable, comme le montre le graphique ci-dessus - des opérations de base de données plus rapides qui ralentissent un site peuvent presque être réduites à zéro.
Les options les plus courantes pour la mise en cache d'objets externes sont Redis ou Memcached (ou dans le cloud, AWS ElastiCache ou Azure Managed Cache), qui peuvent accélérer considérablement l'exécution et réduire la charge de la base de données.
Serveur géré : le moyen le plus simple d'obtenir un hébergement WordPress avec vernis et mise en cache d'objets intégrée
Nous espérons que vous êtes désormais convaincu qu'un proxy inverse comme Varnish et un système de cache d'objets comme Memcached/Redis sont indispensables pour gérer un trafic important. Cependant, leur configuration peut s'avérer complexe. C'est là que nous intervenons !
ManagedServer.it est un service d'hébergement WordPress de niveau entreprise offrant des performances et des fonctionnalités DevOps avancées grâce à une plateforme automatisée et préconfigurée. Parmi ses nombreuses fonctionnalités, nous proposons notamment Varnish et Redis ou Memcached, intégrés et préconfigurés.
Donc, si vous définissez le
Si vous exigez des performances et de la vitesse, ne comptez sur aucun fournisseur d'hébergement. Les plus grands sites nous choisissent.