bloggerselite logo

Mise en cache WordPress : Tout ce qu’il faut savoir

wordpress cache

La mise en cache consiste à stocker des requêtes de base de données et, lorsqu’elle est activée sur votre site WordPress, elle permet d’accélérer les temps d’exécution de PHP, de réduire la charge de votre base de données et de fournir plus rapidement du contenu à vos visiteurs.

Au lieu de charger chaque partie d’un site web à chaque fois qu’un utilisateur y accède, le cache stocke les requêtes de la base de données qui peuvent récupérer le contenu plus rapidement lorsqu’il est nécessaire. Il existe de nombreux types de mise en cache d’objets, tels que la mise en cache du navigateur, de la page, du mobile et de l’utilisateur.

Dans ce guide, nous allons étudier la mise en cache en profondeur, et expliquer comment elle fonctionne avec WordPress.

Qu’est-ce que la mise en cache WordPress ?

mise en cache WordPress

La mise en cache d’objets est un processus qui stocke les résultats des requêtes de la base de données afin de les faire remonter rapidement la prochaine fois qu’ils sont nécessaires.

L’objet mis en cache sera servi rapidement à partir du cache plutôt que d’envoyer plusieurs requêtes à une base de données. Cette méthode est plus efficace et réduit les charges massives inutiles sur votre serveur. En termes simples, la mise en cache d’objets permet de copier les objets souvent utilisés et de les stocker à un endroit plus proche pour une utilisation plus rapide.

Une base de données efficace permet aux sites web à fort trafic de diffuser des médias de haute qualité dans le monde entier.

La surcharge de votre serveur se traduira par des performances médiocres du site web et une expérience négative pour l’utilisateur. Lorsque vous mettez en place la mise en cache d’objets sur votre site web, vous soulagez votre serveur et ne créez des requêtes de base de données que lorsque c’est nécessaire.

Voici une description étape par étape du fonctionnement de la mise en cache d’objets.

  • Lorsqu’un navigateur accède à votre site, il demande des informations au serveur.
  • Votre serveur reçoit la demande, commence à la traiter et à la transmettre, puis renvoie l’objet au navigateur.
  • Si la mise en cache des objets est désactivée, cette requête à la base de données est effectuée chaque fois qu’un utilisateur accède à votre site. Si la mise en cache d’objets est activée, votre serveur créera un double de chaque requête effectuée dans votre cache.
  • La prochaine fois qu’une demande similaire est faite, le cache est vérifié en premier et la demande est servie à partir de là, au lieu d’interroger la base de données.
  • Si une copie n’existe pas, une demande est adressée à la base de données pour être traitée et compilée. Une fois traitée, elle est renvoyée au navigateur et une copie est placée dans le cache pour une utilisation ultérieure.

La mise en cache d’objets permet d’éviter que votre serveur n’interroge inutilement votre base de données. C’est très utile pour les sites web à fort trafic ou aux heures chargées de la journée. Vous pouvez penser que cela ne s’applique qu’aux grands sites web internationaux à fort trafic quotidien. Bien que cela soit d’autant plus vrai que le site est grand et très fréquenté, cela peut aider les petits sites à optimiser leur pratique et à offrir une meilleure expérience à l’utilisateur.

Un site à faible trafic ne surchargera probablement pas un serveur et sera en mesure de traiter, de compiler et de servir des pages plusieurs fois par jour. Dans ce cas, la mise en cache d’objets permettra à votre site web de bénéficier d’une charge de serveur réduite et de vitesses de service plus rapides. En revanche, un site web de grande taille exigera davantage de son serveur et devra traiter des requêtes beaucoup plus importantes à une fréquence beaucoup plus élevée et traiter et compiler les pages plus rapidement.

Quels sont les différents types de mise en cache ?

Différents types de mise en cache

La mise en cache peut être effectuée côté client ou côté serveur. Comme leur nom l’indique, la différence réside dans l’endroit où la mémoire cache est stockée. La plupart des utilisateurs sont familiarisés avec un type de mise en cache côté client, la mise en cache du navigateur.

