Comment améliorer la vitesse de Joomla ?

Comment améliorer la vitesse de Joomla ?

Améliorer la vitesse d'affichage d'un sité réalisé avec le CMS Joomla doit être une préoccupation constante si l'on tient à fidéliser les internautes et à satisfaire aux recommandations des moteurs de recherche. Cet article vous explique tout ce qu'il faut savoir à ce sujet.

Pourquoi améliorer la vitesse d'affichage d'un site Joomla ?

Cette question peut sembler saugrenue aujourd'hui mais pendant des années, le temps de chargement des pages n'était qu'un critère très accessoire lors de la conception d'un site Web. Mais ça, c'était avant.

Le 17 janvier 2018, Google a annoncé que la vitesse de chargement de site deviendrait un critère de d’indexation sur mobile à partir de Juin 2018.

Ce que nous appelons le "Speed Update" n’affectera que les pages qui offrent l’expérience la plus lente aux utilisateurs et n’affectera qu’un faible pourcentage des requêtes. "Speed Update" applique le même standard à toutes les pages, quelle que soit la technologie utilisée pour construire la page. La requête reste malgré tout le facteur le plus important, donc une page lente peut toujours être très bien classée si elle a un contenu intéressant.

Zhiheng Wang et Doantam Phan

Depuis les déploiements d'AMP (à partir de février 2016) et de Mobile First (depuis novembre 2016), on voit très clairement que Google cherche à prioriser l’indexation sur mobile et que son objectif est d’accélérer l’affichage des pages Web sur les téléphones portables.

Même si on n'est pas forcément d'accord avec tout ce que fait et dit Google, il faut bien admettre qu'il est pénible - pour ne pas dire plus - d'attendre plusieurs secondes devant une page Web qui est en train de se charger. On estime même qu'au delà de 5 secondes, la très grande majorité des internautes (et des mobinautes) aura très certainement déjà refermé l'onglet.

Par ailleurs, la notion d'éco-conception Web n'est plus de la science-fiction. L'industrie du Web n'est pas exempte de reproches en matière d'impact carbonné et elle commence à prendre la mesure de sa responsabilité. Aujourd'hui, il est de plus en plus urgent et important d'intégrer une vraie démarche respectueuse de l'environnement dès la phase de conception d'un site Web, mais également durant toute la phase de production de celui-ci.

Vous n'avez peut-être pas de souci de réception parce que vous êtes dans une zone disposant d'une bonne couverture mais d'autres n'ont pas nécessairement cette chance. Alors pour ne plus faire subir cette attente à vos visiteurs, je vous propose de voir ensemble comment mesurer la vitesse et le temps d'affichage de votre site Web puis de regarder quels sont les points à vérifier afin que votre site Joomla soit (encore) plus rapide.

Comment mesurer la vitesse d'affichage d'un site Joomla ?

Pour cela, il existe de (très) nombreux outils gratuits qui mesurent cette vitesse et il n'est pas possible de tous les lister ici. L'avantage est que ces outils vous donnent en plus, des conseils et des pistes pour corriger tout ce qui ralentit votre site. En testant votre site, vous aurez un premier repère et vous pourrez constater l'évolution positive de cette vitesse grâce à vos efforts. Cependant et afin d'être cohérent, je vous conseille d'utiliser le même outil tout au long de vos tests.

Pour commencer, il faut prendre une première mesure de la vitesse d'affichage de notre site. Ne vous inquiètez pas si ce premier score n'est pas parfait (peu de sites sont idéalement optimisés) car tout ce qui importe ici est tout le travail qui sera fait ensuite pour améliorer efficacement et durablement le temps de chargement. Parmi les outils les plus recommandés dans ce domaine, voici ceux que vous pouvez choisir :

Ce qu'il faut en retenir

Les résultats délivrés par ces outils sont tous fiables et si leurs résultats peuvent différer quelque peu des uns des autres, vous aurez sans doute les mêmes recommandations à suivre pour améliorer votre score. Notez ce score, appliquez les correctifs qui sont indiqués et re-testez votre site avec le même outil. Recommencez encore et encore.

N'oubliez pas que la vitesse d'affichage d'un site Web n'est qu'un critère parmi beaucoup d'autres pour qu'il soit référencé par les moteurs de recherche. Aussi, ne soyez pas plus royaliste que le roi. Un score parfait est effectivement possible mais cela ne vous assurera pas d'être affiché sur la première page de Google. Mon conseil est de vous approcher le plus possible des 90 et surtout, d'y rester.

Les critères des moteurs de recherche pour référencer un site Web évoluent, les technologies évoluent, les outils évoluent et le contenu de votre site Web évolue. Cela signifie que tout le travail d'amélioration et d'optimisation que vous avez fait ici sera à contrôler et sans doute à refaire dans quelques semaines / mois.

Test PageSpeed web-eau.net Test réalisé le 16 Janvier 2021 - Vue desktop

Comment améliorer la vitesse d'un site propulsé par Joomla ?

