Comment améliorer la vitesse de mon site Joomla ?

Dans mon billet "Comment mieux référencer mon site Joomla ?", nous avons vu ensemble ce qu'il convenait de faire pour améliorer la visibilité de votre site web. Vous le savez probablement, un des facteurs important du référencement est la vitesse d'affichage (ou de chargement) d'un site web dans le navigateur de l'utilisateur. Pour faire simple : plus votre site s'affichera rapidement, mieux il sera noté. Il est donc essentiel de porter votre attention sur un certain nombre de points afin de ne pas alourdir inutilement votre site et, par conséquent, vous pénaliser. Dernier point avant de commencer, Joomla! se référence très bien. La légende urbaine qui veut que ce CMS soit impossible ou difficile à ranker est simplement de la bêtise ou de la jalousie (voire les deux pour les cas les plus désespérés).

Comment améliorer la vitesse de mon site Joomla! ?

Nous allons donc aborder cette partie sous la forme d'un "pas-à-pas". Ce processus s'applique essentiellement à Joomla! mais pourrait être décliné pour d'autres CMS.

La première chose à faire est de commencer par mesurer la vitesse actuelle de votre site sur GTMetrix. Notez précieusement les résultats obtenus qui nous serviront de point de référence pour évaluer l'effet des actions à mener.

  1. Sauvegarde

    Certains actions qui vont suivre pourraient potentiellement endommager votre site. Autant être prévoyant en réalisant une sauvegarde complète avec Akeeba Backup. Une fois celle-ci réalisée, testez-la. Je rappelle qu'une sauvegarde non fonctionnelle n'est pas une sauvegarde : c'est juste un fichier volumineux inutile.
  2. Objectif

    A partir du résultat obtenu sur GTMetrix, déterminez quel(s) objectif(s) vous souhaitez atteindre : temps de chargement, score supérieur à 90% sur Google PageSpeed, etc.
  3. Cache natif

    Activez le cache de Joomla!. Plutôt que de générer les mêmes requêtes à plusieurs reprises sur la base de données, l'activation du cache va stocker une copie de votre page et l'utiliser à partir d'un fichier temporaire. Cela permettra d'alléger la charge du serveur et améliorera son temps de charge. L'activation se fait depuis la configuration globale du panneau d'administration. Pour obtenir des explications plus détaillées sur ce sujet, je vous invite à lire l'article " Le cache Joomla! ".
  4. Plugin Cache

    Ce plugin peut mettre en cache toutes les pages du site. Son activation se fait depuis le gestionnaire des plugin dans le panneau d'administration. Avant d'effectuer la moindre action ici et pour bien comprendre la portée de vos actions, je vous invite fortement à lire l'article " Le cache Joomla! " qui contient un passage détaillé à l'utilisation de ce plugin.
  5. Cache navigateur

    Mettre en cache le navigateur au niveau du serveur peut également avoir un impact bénéfique. Pour cela, nous allons demander au navigateur de mettre en cache certains fichiers pour une période donnée (par exemple, un mois comme proposé par Google PageSpeed). Nous allons donc éditer le fichier .htaccess situé à la racine de votre site en indiquant la valeur exprimée ici en secondes :
    <FilesMatch “\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$”>
    Header set Cache-Control “max-age=2592000, public”
    </FilesMatch>
    
    Pensez à enregistrer votre saisie et renvoyez le fichier sur le serveur.
  6. Compression GZIP

    Cette étape consiste à faire en sorte que le contenu généré soit comprimé avant d'être envoyé. Pour activer cette option dans Joomla!3, ouvrez l'onglet "Serveur" dans la configuration globale du panneau d'administration. Attention, il faut que votre serveur accepte la compression GZIP pour que cela soit fonctionnel.
  7. JCH Optimize

    JCH_Optimize est un plugin qui peut offrir un véritable coup de fouet au score PageSpeed de votre site Web. Ici, vous allez pouvoir minifier vos fichiers CSS, JS et HTML. Attention cependant, quelques fonctions de votre site peuvent être affectées en activant certaines options. Vous devez donc travailler avec soin tout en vérifiant la bonne marche de votre site.
  8. Site allégé

    Alléger son site est de loin la meilleure chose à faire mais aussi une des plus difficile car aucune extension tierce et aucune fonction native pourront le faire à votre place. Supprimez tout ce qui est inutile : les menus, les templates, les modules et plugins dont vous n'avez pas/plus besoin. Pensez également à vider toutes les corbeilles. Votre site doit subir une vraie cure d'amaigrissement.
  9. Les images

    La taille de vos images joue un rôle très important dans la vitesse d'affichage de votre site. Réduisez la taille de vos images, autant que faire ce peut. Pour leur poids, privilégiez le format JPG. Si certaines de vos images proviennent d'une source externe et que vous tenez néanmoins à les afficher, hébergez une copie sur votre serveur et ajoutez un lien vers le site d'origine.
    GTMetrix dispose d'une caractéristique intéressante qui vous permet d'optimiser la taille de vos images.
  10. CDN

    Les CDN sont des serveurs un peu particuliers qui peuvent stocker une copie des parties statiques de votre site. Cela permet d'accélérer l'affichage du site. Si votre budget est limité, je vous conseille de vous tourner vers des solutions comme Cloudflare, par exemple.
  11. YSlow et PageSpeed

    Essayez de suivre avec attention les recommandations qui vous sont fournies sur YSlow et sur Google PageSpeed. Ces deux outils mettent en avant un grand nombre de recommandations qui vous seront très utiles pour améliorer la performance de votre site.
  12. Hébergeur

    Si malgré vos efforts et ces conseils, votre site restait toujours lent et que votre score GTMetrix n'avait pas véritablement bougé, il faudra alors sans doute envisager de changer d'hébergeur. Un bon hébergeur connait parfaitement Joomla!, doit être en mesure de vous assister et de vous accompagner si besoin. Pour ma part, j'ai opté pour Mega Hosting qui m'apporte une qualité de service absolument parfaite.

Conclusion

Rappelez-vous que ce n'est pas du jour au lendemain que vous améliorerez les performances de votre site Joomla! si vous aviez pris de mauvaises habitudes (personne n'est parfait, moi le premier). Mon conseil est de garder ces points de contrôle et ces conseils à portée de souris et d'y revenir régulièrement afin de valider vos efforts d'optimisation. Vous devez avoir en permanence ces conseils en tête à chaque fois que vous faites la moindre action sur votre site : ajoute/suppression de contenu, ajout/suppression d'une extension, d'un lien de menu, etc.

Quelles solutions avez-vous appliqué pour votre site et quels résultats avez-vous obtenu ? Je vous propose de continuer la discussion dans les commentaires. A tout de suite.


A PROPOS DE L'AUTEUR :
Webmaster freelance passionné par Joomla depuis 2007, Daniel défend la veuve et l'orphelin du web en créant des sites respectueux du W3C. Fort d'une expérience de plusieurs années, il partage ses connaissances dans un état d'esprit open source.
Daniel est également très impliqué dans la communauté Joomla depuis 2014 en étant membre actif de plusieurs projets, conférencier et fondateur du JUG Breizh.