Comme l’a annoncé récemment Matt Cutts dans une interview sur Web Pro News, Google va bientôt prendre en considération le temps de chargement pour indexer les pages et classer ses résultats. Il devient donc de plus en plus important de chercher à optimiser ces temps, et accessoirement améliorer la navigation de vos visiteurs.  Mais qu’est-ce que cela signifie pour les utilisateurs de Joomla ?

Voici quelques conseils d’optimisations :

Optimiser le template et les CSS

  • Supprimer les espaces et les sauts de ligne inutiles dans le fichier « index.php » du template.
  • Minimiser le nombre de fichiers appelés en regroupant les styles, afin de réduire le nombre de requêtes HTTP,
  • Supprimer les styles et les propriétés inutilisés, pour réduire la taille des fichiers appelés,
  • Regrouper les propriétés communes à plusieurs styles : plutôt que de créer un style pour chacun des boutons de vos formulaires par exemple, et de répéter à chaque fois les mêmes propriétés, il est préférable de  définir un premier style regroupant les propriétés communes, puis de créer des styles complémentaires pour les propriétés spécifiques. Par exemple :
input.button {

position:relative;
text-align:center;
background:url(« ../images/button.png ») no-repeat scroll 0 0 transparent;
display:block;
height:24px;
padding:0 1em;
}
input.validate {
background:url(« ../images/validate.png ») no-repeat scroll 0 0 transparent;
}
input.cancel {
background:url(« ../images/cancel.png ») no-repeat scroll 0 0 transparent;
}

On appelle ensuite 2 classes pour chaque balise dans le code HTML :
<input class="button validate" type="button" ... />
<input class="button cancel" type="button" ... />

  • Utiliser des outils d’optimisation et de compression (comme Online CSS Optimiser par exemple)  afin de réduire la taille des fichiers appelés,
  • Optimiser les images du template : la plupart, si ce n’est toutes, doivent peser moins de 10 Ko. Pour cela :
    • Supprimer les espaces blancs à l’aide d’un logiciel de retouche d’images,
    • Utiliser des fichiers PNG8 ou GIF plutôt que des JPEG,
    • Limiter au maximum l’utilisation de la transparence,

Optimiser les contenus et les scripts

  • Minimiser l’utilisation du Javascript et externaliser le code. N’appeler le  fichier que quand vous êtes certain qu’il sera utilisé.
  • Regrouper les portions de code Javascript dans un fichier unique, afin de réduire au maximum le nombre de requêtes HTTP.
  • Compresser les scripts (il existe de nombreux outils en ligne pour cela), afin de réduire la taille des fichiers appelés,
  • Redimensionner les images avant de les transférer sur le serveur, avec un logiciel de retouche comme Photoshop par exemple, plutôt qu’à l’aide de l’éditeur WYSIWYG de Joomla.
  • Éviter tant que possible d’utiliser des images externes, des iframes ou tout ce qui fait appel à un serveur externe durant le chargement de la page.

Optimiser la configuration de Joomla

  • Activer le cache de Joomla depuis le panneau de configuration de l’interface d’administration du site. Ainsi, lorsqu’une page est appelée de nouveau, elle sera chargée directement depuis le répertoire « cache », et n’aura pas besoin d’être recréée, ce qui améliore considérablement le temps de chargement.

Activer le cache Joomla

  • Activer la mise en cache des modules : en activant le cache de Joomla, vous avez également activé la mise en cache des modules. Vous pouvez donc vous rendre dans le panneau de « Gestion des modules », et vérifier que les modules publiés disposent bien d’un paramètre « Mise en cache », et que ce paramètre est bien activé (notamment pour les menus).
  • Activer la compression Gzip depuis le panneau de configuration de Joomla. Gérée par le serveur, la compression Gzip permet d’économiser de la bande passante et donc du temps de chargement.
  • Désactiver les statistiques de Joomla : ces statistiques sont plutôt basiques, mais elles peuvent tout de même ralentir le chargement des pages, notamment la première page chargée par un visiteur. Il est préférable d’utiliser une solution de collecte de statistiques externe, comme Google Analytics par exemple, dans laquelle vous retrouverez les mêmes informations et beaucoup d’autres.

