Associer Joomla à LiteSpeed et Redis permet d’obtenir un site plus rapide, plus fluide, et capable de gérer un trafic important sans effort. Cette configuration repose sur des technologies modernes de cache et d’accélération, tout en restant compatible avec de nombreux hébergements.
Avant de choisir un hébergeur, il est préférable de vérifier que LiteSpeed (idéalement dans sa version Enterprise) et Redis sont proposés, tout en respectant les prérequis techniques officiels de Joomla.
LiteSpeed, un serveur web performant
LiteSpeed Web Server est compatible avec Apache (notamment les fichiers .htaccess
), mais offre de bien meilleures performances. Il propose notamment :
- Une gestion optimisée de PHP via LSAPI (plus rapide que FastCGI)
- Un système de cache de page natif (LSCache)
- Le support du protocole HTTP/3 (via QUIC)
- Des outils intégrés pour la gestion fine des ressources
Il existe deux éditions principales :
- OpenLiteSpeed : gratuite, mais ne prend pas en charge toutes les fonctions (comme ESI)
- LiteSpeed Enterprise : version commerciale avec toutes les fonctionnalités avancées
Le plugin LiteSpeed Cache pour Joomla
Le plugin officiel « LiteSpeed Cache for Joomla » permet d’exploiter les capacités du serveur LiteSpeed sans configuration complexe. Il propose :
- La mise en cache des pages HTML complètes
- La purge automatique lors des mises à jour de contenu
- Le rendu des modules en tant que ESI
Remplacer le cache fichier par Redis
Par défaut, Joomla utilise un cache basé sur des fichiers stockés dans le répertoire /cache
. Lorsque Redis est activé comme gestionnaire de cache, ces fichiers ne sont plus utilisés. Les données sont alors stockées en mémoire, ce qui améliore nettement les performances.
La configuration se fait dans la configuration générale de Joomla, onglet « Système » > « Paramètres du cache » :
- Mode de cache : Conservateur (recommandé)
- Gestionnaire de cache : Redis
Dans le fichier configuration.php
, cela correspond à :
public $caching = '2';
public $cache_handler = 'redis';
public $redis_server_host = '127.0.0.1';
public $redis_server_port = '6379';
public $redis_server_auth = '';
Conservateur ou progressif : lequel choisir ?
Le choix du mode de cache dans Joomla dépend de votre configuration serveur, notamment si vous utilisez LiteSpeed et/ou Redis. Voici les recommandations :
Contexte | Mode de cache Joomla recommandé | Justification |
---|---|---|
Redis activé | Conservateur | Respecte les modules "cachables" et évite les effets de bord sur les sites dynamiques. |
Site statique sans interaction | Progressif (à tester) | Permet de maximiser le cache côté Joomla. |
LiteSpeed seul (LSCache actif) | Conservateur | Évite les conflits avec le cache de page généré côté serveur. |
LiteSpeed + Redis | Conservateur | LiteSpeed gère le cache de page, Redis gère le cache d’objet. Ils sont complémentaires. |
À noter : Contrairement à ce que l’on pourrait croire, le cache progressif n’est pas personnalisé par visiteur. Il met en cache l’intégralité de la page, y compris les modules affichant du contenu dynamique (comme le nom de l’utilisateur connecté).
Brian Teeman, cofondateur de Joomla, l’explique ainsi :
« Le cache progressif peut être dangereux si votre page contient du contenu dynamique. Vous risquez d’afficher la session d’un utilisateur à tous les visiteurs. »
Source : conférence Joomladay UK 2017, session sur les performances Joomla.
Conclusion : Le mode conservateur reste le choix le plus sûr dès que votre site utilise des interactions ou des modules personnalisés. Le mode progressif convient aux sites très simples et purement informatifs.
Redis et les extensions tierces
Certaines extensions Joomla utilisent le cache d’objet de Joomla même si le cache est désactivé dans la configuration générale. Cela signifie que des requêtes complexes ou des objets PHP peuvent être mis en cache automatiquement dès que Redis est activé comme gestionnaire.
Redis agit ainsi comme un accélérateur silencieux, sans nécessiter de modification du code ou de configuration spécifique pour ces extensions.
Et ESI ?
Le système ESI (Edge Side Includes) permet de mettre en cache des blocs indépendants d’une page, comme un panier ou un module d'authentification utilisateur. Cela évite de recalculer toute la page pour une portion dynamique. Cependant, cette fonction nécessite LiteSpeed Enterprise. Si le serveur utilise OpenLiteSpeed, cette fonctionnalité ne sera pas disponible. Le plugin Joomla l’indique clairement par un message d’avertissement.
Même sans ESI, l’utilisation combinée de LiteSpeed et Redis permet déjà d’obtenir d’excellents résultats.
Résultats de tests réels
Des tests effectués avec WebPageTest sur un site Joomla avec le contenu d'exemple et configuré de trois manières différentes permettent de mesurer concrètement l’impact de LiteSpeed Entreprise et Redis :
Configuration | TTFB | Début affichage | First Contentful Paint | Speed Index | LCP | Poids page |
---|---|---|---|---|---|---|
Sans LiteSpeed, sans cache | 0,336s | 0,900s | 0,875s | 1,139s | 1,187s | 698 Ko |
Avec LiteSpeed (sans Redis) | 0,224s | 0,900s | 0,886s | 1,062s | 1,086s | 699 Ko |
Avec LiteSpeed et Redis (cache conservateur) | 0,224s | 0,600s | 0,666s | 1,370s | 1,631s | 699 Ko |
Ces résultats montrent que :
- Le passage à LiteSpeed réduit clairement le TTFB, qui passe de 336 ms à environ 224 ms.
- Redis n’influence pas le TTFB, mais permet un affichage plus rapide du contenu.
- On note une légère hausse du Speed Index et du LCP avec Redis, probablement liée au comportement du cache objet lors des premiers appels.
Redis améliore donc surtout la rapidité d’exécution interne de Joomla, tandis que LiteSpeed agit sur la performance globale du serveur.
Outils de test recommandés
Pour évaluer les performances de votre site Joomla avec ou sans LiteSpeed et Redis, voici quelques outils gratuits en ligne :
- WebPageTest – très complet, permet de mesurer le TTFB, le LCP, le Speed Index et bien plus
- Google PageSpeed Insights – outil officiel de Google, avec conseils d’optimisation
- Pingdom Tools – bon aperçu de la vitesse de chargement et des éléments bloquants
- GTmetrix – combine les données de PageSpeed et Lighthouse avec des graphiques
Pensez à tester plusieurs fois avec le cache activé ou vidé pour observer l’effet réel de Redis sur les performances dynamiques.
Conclusion
L’association LiteSpeed + Redis permet d’optimiser Joomla sans compromis, que ce soit en environnement mutualisé (dans une certaine mesure) ou sur serveur dédié. LiteSpeed réduit le temps de réponse serveur, Redis allège les calculs internes, et le plugin Joomla facilite grandement leur intégration.
Une alternative libre avec Nginx existe également et fera l’objet d’un autre article dédié à son optimisation avec Joomla.