Le navigateur d’un utilisateur fait une copie d’une page web statique de sorte que lorsqu’il visite la page la prochaine fois, le contenu est extrait du cache de son ordinateur au lieu d’avoir à interroger la base de données et à attendre une réponse du serveur. La plupart des internautes en font l’expérience lorsqu’ils visitent régulièrement un site web à fort trafic et remarquent qu’il se charge très rapidement.

La mise en cache d’objets est une sorte de mise en cache côté serveur. Cela signifie que le cache est stocké sur le serveur et que les requêtes mises en cache sont servies à partir de là. La mise en cache d’objets conserve les résultats des requêtes de la base de données qui ont déjà été chargées et les transmet plus rapidement lors de la prochaine requête, sans avoir à interroger la base de données. Nous entrerons dans le détail de la mise en cache d’objets, mais la mise en cache de pages et la mise en cache CDN sont d’autres types de mise en cache côté serveur.

La mise en cache des pages stocke les résultats de l’ensemble de la page web, y compris le HTML et le contenu, de sorte que lors de la prochaine consultation, le contenu puisse être affiché sans que WordPress n’ait à le charger à nouveau.

C’est une bonne chose pour la vitesse du serveur, car cela signifie que WordPress n’a pas besoin de traiter et de livrer la page à chaque fois que quelqu’un la visite. Cependant, cela peut signifier que ces pages resteront obsolètes si le contenu est mis à jour. Vous pouvez définir des expirations si vous mettez votre contenu à jour régulièrement, mais cette méthode de mise en cache peut parfois être frustrante.

Les réseaux de diffusion de contenu (CDN) utilisent plusieurs serveurs dans différentes parties du monde pour stocker les fichiers et le contenu des sites web. Cela permet d’accélérer la livraison des pages web et du contenu aux utilisateurs qui se trouvent à l’autre bout du monde. L’utilisateur bénéficie ainsi d’une expérience fiable, car le contenu peut être servi à partir de plusieurs serveurs.

Mise en cache d’objets persistants : Redis, Memcached et APC

La mise en cache d’objets persistants pousse ce processus un peu plus loin. Au lieu de mettre en cache chaque page ou chaque objet en permanence, la mise en cache d’objets persistants permet aux objets qui apparaissent plusieurs fois d’être mis en cache une seule fois et d’être servis chaque fois que cela est nécessaire. Elle est recommandée si vous avez beaucoup de contenu répétitif ou si vous essayez de faire évoluer votre site web. Elle permet d’éliminer une grande partie du trafic inutile en provenance et à destination de votre serveur, et d’offrir une meilleure expérience à l’utilisateur.

Nous allons examiner quelques outils populaires de mise en cache d’objets persistants, notamment Redis, Memcached et APC. Il s’agit d’outils puissants qui permettent un stockage rapide des données et qui réduisent la charge sur la base de données de votre site web. Ils améliorent également le temps de réponse et la capacité de trafic de votre site web. Cela soulage considérablement votre serveur en rationalisant ses processus de base, ce qui vous permet de vous concentrer sur le contenu, l’activité et la croissance de votre site web.

Redis

redis wordpress download page

Redis est de loin l’un des principaux plugins WordPress de mise en cache d’objets persistants. Redis est une structure de stockage de données en mémoire open-source. Il s’agit d’une base de données, d’un cache et d’un centre de messages tout en un. Il fonctionne avec de nombreuses structures de données telles que les chaînes de caractères, les hachages, les listes, les ensembles, etc…

Redis est doté d’un certain nombre de fonctionnalités puissantes, notamment la réplication intégrée, l’écriture de scripts et la persistance sur disque. Redis Sentinel et Redis Cluster offrent des fonctionnalités supplémentaires, notamment la haute disponibilité et le partitionnement automatique, respectivement.