Bien choisir son hébergement

  • Dédié ou mutualisé ? Un serveur dédié offrira nécessairement de meilleures performances, mais n’est pas forcément indispensable, un mutualisé peut également parfaitement répondre à vos besoins. Étudiez donc bien ces besoins (trafic prévisionnel, espace disque, taille de la base de données, nombre de connexion simultanées, …) avant de commander un hébergement, et n’hésitez pas à demander conseil à un prestataire.
  • Héberger le site dans le pays dans lequel se trouvent les visiteurs : moins les données devront traverser de datacenters, meilleur sera le temps de réponse.

Optimiser la base de données

  • Utiliser la commande « Optimiser la table » de votre client de base de données (phpMyAdmin par exemple), pour récupérer l’espace utilisé inutilement et défragmenter le fichier de données. Cette opération est utile principalement sur les tables qui contiennent des colonnes à taille dynamique (VARCHAR, BLOB ou TEXT), et dont le contenu est régulièrement modifié.
  • Désinstaller les composants, modules et plugins inutilisés, afin de supprimer les tables et toutes les données qui occupent de la place inutilement sur le serveur.
  • Activer le cache de la base de données, afin d’améliorer le temps de réponse de vos requêtes SQL.
  • Indexer toutes les tables : celles du core de Joomla le sont toutes par défaut, mais peut-être pas celles des extensions tierces que vous avez installées ? Vérifiez bien ces tables, ainsi que celles des extensions que vous aurez développées, vos constaterez une nette amélioration du temps de réponses de vos requêtes SQL.

Optimiser son serveur FTP

  • Désinstaller les extensions inutilisées : elles occupent de la place inutilement sur le serveur, et peuvent également présenter des failles de sécurité. En les désinstallant, vous diminuez donc le nombre de failles potentielles, et la maintenance de votre site n’en sera que plus simple.
  • Ne pas laisser de fichiers inutilisés sur votre serveur FTP (sauvegardes, archives, images, …), quelle que soit la taille de ces fichiers.

Source : cet article se base sur 101 Ways to speed up your Joomla site, publié sur Alledia.

8 commentaires pour le moment

  • 1 roukain | 7 avril 2010 à 10 h 10 min

    Merci pour ce dossier sur les optimisations, c’est tellement rare de trouver des infos en Francais et pertinente.

  • 2 Cyril | 11 avril 2010 à 14 h 23 min

    Comment désactiver les statistiques de Joomla (v1.5)? J’ai eu beau regarder dans « Configuration générale », il n’y a rien.
    Quelqu’un pourrait m’aider. Merci par avance.

  • 3 Raphaël | 11 avril 2010 à 23 h 12 min

    Bonjour Cyril,
    Il suffit en fait simplement de désactiver le module « Statistiques », via le gestionnaire des modules de Joomla.
    Bien cordialement,

  • 4 Cathy | 27 avril 2010 à 17 h 41 min

    Bonjour
    Excellent beaucoup d’informations intéressantes.
    Lorsque l’on dit désinstaller les composants, modules… c’est en dur ? Ou il suffit de les dépublier/désactiver depuis l’admin ?

  • 5 Raphaël | 28 avril 2010 à 13 h 29 min

    Bonjour Cathy,
    Si certaines de vos extensions ne sont plus utilisées, le mieux est de les désinstaller complétement. Vous libérerez ainsi de l’espace sur votre serveur et faciliterez la maintenance du site.
    Bien cordialement,

  • 6 Julien | 5 mai 2010 à 18 h 33 min

    Superbes conseils, j’en rafolle car cela me permet de ne rien oublier et surtout d’optimiser tous mes projets webs.
    Merci Joomla, merci Kalenga !

    Julien.

  • 7 Josh | 21 mai 2010 à 11 h 43 min

    Plus de mises à jour du blog ? … :(

  • 8 Raphaël | 31 mai 2010 à 23 h 15 min

    Merci de t’inquiéter Josh! ;) Nous avons malheureusement dû délaisser le site quelques temps, mais il n’est pas mort pour autant! Plusieurs articles sont d’ailleurs en préparation… A très vite donc!

Laisser un commentaire