Nous allons voir maintenant quelles sont les bonnes pratiques à mettre en oeuvre pour que votre site Joomla garde la forme !

Pour être efficace sur la durée, cette série de recommandations doit devenir une sorte d'hygiène de vie. Aussi, je ne saurais trop vous conseiller de gardez en tête ces conseils et si votre mémoire est friable, d'ajouter cet article à vos favoris afin de pouvoir le consulter aussi souvent que nécessaire.

N'oubliez jamais qu'il est de votre responsabilité d'offrir la meilleure expérience utilisateur aux internautes et si vous ne le faites pas, ils iront probablement visiter d'autres sites Web.

Améliorez la vitesse de Joomla avec un hébergeur de qualité

C'est vraiment la première chose à regarder lorsque l'on chercher à optimiser la vitesse et la performance d'un site Web. Une constante souvent rencontrée avec les sites Joomla ayant un chargement lent est un hébergeur de piètre qualité.
Êtes-vous sur un serveur mutualisé? Dans ce cas, vous partagez le serveur avec des centaines d'autres sites Web.
Où est situé le serveur hébergeant votre site Joomla? Est-il situé aux Etats-Unis et tous vos visiteurs sont français ?
Est-ce qu'un des sites partageant votre serveur mutualisé consomme toute la bande passante ?
Est-ce qu'un hébergeur low-cost est une vraie économie si votre site met 10 secondes à s'afficher ?

Ce sont toutes ces questions que vous devez vous poser avant de choisir le partenaire à qui vous confierez votre site Web. N'attendez pas d'avoir un trafic important pour changer de serveur et d'hébergeur car vous ne pourrez jamais avoir une vitesse d'affichage satisfaisante avec un hébergement de faible qualité.

Améliorez la vitesse de Joomla en optimisant vos images

L'une des premières choses à faire est de vous assurer que vos images sont correctement optimisées pour le Web. Évitez d'utiliser des images trop volumineuses car elles auront un temps de chargement lent et long.

Le format de vos images est également un critère essentiel pour réduire très significativement le temps de chargement de vos pages. Aujourd'hui, il faut privilégier les fichiers vectoriels de type SVG et les images au format webP en utilisant une extension comme DJ-WebP.

Améliorez la vitesse de Joomla grâce à la compression Gzip

Dans la configuration globale de Joomla, vous trouverez un paramètre appelé Compression Gzip. Si celui-ci n'est pas activé, faites-le et enregistrez votre modification. Cela permettra à tous les css et tous les codes html d'être compressés sur le serveur et un paquet de données beaucoup plus petit sera envoyé à votre ordinateur, puis décompressé par le navigateur. Cela peut sembler beaucoup de travail, mais cela accélérera très nettement le chargement des pages.

A noter que certains hébergeurs activent ce paramètre par défaut sur leurs serveurs. Si l'activation de ce paramètre dans Joomla casse votre site, c'est qu'il y a de fortes chances que cette compression est déjà activée par votre hébergeur (eh non, il n’est pas possible d’effectuer plusieurs compressions avec gzip).

Pour vérifier si cette compression est activée sur votre serveur et/ou par Joomla, vous pouvez tester votre site sur giftofspeed.

Améliorez la vitesse de Joomla grâce au cache

La mise en cache peut être activée depuis la configuration globale de Joomla. Le cache prend les contenus (articles, images, modules, etc) fréquemment consultés et les stocke afin de pouvoir les ré-afficher plus rapidement. L'avantage est que vos pages se chargent ainsi plus vite. A contrario, votre contenu n'est peut-être pas toujours à jour. Pour la majorité des sites, ce n'est pas un problème, à moins que vous ne changiez le contenu de vos articles tous les 30 minutes (si c'était le cas, vous rencontrez surement d'autres problèmes en dehors du cadre de cet article.)

N'activez ce paramètre que lorsque votre site est terminé et prêt à être mis en production. Si vous l'activez durant la phase de construction de votre site, vous vous demanderez pourquoi vos modifications apportées aux pages ne prennent pas effet et cela vous rendra dingue !

Améliorez la vitesse de Joomla en évitant d'alourdir son site

Joomla vous permet d'installer une infinité d'extensions en quelques secondes. Le probleme est que certaines de ces extensions peuvent avoir été développés par des personnes qui ne partagent peut-être pas les mêmes pratiques qualitatives de codage que l'équipe de Joomla. Un composant peut utiliser jQuery 1.0 avec une taille de 19 ko, une galerie peut utiliser jQuery 1.5, mais non compressée donc elle fait 208 ko, votre forum peut utiliser la librairie MooTools (mais pas celle de Joomla) et c'est encore 180 ko qui s'ajoutent. Avant que vous ne vous en rendiez compte du problème, vous avez plusieurs types de frameworks différents qui sont chargés à chaque chargement de la page. C’est une énorme surcharge de ressource qui mettra probablement votre serveur à genoux et qui allongera les temps de chargement de vos pages.