L’ensemble de données en mémoire est la principale caractéristique des performances élevées offertes par Redis. Vous pouvez modifier la persistance d’un objet en attribuant une heure de rafraîchissement et de vidage des nouvelles données ou en enregistrant les nouvelles modifications pour les mettre à jour lorsque vous redémarrez Redis. Cette fonctionnalité peut également être désactivée si vous avez besoin d’un contenu à mettre à jour régulièrement.

Le plugin WordPress le plus populaire est Redis Object Cache, avec plus de 30 000 installations. Il est facile à installer et à configurer. Une fois le plugin activé, allez dans Réglages > Redis et cliquez sur “Activer le cache d’objet”.

Memcached

memcached homepage

Memcached est également une solution open-source de mise en cache de la mémoire distribuée. Similaire à Redis, il est utilisé pour optimiser le trafic des processus web dynamiques en allégeant la charge de la base de données.

Memcached stocke des objets de données dans une mémoire dynamique. On peut facilement l’assimiler à une “mémoire à court terme”. Toutes les informations sont stockées dans la mémoire vive, de sorte qu’une fois la mémoire libre épuisée, les données les plus anciennes sont supprimées et remplacées.

Memcached stocke des données basées sur des valeurs clés pour de petites chaînes ou objets arbitraires, et se compose de quatre éléments principaux. Le logiciel client fournit au client une liste des serveurs disponibles à utiliser. Un algorithme de hachage basé sur le client permet de sélectionner un serveur sur la base d’une clé. Le logiciel serveur gère et stocke les valeurs et les clés dans une table de hachage. Enfin, Memcached est, par défaut, un cache LRU (Least Recently Used), et rejette ou expire les anciennes données en fonction des besoins.

Memcached attribue à chaque élément une clé, un délai d’expiration et des données brutes. Lorsque l’utilisateur demande un élément de contenu ou de données, Memcached regarde d’abord dans le cache pour voir s’il y est stocké. Si c’est le cas, il récupère les données à partir du cache et n’a pas besoin de consulter la base de données.

Si les données ne sont pas dans le cache, Memcached renvoie un code d’échec à l’application appelante. L’application est alors chargée d’obtenir les données ailleurs (éventuellement en interrogeant la base de données) et, éventuellement, de soumettre à nouveau les données fraîches à Memcached. Les fonctions WordPress telles que get_option, get_postmeta utilisent des données mises en cache.

Chaque fois que des données sont modifiées ou expirent, Memcached met automatiquement à jour le cache pour charger du contenu frais. Le logiciel garde la trace et rappelle toutes les données à l’aide d’algorithmes de hachage et d’une table de hachage interne à laquelle on accède et à laquelle on fait référence en permanence.

Il existe un certain nombre de plugins compatibles qui prennent en charge Memcached et qui, une fois installés, vérifient que Memcached est bien installé sur votre serveur. W3TC est un excellent plugin qui prend en charge Memcached (ainsi que Redis). Une fois qu’il est installé et activé, naviguez vers General Settings > Page Cache Method et sélectionnez Memcached.

APC

Alternative PHP Cache (APC) est un cache PHP gratuit et ouvert, fournissant un cadre solide pour la mise en cache et l’optimisation du code PHP. APC est différent de Redis ou Memcached car il se concentre uniquement sur la mise en cache de PHP. En réduisant les exécutions dynamiques de PHP, les exécutions de scripts s’exécutent efficacement. Lorsqu’un navigateur demande une page, le serveur analyse le code de votre script PHP et génère le code HTML qui s’affiche sous forme de page dans le navigateur de l’utilisateur.

PHP est idéal pour les sites web qui sont régulièrement mis à jour avec du nouveau contenu, afin que chaque nouveau visiteur reçoive une page actuelle. Si votre script PHP extrait des informations d’une base de données, APC génère et stocke automatiquement un nouveau code pour le prochain visiteur.

Le fait de devoir faire cela en temps réel à chaque fois qu’un nouvel utilisateur accède à votre site web peut considérablement ralentir votre serveur. APC rationalise ce processus afin de réduire la charge du serveur. L’utilisation d’APC permet d’éviter les exécutions redondantes de scripts PHP, en sautant l’analyse et la compilation. APC enregistre l’opcode qui est exécuté chaque fois que le script est nécessaire.

