loader image

Actualité

Accélérez votre site internet WordPress avec Redis

17 Déc 2024 | Astuces Wordpress

Si vous êtes propriétaire d’un site WordPress, vous avez probablement croisé le message suivant dans l’onglet « État de santé du site » : « Vous devriez utiliser un cache objet persistant ». Ce message, bien qu’il ne soit pas critique, souligne une opportunité d’améliorer les performances de votre site. Dans cet article, nous allons explorer pourquoi ce message apparaît, ce qu’est un cache objet persistant et comment Redis peut être la solution idéale pour accélérer votre site WordPress.

Pourquoi ce message apparaît-il dans WordPress ?

WordPress utilise un mécanisme appelé WP_Object_Cache pour stocker temporairement des données fréquemment utilisées, comme les résultats des requêtes SQL ou les métadonnées des articles. Par défaut, ce cache est non persistant, ce qui signifie qu’il est effacé à chaque chargement de page ou redémarrage du serveur. Cela oblige WordPress à reconstruire ces données à chaque requête, augmentant ainsi la charge sur la base de données et le temps de réponse.

Le message « Vous devriez utiliser un cache objet persistant » apparaît pour vous inciter à activer une solution qui conserve ces données en mémoire entre les chargements de pages. Cela permet de réduire considérablement les requêtes répétées à la base de données et d’accélérer votre site.

Redis : Une solution puissante pour le cache objet persistant

Redis est un système open source de gestion de bases de données clé-valeur en mémoire. Il est extrêmement rapide et idéal pour stocker des données temporaires comme celles générées par le cache objet de WordPress. Contrairement aux solutions traditionnelles comme Memcached, Redis offre une plus grande flexibilité et peut gérer des structures de données complexes.

Avantages d’utiliser Redis avec WordPress :

  • Réduction des temps de chargement : Les objets mis en cache sont récupérés directement depuis la mémoire vive (RAM), beaucoup plus rapide que les requêtes SQL.
  • Diminution de la charge serveur : Moins de requêtes vers la base MySQL signifie une meilleure gestion des ressources.
  • Amélioration de l’expérience utilisateur : Un site plus rapide réduit le taux de rebond et améliore le référencement SEO.

Comment installer et configurer Redis sur votre site WordPress

Étape 1 : Installer Redis sur votre serveur

  1. Connectez-vous à votre serveur via SSH.
  2. Installez Redis et l’extension PHP correspondante :
   sudo apt update
   sudo apt install redis-server php-redis -y
  1. Assurez-vous que Redis est actif :
   sudo systemctl enable redis-server
   sudo systemctl start redis-server
   redis-cli ping

Si tout fonctionne, vous devriez voir la réponse : pong.

Étape 2 : Installer le plugin Redis Object Cache

  1. Connectez-vous à l’administration WordPress.
  2. Allez dans Extensions > Ajouter, recherchez Redis Object Cache, puis installez-le et activez-le.

Étape 3 : Configurer wp-config.php

Pour éviter les conflits entre les caches des différents sites, ajoutez les configurations suivantes dans le fichier « wp-config.php » de chaque site, juste avant la ligne /* That’s all, stop editing! Happy blogging. */ .

Exemple de configuration pour un site :

define('WP_REDIS_HOST', '127.0.0.1'); // Adresse du serveur Redis
define('WP_REDIS_PORT', 6379);        // Port par défaut de Redis
define('WP_REDIS_PASSWORD', 'votre_mot_de_passe_redis'); // Si configuré
define('WP_REDIS_DATABASE', 0);      // Base de données Redis (0 à 15)
define('WP_CACHE_KEY_SALT', 'site.com_'); // Préfixe unique pour ce site
define('WP_REDIS_TIMEOUT', 1);       // Timeout des connexions Redis (en secondes)
define('WP_REDIS_READ_TIMEOUT', 1);  // Timeout des lectures Redis (en secondes)

Points importants :

  • Base de données Redis (WP_REDIS_DATABASE) : Dans le cas où vous gérez plusieurs sites sur un même serveur, utilisez une base différente pour chaque site (par exemple, 0 pour le premier site, 1 pour le second, etc.). Redis prend en charge jusqu’à 16 bases par défaut (configurable dans /etc/redis/redis.conf).
  • Préfixe unique (WP_CACHE_KEY_SALT) : Ajoutez un préfixe unique basé sur le domaine ou l’identifiant du site pour éviter tout chevauchement des clés.

Exemple pour plusieurs sites :

  • Site 1 (site1.com):
