WordPress possède déjà un cache objet : pendant le chargement d’une page, il garde en mémoire les options, articles et métadonnées lus dans la base pour ne pas les redemander. Mais la documentation de WordPress le précise : par défaut, ce cache n’est pas persistant. Tout disparaît à la fin de la requête, et la page suivante recommence les mêmes lectures dans MySQL ou MariaDB. Redis et Memcached rendent ce cache persistant.
Comment fonctionne le cache objet persistant
L’astuce tient en un fichier : object-cache.php, placé dans wp-content. C’est un « drop-in » que WordPress charge automatiquement au démarrage, en remplacement de son cache par défaut. Les extensions de cache objet installent ce fichier, qui redirige les fonctions wp_cache_get() et wp_cache_set() vers un serveur Redis ou Memcached.

À ne pas confondre avec la constante WP_CACHE, qui active un autre drop-in, advanced-cache.php, utilisé par les extensions de cache de pages. Le cache de pages évite d’exécuter PHP pour des pages entières ; le cache objet accélère les pages qui doivent rester dynamiques : administration, panier, espace client, recherche. OPcache, lui, agit encore à un autre niveau, sur la compilation du code PHP.
Depuis WordPress 6.1, l’outil Santé du site comporte un test qui indique si un cache objet persistant serait utile, selon le volume d’options, d’articles ou d’utilisateurs du site.
Redis ou Memcached ?
- Memcached se décrit comme un système de cache d’objets en mémoire, distribué et performant. C’est un stockage clé-valeur simple, qui évince par défaut les éléments les moins récemment utilisés (LRU) ; ses serveurs s’ignorent les uns les autres, ajouter un serveur ajoute de la mémoire.
- Redis est un magasin de structures de données en mémoire, utilisable comme cache, base de données ou file de messages. Il peut écrire ses données sur disque (instantanés RDB, journal AOF) ou s’en passer, ce que sa documentation présente comme un usage courant pour un cache.
Pour WordPress, les deux font l’affaire. Redis est souvent préféré pour ses fonctions supplémentaires, mais le gain dépend surtout de la proximité du serveur de cache et du site.
Pour WordPress
- Vérifiez la disponibilité : sur un hébergement cloud, un VPS ou une offre qui l’inclut, l’hébergeur ou vous lancez le service ; l’extension PHP correspondante (redis ou memcached) doit être installée.
- Installez une extension de cache objet, par exemple Redis Object Cache, qui prend en charge PhpRedis, Predis et Relay et fournit des commandes WP-CLI comme
wp redis status. Le plugin LiteSpeed Cache gère aussi Redis et Memcached, sur n’importe quel serveur web. - Un préfixe par site si plusieurs WordPress partagent le même Redis, sinon leurs données se mélangent.
- Pas d’exposition sur Internet : Redis et Memcached doivent écouter en local ou sur un réseau privé, avec authentification quand elle est disponible.
Après une modification de réglages, WP Masquerade purge les caches de pages qu’il reconnaît ; la page compatibilité hébergeurs et caches précise lesquels.
Erreurs fréquentes
Activer un cache objet sur un petit site sans en mesurer l’effet, oublier qu’un cache plein ou arrêté peut provoquer des lenteurs, ou installer deux extensions qui se disputent le fichier object-cache.php. En cas de comportement étrange après une migration, videz le cache objet : il peut contenir d’anciennes adresses ou d’anciens réglages.