Fonctionnement d’APC

La mise en cache APC est exécutée par le moteur Zend et se déroule en cinq étapes. Tout d’abord, APC lit le code PHP depuis la base de données et l’écrit en mémoire. Ensuite, le code PHP est transformé en jetons appelés, ou Lexicons. Ce processus est appelé Lexing. La troisième étape est l’analyse syntaxique, qui traite ces jetons pour créer des expressions significatives.

Ensuite, lors de la compilation, ces expressions sont organisées en opcodes. L’exécution est la dernière étape, lorsque les opcodes sont exécutés pour produire un résultat final qui sera présenté au navigateur de l’utilisateur. APC vise à réduire le temps d’exécution des quatre premières étapes, en se concentrant sur l’organisation et l’exécution.

Installation d’APC

Il y a deux façons d’installer APC, à partir d’un dépôt ou en utilisant PECL. Nous allons examiner les deux méthodes et voir quelle option fonctionne le mieux. Parce qu’APC fonctionne au niveau du serveur, il ne peut pas être utilisé sur des serveurs d’hébergement partagés. Vous devez disposer d’un VPS ou d’un serveur dédié pour l’installer.

La méthode du dépôt est recommandée si possible, car il est toujours préférable d’avoir ses données sur son propre serveur. De plus, si vous choisissez cette méthode, rien d’autre ne doit être effectué sur WordPress, car la mise en cache se fait au niveau du serveur.

En utilisant PECL, le dernier fichier source doit être téléchargé et compilé pour votre ordinateur. Il s’agit d’une bonne méthode, mais elle n’est pas aussi fiable qu’une installation au niveau du serveur, car vous risquez d’être confronté à des problèmes de mise à jour ou de compatibilité.

Configuration d’APC

Une fois l’installation terminée, APC doit être activé dans le fichier de configuration PHP. Si vous avez installé APC à partir d’un dépôt, cela sera déjà fait pour vous, et vous n’aurez qu’à redémarrer votre base de données. Ces paramètres devraient être suffisants pour vous permettre de démarrer, mais vous pouvez configurer davantage APC.

Un paramètre que vous devriez modifier est apc.shm_size, qui détermine la quantité de mémoire à utiliser pour APC. Par défaut, il est fixé à 30 Mo, mais il est recommandé d’augmenter ce nombre à 64, 128 ou même 512 Mo en fonction de vos besoins, de vos ressources, de vos applications et de la RAM disponible sur le serveur.

Quels sont les avantages de la mise en cache ?

Une grande partie des tâches requises par les serveurs et les sites web sont subalternes, répétitives et nécessaires au bon fonctionnement du site. La mise en cache d’objets prend en charge une grande partie de ces tâches, ce qui réduit considérablement la charge des serveurs.

Le contenu peut ainsi être servi beaucoup plus rapidement tout en maintenant une charge légère sur le serveur. La mise en cache d’objets est bénéfique à la fois pour les consommateurs et les fournisseurs de contenu, car elle affecte essentiellement la manière dont le contenu est fourni et reçu.

La mise en cache efficace d’objets présente un certain nombre d’autres avantages. La répartition des caches de contenu à différents endroits du réseau permet aux utilisateurs d’accéder plus facilement et plus rapidement au contenu. Lorsque le contenu est plus proche et plus facile d’accès, cela réduit la charge du serveur et, en fin de compte, les coûts du serveur.

En outre, votre serveur ou votre site web devient ainsi beaucoup plus interconnecté et réactif. La proximité et l’accès aux fichiers rendent les tâches plus efficaces et l’interactivité avec les utilisateurs plus rapide.

Vous pourrez également obtenir de meilleures performances de votre matériel si ces tâches sont optimisées. La mise en cache d’objets permet à votre matériel de se reposer et de se concentrer sur des tâches plus exigeantes, tandis que le contenu peut profiter d’autres serveurs puissants entre le contenu et le consommateur.