define('WP_REDIS_HOST', '127.0.0.1'); // Adresse du serveur Redis
define('WP_REDIS_PORT', 6379);        // Port par défaut de Redis
define('WP_REDIS_PASSWORD', 'votre_mot_de_passe_redis'); // Si configuré
define('WP_REDIS_DATABASE', 0);
define('WP_CACHE_KEY_SALT', 'site1.com_');
define('WP_REDIS_TIMEOUT', 1);       // Timeout des connexions Redis (en secondes)
define('WP_REDIS_READ_TIMEOUT', 1);  // Timeout des lectures Redis (en secondes)
  • Site 2 (site2.com) :
define('WP_REDIS_HOST', '127.0.0.1'); // Adresse du serveur Redis
define('WP_REDIS_PORT', 6379);        // Port par défaut de Redis
define('WP_REDIS_PASSWORD', 'votre_mot_de_passe_redis'); // Si configuré
define('WP_REDIS_DATABASE', 1);
define('WP_CACHE_KEY_SALT', 'site2.com_');
define('WP_REDIS_TIMEOUT', 1);       // Timeout des connexions Redis (en secondes)
define('WP_REDIS_READ_TIMEOUT', 1);  // Timeout des lectures Redis (en secondes)

Étape 4 : Tester la configuration

Retournez sur votre administration wordpress :

  1. Rendez-vous dans Réglages > Redis et cliquez sur Enable Object Cache.
  2. Vérifiez que le statut indique Connected.
  3. Testez votre site en naviguant sur plusieurs pages pour vous assurer qu’il fonctionne correctement.

Optimisation avec Redis

Pour maximiser les performances, configurez Redis pour limiter son utilisation mémoire et gérer efficacement les clés expirées :

  1. Ouvrez le fichier /etc/redis/redis.conf :
   sudo nano /etc/redis/redis.conf
  1. Ajoutez ou modifiez les lignes suivantes :
   maxmemory 512mb               # Limite mémoire (à ajuster selon vos ressources)
   maxmemory-policy allkeys-lru  # Politique d'éviction des clés les moins utilisées
  1. Redémarrez Redis :
   sudo systemctl restart redis-server

Optimisations complémentaires avec Redis

Configurer Redis pour gérer plusieurs bases

Redis utilise par défaut jusqu’à 16 bases (indexées de 0 à 15). Si vous avez besoin de plus, modifiez /etc/redis/redis.conf :

databases 16

Activer la persistance des données (optionnel)

Pour éviter la perte des données en cas d’arrêt du serveur, activez la persistance dans /etc/redis/redis.conf. Cela permet à Redis d’écrire les changements dans un fichier journal.

appendonly yes

Restreindre l’accès à Redis

Par défaut, Redis écoute sur 127.0.0.1. Assurez-vous que cette configuration est maintenue dans /etc/redis/redis.conf :

bind 127.0.0.1 ::1

Configurer un mot de passe pour Redis (optionnel mais recommandé)

Ajoutez un mot de passe sécurisé dans /etc/redis/redis.conf en décommentant et modifiant cette ligne :

requirepass votre_mot_de_passe_redis

Après avoir fait les modifications dans le fichier conf, redémarrez ensuite Redis.

sudo systemctl restart redis-server

Redis et autres solutions de mise en cache

Redis est particulièrement utile pour les sites dynamiques ou ceux avec beaucoup d’interactions utilisateur (e-commerce, forums, etc.). Cependant, il peut être combiné avec un plugin comme WP Fastest Cache ou WP Rocket pour optimiser également le frontend en générant des pages HTML statiques.

Conclusion

Activer un cache objet persistant avec Redis est une étape essentielle pour améliorer les performances de votre site WordPress, surtout si vous voyez apparaître le message « Vous devriez utiliser un cache objet persistant ». En réduisant la charge sur votre base de données et en accélérant le chargement des pages, Redis offre une solution puissante et fiable pour répondre aux exigences modernes en matière de vitesse et d’expérience utilisateur.

Alors n’attendez plus ! Mettez en place Redis dès aujourd’hui et profitez d’un site rapide, performant et prêt à accueillir vos visiteurs dans les meilleures conditions possibles.

Xavier Mercier

Xavier Mercier

Créateur de sites internet, Graphiste & Activateur France Num

Articles récents

Améliorer son référencement avec la stratégie multisite

Le référencement d'un site web est un enjeu majeur pour toute entreprise ou organisation cherchant à accroître sa visibilité en ligne. Dans cet article, nous explorerons comment améliorer son référencement en mettant en place une stratégie multisite efficace. 1....

Catégories

Toutes les actualités

Activateur France Num à Soissons dans l'Aisne
Xavier Mercier, web designer et graphiste

Contactez-moi maintenant

Augmentons ensemble votre visibilité sur le web.

Share This