L'hygiène est également importante en matière de site Web: avez-vous vidé toutes les corbeilles (articles, menus, catégories, modules, etc) de votre site Joomla ? Si vous n'utilisez plus certaines extensions, à quoi bon les conserver dans votre site Web ? Idem pour les éventuels utilisateurs enregistés. Bref, vous devez veiller très régulièrement à ce que votre site Web Joomla soit toujours propre. Outre les questions de performance, cela pourrait aussi vous éviter des soucis de sécurité.

Installer un très gros composant pour n'utiliser qu'une seule de ses fonctionnalités est une aberration totale qui alourdira inutilement votre site et pénalisera l'expérience utilisateur de vos visiteurs. Dans la grande majorité des cas, vous pouvez vous passer des page builders et des outils de construction tels que les CCK. En effet, la plupart du temps, vous pouvez obtenir le même résultat grâce aux fonctions natives de Joomla (champs personnalisés, overrides, etc.). En plus, vous n'aurez pas de maintenance supplémentaire à faire et sans doute pas de licence à payer non plus !

Détails fichiers CCK 3.3.9
Les fichiers de certains composants peuvent représenter jusqu'à 30% d'un site Joomla vierge !

Améliorez la vitesse de Joomla avec le fichier .htaccess

Le fichier .htaccess est un fichier qui est utilisé sur les serveurs Web Apache pour configurer le logiciel serveur. Ceci est fait pour que le serveur se comporte de manière particulière pour activer ou désactiver certaines fonctions. Il existe de nombreuses utilisations de ce fichier, telles que la redirection d'URL, la réécriture d'URL, la protection de parties sensibles d'un site Web ou même le blocage d'adresses IP spécifiques.

Je vous propose trois actions à mettre en place via ce fichier pour améliorer les performances de votre site.

  • Activer la mise en cache du navigateur

    Lorsqu'un navigateur affiche une page, il doit charger plusieurs éléments qui changent très rarement, comme certaines feuilles de style ou le logo, par exemple. En définissant des en-têtes d'expiration pour les fichiers sur votre site, vous indiquez effectivement au navigateur de les enregistrer localement sur l'ordinateur de l'utilisateur. Cela signifie que la prochaine fois que l'utilisateur visitera le site, moins de données devront être téléchargées.

    ## EXPIRES HEADER CACHING ##
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType image/svg "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType application/x-javascript "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"
    </IfModule>
    ## EXPIRES HEADER CACHING ##
  • Activer Keep Alive

    L'activation de Keep Alive est essentiellement un moyen pour le serveur Web d'indiquer au navigateur qu'il n'a pas besoin de faire une demande distincte pour chaque fichier qu'il récupère sur un site. Cela réduit la brève latence suite à une demande de ressource et à son téléchargement sur le navigateur. Vérifiez ici auprès de l'hébergeur avant d'ajouter le code ci-dessous, car dans de nombreux cas, cela aurait pu être ajouté par défaut sur le serveur.

    <IfModule mod_headers.c>
        Header set Connection keep-alive
    </IfModule>
  • Refuser l'accès aux Spam Bots

    Parfois, la vitesse de chargement d'une page peut être réduite par la bande passante dont vous disposez sur votre plan d'hébergement. Cela peut être encore plus réduit si votre site est hébergé sur un serveur mutualisé. La dernière chose dont vous avez besoin est que les robots spammeurs prennent encore plus de bande passante lorsqu'ils explorent votre site, quelle que soit la raison pour laquelle ils ont été créés (généralement pour gâcher vos données d'analyse)! Il y a deux façons de les empêcher de faire ça; l'un consiste à les bloquer et l'autre à les rediriger, bien que cela puisse en soi ralentir le chargement du site.

    <IfModule mod_setenvif.c>
        # Set spammers referrals as spambot
    	SetEnvifNoCase Referer spambot1.com spambot=yes
    	SetEnvifNoCase Referer spambot2.com spambot=yes
    	SetEnvifNoCase Referer spambot3.com spambot=yes
    	## Ajoutez autant de lignes pour chaque spambot
    	Order allow,deny
    	Allow from all
    	Deny from env=spambot
    </IfModule>

Conclusion

En suivant ces quelques conseils de bon sens, Google pourrait potentiellement améliorer le classement de votre site, vos visiteurs auront une bien meilleure expérience utilisateur et votre site Joomla aura un impact moindre sur l'environnement. Trois raisons plus que suffisantes pour les mettre en application dès maintenant.

Et vous, quelles pratiques avez-vous mis en place pour améliorer la vitesse de votre site Joomla ? N'hésitez pas à partager votre expérience dans les commentaires, j'ai hâte de vous lire.

Daniel Dubois

Daniel Dubois

Passionné par le Web 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.
Très impliqué dans la communauté Joomla depuis 2014, il est actif au sein de plusieurs projets, conférencier et fondateur du JUG Breizh.