Grâce à la mise en cache d’objets, votre contenu reste également disponible pendant les pics ou les interruptions du réseau, car il est servi par un autre serveur. En cas de panne ou de forte charge, votre site web n’a pas à dépendre entièrement de votre serveur pour servir le contenu à vos utilisateurs.

WP_Object_Cache expliqué

objectcachingsettings

WordPress possède son propre cache d’objets intégré appelé WP_Object_Cache. Cet outil stocke automatiquement toutes les nouvelles données de la base de données dans la mémoire de PHP, tout en évitant les redondances. Cependant, WP_Object_Cache ne met en cache les objets que pour le chargement d’une seule page. L’objet est supprimé du cache une fois la requête terminée, et devra être reconstruit lors de la prochaine requête pour cette page.

Il s’agit d’une fonctionnalité intégrée intéressante pour Worpress, qui peut aider tout site d’hébergement WordPress géré à fonctionner plus efficacement en évitant les requêtes similaires. Cependant, pour faire évoluer votre site web, son interactivité ou sa portée, cela ne sera pas suffisant ou efficace.

Les solutions de mise en cache persistante peuvent entrer en jeu ici, car la mise en cache d’objets est immensément plus puissante lorsque les objets peuvent être mis en cache au cours de plusieurs requêtes de page. Cela permettra d’optimiser le temps de fonctionnement de votre serveur et de votre base de données au fur et à mesure que vous ajouterez du contenu à votre site web.

Par défaut, la mise en cache des objets est activée sur WordPress. Si vous avez un site à faible trafic, ou un site qui n’a pas beaucoup de contenu, cette fonctionnalité peut vous suffire. Cependant, si vous n’êtes pas satisfait de la vitesse de réponse de votre serveur, ou si vous avez un site à fort contenu ou à fort trafic, envisagez d’utiliser l’une des solutions de mise en cache d’objets persistants ci-dessus.

La mise en cache d’objets peut susciter un certain nombre de questions sur l’outil à utiliser, la manière de l’installer et l’impact sur votre site. En termes simples, la mise en cache d’objets a le potentiel d’améliorer immédiatement les performances de votre site web et de réduire la charge de votre serveur, quelle que soit la méthode que vous choisissez. Certaines méthodes peuvent être meilleures que d’autres pour vous, tandis que d’autres peuvent ne pas être envisageables compte tenu de la configuration de votre système.

17343

S’abonner à notre Newsletter

Découvrez notre trésor de connaissances !

FAQ sur la mise en cache WordPress

Qu’est-ce que la mise en cache de WordPress et pourquoi est-elle importante pour les performances du site ?

La mise en cache de WordPress est une méthode qui permet de stocker en mémoire cache les pages et les fichiers statiques d’un site WordPress, ce qui réduit le temps de chargement des pages et améliore les performances globales du site. Cela permet de répondre plus rapidement aux demandes des utilisateurs et de réduire la charge sur le serveur.

Quelles extensions de gestion du cache sont disponibles pour WordPress ?

Il existe plusieurs extensions populaires de gestion du cache pour WordPress, telles que W3 Total Cache, WP Super Cache et Cache Enabler. Ces extensions permettent de mettre en cache les articles et les pages du site en tant que fichiers statiques, ce qui améliore les performances du site en réduisant le temps de chargement des pages].

Comment installer et configurer une extension de cache sur WordPress ?

RL’installation et la configuration d’une extension de cache sur WordPress sont généralement simples. Il suffit de rechercher l’extension souhaitée dans la section des plugins de WordPress, de l’installer et de suivre les instructions de configuration fournies par l’extension spécifique [1].

Comment la mise en cache navigateur peut-elle améliorer les performances d’un site WordPress ?

La mise en cache navigateur permet de stocker localement certains fichiers statiques, tels que les images, le CSS et le JavaScript, sur l’ordinateur du visiteur. Ainsi, lorsqu’un utilisateur revient sur le site, ces fichiers sont chargés à partir du cache local plutôt que du serveur, ce qui réduit le temps de chargement et la charge sur le serveur

