En tant que propriétaire de site web avertis, je suis certain que vous comprenez combien il est important pour votre site web de charger rapidement. Et si vous exécutez votre site web sur WordPress, vous avez probablement au moins entendu parler de la nécessité de la mise en cache des plugins avant.
La mise en cache est un aspect critique de la performance de votre site web, étant donné qu’elle peut grandement améliorer les temps de chargement. Par beaucoup.
En termes simples, un plugin de mise en cache crée une version statique de votre site quand un visiteur atterrit dessus, et puis sert cette version statique au visiteur la prochaine fois qu’il débarque sur votre site Web. Grâce à cela, votre site charge plus rapidement pour vos visiteurs qui ont plusieurs avantages.
Il y a beaucoup de buzz autour d’Internet en ce qui concerne les temps de chargement de site Web. Un site web qui charge rapidement fournit une meilleure expérience utilisateur globale, et conduit à plus d’engagement et à de meilleurs taux de conversion.
Même Google a annoncé que les temps de chargement de site vont jouer un rôle en ce qui concerne le classement de votre moteur de recherche. Et les études montrent que si un site prend plus de deux secondes pour charger, les visiteurs sont plus susceptibles d’abandonner et aller ailleurs.
Pour savoir où vous en êtes actuellement, tester la vitesse de votre site est une bonne idée. Jetons un coup d’œil à un couple d’outils qui peuvent vous aider à atteindre cet objectif:
Pingdom Tools résumera la performance de votre page web au mieux, avec quatre paramètres:
- La qualité de la performance
- Les requêtes
- Le temps de chargement
- La taille de la page
La mesure la plus importante est, bien sûr, le temps de chargement. Lorsque Google visite votre site, la vitesse à laquelle il charge est l’une des premières choses que les robots regardent.
Pour obtenir un temps de chargement moyen précis, vous devez exécuter le test plusieurs fois, étant donné qu’il ne sera pas identique à chaque fois. La raison pour laquelle cela se produit, c’est parce que la première fois que quelqu’un visite votre site Web, y compris un bot Pingdom, il recevra une version non mise en cache de votre site Web. Cette première visite va déclencher la génération de mise en cache, et donc une visite ultérieure permettra au visiteur d’avoir accès plus rapidement à une version mise en cache de votre site Web.
Le Site Web de Test de Vitesse de Pingdom vous aide à analyser la vitesse de chargement de vos sites Web et vous apprends comment les rendre plus rapides.
Un autre outil qui peut vous aider à déterminer à quel point est rapide le chargement de votre site web est YSlow.
YSlow est disponible en tant qu’extension de navigateur. Il fonctionne en analysant votre page et en vous disant pourquoi elle est lente. Il génère une liste de suggestions et de réglages que vous pouvez mettre en œuvre pour réduire le temps de chargement et améliorer l’expérience utilisateur globale.
Cependant, connaître la rapidité de chargement de votre site web est seulement la moitié de la bataille. Afin de fournir une expérience utilisateur optimale, vous devrez profiter de la mise en cache WordPress et faire ce qu’il faut pour améliorer le temps de chargement de votre site.
Cela dit, la mise en cache WordPress est un sujet qui peut devenir très technique et complexe, et par conséquent, beaucoup de propriétaires de site Web ne comprennent pas ce qui se passe vraiment sous le capot de leurs sites. Cela peut conduire à la frustration quand les choses ne fonctionnent pas comme elles le devraient.
Alors comment fonctionne la mise en cache? Nous allons maintenant plonger totalement dans le sujet de la mise en cache WordPress pour voir ce qu’il en est, comment elle fonctionne, et quels plugins et solutions sont disponibles pour vous aider à la mettre en œuvre.
Qu’est-ce que la mise en cache WordPress ?
Lorsque quelqu’un visite une page sur votre site, il a besoin de demander beaucoup d’informations depuis votre hébergeur. Ces demandes comprennent images, Javascript et CSS; et il a aussi besoin de récupérer votre contenu depuis la base de données WordPress.
Essentiellement, voici ce qui se passe:
- Un utilisateur de n’importe où dans le monde visite votre site Web et son navigateur contacte votre serveur Web.
- Votre installation WordPress contacte la base de données où il est installé pour récupérer vos publications et autres données stockées.
- Le serveur Web compile ensuite ces données dans une page HTML et il la retourne à l’utilisateur.
Etant donné que WordPress génère du contenu dynamique, cela signifie qu’il demande des informations fraîches sur une page à chaque fois qu’un visiteur en consulte une. Dans la plupart des cas, cela est inutile vu que vos publications et pages de blog ne changent pas une fois qu’elles sont publiées, sauf si vous y allé et les édité manuellement.
Lorsque vous utilisez un plugin de mise en cache, il crée une version statique de votre contenu et la délivre à vos visiteurs, ce qui signifie que lorsque les mêmes visiteurs viennent sur votre site à nouveau, ils verront la version en cache, ce qui devrait être beaucoup plus rapide.
En un mot, la mise en cache réutilise les données de demandes antérieures pour accélérer les demandes futures. Elle permet de minimiser la quantité de données qui doit circuler entre le navigateur, la base de données et le serveur web, ce qui se traduit par des temps de chargement plus rapide.
Comment Fonctionne la Mise En Cache WordPress?
Il existe deux principaux types de protocoles de mise en cache disponibles, basé sur le modèle client-serveur: la mise en cache côté client et la mise en cache côté serveur.
Mise en Cache Côté Client
Chaque site a beaucoup de données statiques telles que des images, des fichiers CSS, et des fichiers JavaScript. Quel que soit le navigateur que vous utilisez, ils sont tous assez intelligents pour savoir qu’une fois que ces fichiers sont téléchargés, ils ne doivent pas être re-téléchargés chaque fois que vous visitez un certain site Web. Ils servent simplement ces fichiers à partir du cache local qui est stocké sur le disque dur de votre ordinateur. Voilà pourquoi il est recommandé de nettoyer le cache de votre navigateur très souvent – cela permet d’économiser beaucoup d’espace et améliore les performances.
Ce processus est connu comme la mise en cache côté client. Presque tous les sites modernes l’utilisent, et chaque navigateur le prend en charge.
Mise en Cache Côté Serveur
La mise en cache côté serveur comprend tous les différents protocoles de mise en cache qui sont utilisés sous le cache WordPress. Ils comprennent les éléments suivants:
- La mise en cache de la page
- La mise en cache de la requête de base de données
- La mise en cache basée sur l’objet
- La mise en cache du code opération
Jetons un coup d’œil à chacun d’eux individuellement et pour voir comment la mise en cache peut vous aider à accélérer votre site.
La mise en cache de la page
La mise en cache de la page est le plus simple de tous les protocoles de mise en cache. Elle se réfère au processus d’enregistrement des fichiers HTML générés dynamiquement sur le disque dur du serveur, ou à la mémoire, en se servant de la mémoire cache chaque fois qu’une demande est faite. Cela économise le temps d’exécution du code PHP et des requêtes de base de données MySQL.
La mise en cache de la base de données
Le but d’une base de données est de stocker, mettre à jour, et fournir des données de manière efficace. Les bases de données sont généralement énormes et chaque requête prend une quantité importante de temps. Etant donné que WordPress repose largement sur sa base de données, il fait une requête de temps en temps. Si ces données ne sont pas modifiées dans la base de données, l’exécution de requêtes pour récupérer les mêmes données est le même que re-télécharger les mêmes images et fichiers encore et encore. Pour éviter que cela se produise, il est logique d’enregistrer les résultats d’une requête dans le stockage local. Ce qui est connu comme la mise en cache de base de données, et est l’un des facteurs fondamentaux de la mise en cache efficace de WordPress.
Mais une fois que la base de données est mise à jour – ce qui se produit lorsque vous mettez à jour une publication ou une page, ou ajoutez une nouvelle publication, ou que quelqu’un soumet un nouveau commentaire – il est important de supprimer le cache de la base de données précédemment enregistré, et remettre en cache la requête de base de données une fois de plus. Cela prévient des résultats de requête de base de données qui sont non pertinents ou erronés.
La mise en cache basée objet
WordPress a son propre système de mise en cache interne qui comprend plusieurs sous-systèmes tels que la mise en cache API, le cache objet et l’API transitoire. Ce système de mise en cache peut être contrôlé par des plugins pour réduire le nombre d’appels de base de données. Cependant, ceci est un sujet assez avancé qui n’est pas tout à fait pertinent pour les utilisateurs réguliers de WordPress.
La mise en cache du code opération
La mise en cache du code opération réfère à la sauvegarde du code PHP compilé entre chaque demande. WordPress à son noyau utilise PHP qui est un langage de programmation orienté objet. Cela signifie que pour un code PHP à exécuter, un compilateur PHP doit compiler le premier code et générer le code exécutable qui sera exécuté par le serveur web.
En d’autres termes, la mise en cache du code opération est le stockage de la sortie du compilateur PHP dans le cache.
Pour mettre en œuvre la mise en cache côté serveur de toute forme, les données doivent être stockées dans le stockage local. Le stockage local désigne soit le disque dur du serveur ou la mémoire principale du serveur comme par exemple la RAM.
La RAM, qui signifie Random Access Memory, est généralement beaucoup plus rapide que les disques durs. Elle est une forme de mémoire volatile et généralement le stockage primaire. Les disques durs, d’autre part, sont un stockage secondaire non volatil qui est plus coûteux.
Le stockage que vous utilisez pour enregistrer les données en cache joue un rôle important. Les disques durs sont plus lents et donc la vitesse du disque dur est un problème. Dans la plupart des cas, les disques durs utilisés sur les serveurs vont de 7200 RPM à 15000 RPM et peuvent avoir des niveaux de RAID (réseau redondant de disques indépendants) différents – Le RAID 0 est le plus rapide mais aussi le plus précaires, alors que RAID 4 a un bon équilibre entre la vitesse et la sécurité.
Si vous utilisez un serveur d’hébergement mutualisé, comme la plupart des propriétaires de site Web, votre seul choix est de stocker les données mises en cache sur le disque dur. Si vous avez d’autre part un serveur dédié ou un VPS, vous avez également la possibilité supplémentaire d’utiliser la RAM comme votre espace de stockage pour les données mises en cache.
Augmentez la vitesse de votre page avec l’un des plugins de mise en cache ci-dessous. Nous vous recommandons Hummingbird comme une solution tout-en-un.
Mettre en Cache ou Ne Pas Mettre en Cache
Le plus grand avantage de l’utilisation de la mise en cache WordPress est l’amélioration du temps de chargement de votre site Web. Cela seul suffit comme raison d’installer et d’utiliser un plugin de mise en cache. Cependant, il y a des moments où la mise en cache semble casser les choses. Pourquoi cela?
La réalité est que la plupart des sites Web modernes ont beaucoup de caractéristiques de fantaisie, à savoir le contenu qui se met à jour automatiquement sans vous ne fassiez quoi que ce soit. Si vous avez un widget sur votre site qui affiche votre flux Twitter, ce widget est automatiquement mis à jour sans avoir à le mettre à jour manuellement.
De même, si vous avez une boutique en ligne sur votre site web, alors le panier se mettra automatiquement à jour lorsqu’un visiteur y ajoutera un produit, et il se mettra également à jour différemment pour chaque visiteur.
Ce type de contenu sera généralement la première chose à rompre avec un plugin de mise en cache activé. Si ces plugins ne sont pas codés correctement, vos visiteurs ne verront pas un panier mis à jour; ou votre flux Twitter n’affichera pas une liste de vos tweets les plus récents.
Si vous avez ces fonctionnalités sur votre site Web, vous devez vous assurer qu’elles n’utilisent pas PHP pour afficher le résultat parce que PHP ne fonctionnera pas sur une page en cache.
La solution est d’utiliser un plugin qui ne repose pas sur PHP pour le résultat, mais utilise plutôt JavaScript et AJAX pour générer le résultat. Contrairement à PHP, JavaScript fonctionne du côté de votre navigateur plutôt que sur le serveur, de sorte que même lorsque votre page est mise en cache, vous pouvez toujours compter sur elle pour générer les caractéristiques dynamiques dont vous avez besoin.
Une autre solution est de demander à votre développeur de site Web d’implémenter des fonctionnalités spécifiques en utilisant JavaScript ou AJAX.
Enfin, une troisième solution consiste à désactiver la mise en cache de cette page, ou supprimer la fonction si elle est moins importante pour l’expérience utilisateur que la vitesse.
Vue d’Ensemble des Plugins de Mise en Cache
Il y a beaucoup de plugins de mise en cache pour WordPress, et ils font un peu plus que juste la mise en cache de vos pages. Certains d’entre eux comprennent d’autres fonctionnalités telles que la compression GZIP, la minification CSS, HTML et JavaScript, CDNs, et plus encore.
Gardez à l’esprit que vous devez toujours désactiver et purger le cache lorsque vous apportez des modifications au thème de votre site Web. Cela garantit que vous voyiez la dernière version de la page et non pas un cache.
Et donc, nous allons jeter un œil aux meilleures options disponibles pour les plugins de mise en cache.
Hummingbird
Hummingbird est un plugin d’optimisation de performance avec un objectif d’aider à l’optimisation de votre site, en plus de le faire charger plus rapidement. Lorsque vous activez Hummingbird, il vous montre comment votre site est noté sur une échelle de 100, puis vous donne un détail de ce que vous devez améliorer. Les suggestions sont clairement écrites en langage facile à comprendre, et inclus une liste des fichiers spécifiques que vous devez éditer, ainsi que les images que vous avez besoin de compresser, de sorte que vous pouvez commencer tout de suite.
Il est similaire à l’outil Page Speed de Google, mais la différence est qu’il vous donne l’explication en utilisant la terminologie que vous pouvez réellement comprendre. Et il élimine la nécessité de trouver manuellement et remplacer les fichiers qui sont à l’origine des problèmes de temps de chargement. Tous les changements sont effectués en un clic de bouton, et toutes les optimisations peuvent facilement être annulées.
Un domaine où Hummingbird brille vraiment est l’élimination des problèmes de Rendu de Blocage. C’est l’un des problèmes les plus courants en ce qui concerne la vitesse d’un site web, et souvent celui qui exige le plus de temps, étant donné que vous devez écrire et localiser chaque fichier qui est à l’origine des problèmes de rendu de blocage.
Hummingbird vous permet de voir exactement quels fichiers sont à l’origine des problèmes, en énumérant leurs noms afin que vous puissiez alors décider si vous voulez les déplacer vers le pied de page, l’en-tête, ou les laisser dans leur positions d’origine. Vous pouvez également choisir de les combiner et de les rapetisser pour améliorer les performances du site.
Hummingbird peut également vous aider avec la minification, le cache du navigateur, la compression gzip, et même être configuré pour surveiller la disponibilité de votre site.
Hummingbird est disponible dans le cadre de nos membres WPMU Dev pour $49/mois.
W3 Total Cache
W3 Total Cache (W3TC) est l’un des plus puissants plugins de mise en cache gratuit dans le répertoire de plugin. Il est le seul système d’optimisation de performance WordPress conçu pour stimuler l’expérience utilisateur, et améliorer le chargement des pages. De plus, il est fortement recommandé par quelques-uns des plus grands fournisseurs d’hébergement dans l’industrie, y compris Page.ly, Flywheel et SiteGround.
Sortant des sentiers battus, il peut sembler assez compliqué et écrasant étant donné que sa zone Paramètres est divisé en 16 pages. Cependant, l’avantage est que vous ne devez pas configurer manuellement les paramètres pour faire fonctionner le plugin – ses paramètres par défaut fonctionnent assez bien.
Il inclut des paramètres pour la mise en cache de page, la mise en cache objet, la mise en cache de base de données, le cache du navigateur, et le CDN ainsi que la compression GZIP et la minification HTML, CSS et JavaScript. Il est également compatible avec CloudFlare.
WP Super Cache
WP Super Cache est le deuxième plugin de mise en cache le plus populaire qui se trouve être également très facile à utiliser. Il est très facile de débuter avec, et il est adapté pour les utilisateurs, même débutants. Il possède moins de fonctionnalités que W3 Total Cache, mais la bonne chose à propos de ce plugin est qu’en permettant simplement l’option de mise en cache, vous donner à votre site une augmentation significative de vitesse.
Il propose trois options pour diminuer les temps de chargement:
- L’utilisation du mod_rewrite pour fournir des pages statiques
- Servir les pages statiques en utilisant PHP
- L’utilisation d’un mode de mise en cache héritage qui met en cache les pages pour les utilisateurs qui sont connectés
Les autres caractéristiques comprennent la compression de page, la mise en cache dynamique, la prise en charge du CDN, la mise en cache mobile, et un planificateur.
WP Super Cache est disponible gratuitement.
WP Fastest Cache
WP Fastest Cache est un autre plugin de mise en cache simple et convivial. Ses développeurs affirment que le plugin WP Fastest Cache est « le système de mise cache WP le plus simple et le plus rapide ». Il génère des fichiers HTML statiques basées sur votre blog WordPress dynamique et les enregistre dans le cache.
Le plugin utilise le mod_rewrite pour créer des fichiers HTML statiques sur votre site. Il offre également la minification, la compression GZIP, le cache du navigateur, et une option pour combiner les fichiers JavaScript et CSS ensemble pour réduire les demandes de votre serveur.
Les autres caractéristiques comprennent la suppression automatique des règles mises en cache quand une publication ou une page est publiée, la prise en charge du CDN, la prise en charge SSL, une bascule on/off pour la mise en cache utilisateur mobile connecté, et plus encore. L’inconvénient de WP Fastest Cache est le manque de soutien pour les installations multisites au moment de la rédaction de ce document.
WP Fastest Cache est gratuit avec la possibilité d’acheter une version premium.
Intéressé par WP Fastest Cache?
WP Rocket
WP Rocket est le plugin de mise en cache le plus récent disponible pour WordPress. Il est très facile à utiliser et fonctionne correctement immédiatement après l’activation, ce qui est un énorme avantage pour ceux qui ne sont pas des avisés de technologie.
Certaines de ses caractéristiques comprennent le cache du navigateur, le pré-chargement de cache, la compression GZIP, ainsi que la minification des fichiers HTML, CSS et JavaScript.
Ce qui le rend différent des autres plugins de mise en cache est sa fonction de chargement d’image paresseuse, ce qui signifie que les images que vous avez définies sur votre page sont chargées uniquement lorsque l’utilisateur fait défiler la page. Cette approche non préemptive améliore considérablement les temps de chargement.
WP Rocket est disponible pour $39 pour une licence de site unique, $99 pour une utilisation sur trois sites, et $199 pour une utilisation sur des sites Web illimités.
Autres Optimisations de Vitesse de WordPress
En dehors de la mise en cache, il y a d’autres optimisations de performance que vous pouvez utiliser pour améliorer les performances de votre site WordPress. Les deux optimisations les plus importantes sont la compression HTTP et la minification des fichiers JavaScript/CSS. La plupart des plugins de mise en cache prennent en charge ces deux optimisations que nous allons aborder brièvement.
Compression HTTP
Toutes les données envoyées via le protocole HTTP peuvent être compressés sur le serveur. Au lieu d’envoyer de grandes quantités de données, la compression HTTP permet au serveur d’envoyer un flux de données plus petit vers le navigateur Web, qui décompresse et affiche. Cela réduit le nombre d’octets envoyés entre votre serveur Web et vos utilisateurs, ce qui entraîne une diminution de temps de chargement.
Minimisation du Script et de la Feuille de Style
Chaque feuille de style, script et image sur votre site Web est chargé via une requête HTTP séparée de votre navigateur. Quand elle vient vers WordPress, cela signifie généralement que chaque plugin va l’ajouter au nombre de requêtes que le navigateur doit faire, en considérant chaque plugin qui a ses propres fichiers de feuille de style et de script. Tout cela conduit à ralentir les temps de chargement. La solution consiste à utiliser le paramètre minification dans l’un des plugins de mise en cache, ou d’utiliser un plugin tel que Better WP Minify qui combine les multiples fichiers JavaScript et CSS dans un seul fichier, ce qui réduit le nombre de demandes.
Optimisation d’Image
Enfin, la dernière recommandation sur notre liste est d’optimiser les images sur votre site web. Maintenant, je suis sûr que vous savez que l’utilisation d’images non compressées ne fait qu’augmenter le temps de chargement de votre site. En comprimant correctement les images – En les redimensionnant aux dimensions appropriées et en les enregistrant dans un format optimisé pour le web – vous pouvez améliorer les temps de chargement de façon spectaculaire.
En utilisant un outil tel que TinyJPG.com ou TinyPNG.com, vous pouvez vous assurer que vos images conservent leur qualité tout en étant correctement comprimé pour le web. Si vous avez déjà un certain nombre d’images sur votre site web, un plugin comme WP Smush Pro peut compresser vos images tout en conservant leur qualité afin d’améliorer considérablement la vitesse de la page de votre site Web. Avec WP Smush Pro, vous pouvez optimiser les images en vrac jusqu’à 32MB sans temporiser, et même redimensionner vos images – sans plus avoir à traiter avec les paramètres de confusion Photoshop.
Pour conclure
La vitesse du site joue un rôle important dans la performance globale de votre site Web. La meilleure façon de vous assurer que votre site offre une bonne expérience utilisateur et augmente vos classements des moteurs de recherche, est de tirer profit d’un plugin de mise en cache WordPress.
Il y a beaucoup de plugins de mise en cache différent et ils fonctionnent tous différemment, en fonction d’un certain nombre de facteurs qui incluent le type de plan d’hébergement dans lequel vous êtes. Si votre serveur et votre plugin de mise en cache ont été configurés correctement, le type et l’abondance de contenu sur votre page le seront aussi.
La seule façon de trouver quel plugin de mise en cache est mieux pour vous est de les tester par vous-même, avec votre propre site et un service d’hébergement.
D’après l’article source wpmudev
Bonjour Frédéric,
Et merci pour cet excellent article.
Une question: est-il nécessaire de viter le cache de son site à intervalle régulier ?
Ou bien, tant que tout focntionne bien, vaut-il mieux ne rien toucher ?
Merci pour votre aide,
Nathalie
Salut
De mon point de vu, ca ne fait pas de mal de le vider de temps en temps. De toute façon en règle générale la durée d’un mise en cache est limité et le cache se régénére régulièrement
Article très complet et bien documenté. Pour ma part j’utilise wp rocket, j’ai testé tous les autres et c’est celui-là qui me parait le mieux adapté. Il faut néanmoins faire attention avec le defer JS de ne pas casser le site 😉
Wp Rocket est en effet agréable au niveau de l’interface et n’est pas mauvais
Un commentaire reçu par Email :
Tandis que tinyjpg.com/ est un bon outil, il ne vous permet de compresser que des images de maximum 20 MB.
Après quelques recherches, j’ai trouvé l’outil ci-dessous et j’ai voulu vous le suggérer comme addition à l’autre:
https://www.websiteplanet.com/fr/webtools/imagecompressor/
Ce dernier vous permet de compresser des images qui vont jusqu’à 50 MB en format jpeg mais également en png!