Quels sont les en-têtes HTTP importants à connaître pour optimiser la mise en cache navigateur ?

Les en-têtes HTTP tels que “HTTP Cache-Control” (en particulier la valeur “max-age”), “Expires headers” et “Etag” sont importants pour optimiser la mise en cache navigateur. Ils permettent de contrôler la durée de mise en cache des fichiers statiques et d’indiquer aux navigateurs quand vérifier si une nouvelle version des fichiers est disponible

Quelles sont les considérations spécifiques à prendre en compte lorsque des contenus dynamiques sont présents sur un site WordPress et qu’on souhaite les mettre en cache ?

Lorsque des contenus dynamiques sont présents sur un site WordPress, la mise en cache peut être un peu plus complexe. Il est important de vérifier si les extensions de cache utilisées prennent en charge la mise en cache des contenus dynamiques ou s’il existe des solutions spécifiques pour gérer ces contenus

Quelles sont les options disponibles pour la mise en cache serveur sur un site WordPress à fort trafic ?

Pour les sites WordPress à fort trafic, il existe plusieurs options de mise en cache serveur. Les solutions les plus simples consistent à gérer le cache local du serveur, tandis que les solutions plus complexes utilisent une gestion de cache répartie sur plusieurs serveurs, connue sous le nom de “proxy inverse”. L’ajout d’un cache “opcode” tel que Opcache ou WinCache peut également améliorer les performances PHP [1].

Quels sont les avantages de l’utilisation de Varnish en combinaison avec les extensions de cache WordPress ?

Varnish est un système de cache serveur puissant qui peut être utilisé en combinaison avec les extensions de cache WordPress. Il permet de mettre en cache les pages du site et de les servir rapidement aux utilisateurs, ce qui améliore considérablement les performances globales du site

Quels sont les autres facteurs à prendre en compte pour optimiser la mise en cache WordPress ?

En plus de la mise en cache, d’autres facteurs importants pour optimiser les performances de WordPress incluent l’optimisation des images, la minimisation du code CSS et JavaScript, l’utilisation d’un bon service d’hébergement, etc. Ces éléments peuvent compléter la mise en cache pour obtenir des performances optimales

Où puis-je trouver plus d’informations sur la mise en cache WordPress et ses meilleures pratiques ?

Vous pouvez trouver plus d’informations sur la mise en cache WordPress et ses meilleures pratiques en effectuant des recherches supplémentaires sur le sujet, en consultant la documentation des extensions de cache WordPress et en explorant les ressources en ligne dédiées à l’optimisation de WordPress

Conclusion

La mise en cache d’objets est un outil utilisé sur le web pour améliorer l’expérience des sites web, réduire la charge des serveurs et accélérer l’interaction avec les utilisateurs. Par défaut, les sites WordPress ont une mise en cache d’objet à session unique activée, pour aider à optimiser l’expérience des sites par défaut. Pour de nombreux petits fournisseurs de contenu, cela peut permettre d’atteindre les objectifs fixés. En revanche, ils ne savent peut-être pas comment optimiser la diffusion de leur contenu à l’aide de la mise en cache d’objets.

Des solutions de mise en cache d’objets persistants telles que Redis, Memcached ou APC peuvent s’avérer nécessaires pour les plus gros producteurs de contenu dont les sites web sont plus riches en données.

Ces solutions permettent de mettre en cache des bases de données sur plusieurs sessions. Pour les sites web volumineux contenant des vidéos, des images et des médias, cela peut signifier des changements radicaux pour l’expérience de l’utilisateur et pour la vitesse, la charge et les coûts du serveur.

Partager cet Article :
Newsletter
Recevez des astuces et des ressources gratuites directement dans votre boîte de réception.
Derniers Articles
☰ Navigation Rapide
0
J'adorerais vos pensées, veuillez commenter.x

BloggersElite

Obtenez Gratuitement

Nos Tutoriels 

15987

S'abonner à Notre

Newsletter

Recevez les dernières astuces dans votre boîte Email

15585