Optimisation Joomla chez OVH

Décembre 2012

Depuis la nouvelle architecture des hébergement mutualisés OVH qui utilisent PHP-FPM, les choses se sont grandement amliorées. Cette article reste donc en ligne au cas où vous rencontrez toujours des problèmes de vitesse avec Joomla.

Il n'est pas toujours facile d'utiliser un CMS sur l'hébergement mutualisé de base. Ainsi, pour avoir réalisé l'opération de nombreuses fois, voici quelques conseils pour réaliser une bonne installation de joomla sur le mutu de base d'ovh.

Notez bien que **ce guide pour rendre Joomla plus rapide ne concerne pas nécessairement uniquement ovh**. La configuration de Joomla est ainsi valable pour toutes les installations de ce CMS.

De même, il s'agit d'optimiser les fonctions du CMS liées à la gestion des articles de Joomla. Si vous souhaitez optimiser d'autres composants ou modules ce guide ne résoudra pas tous vos problèmes.

Bien choisir sa version de joomla

Tout d'abord vous devez télécharger la dernière version stable de Joomla. Au moment où j'écris ces lignes il s'agit de la version 3.X qui est à privilégier.

En effet la branche 3 est beaucoup plus rapide que les anciennes versions.

Aussi, n'utilisez pas les versions mises à votre disposition par ovh ou votre hébergeur.

Non que celles-ci soient mauvaises, mais elles ne sont pas plus optimisées que la version de base. De plus, vous aurez (peut-être) des difficultés à réaliser les opérations que je vous conseille dans cet article.

Installer Joomla sur ovh

L'installation est assez classique et se résume en quelques étapes simples pour les informaticiens :

  • Créer la base de données mysql depuis le manager ovh
  • Uploader tous les fichiers de joomla
  • Installer
  • Supprimer le répertoire d'installation

Une fois que c'est fait, vous pourrez vous lancer dans la configuration, l'installation de templates et les optimisations. C'est sur ce dernier point que je reviendrai plus en détail dans cet article.

Modifier le fichier htaccess

Les dernières versions de Joomla fonctionnent mieux avec une version avancée de PHP. Il faut donc penser à activer au moins la version 5.3 de PHP pour les hébergements mutualisés d'ovh.

PHP s'améliore de version en version, si vous avez accès à PHP 5.6, n'hésitez pas à tester votre site avec. Cette version est beaucoup plus rapide !

Pour réaliser cette opération vous devez modifier le fichier .htaccess et mettre au début du script l'instruction suivante :

    SetEnv PHP_VER 5_3

Attention, si vous n'avez pas encore activer ce fichier, celui-ci permet aussi de faire de la réécriture d'url. Vérifiez bien que ce paramètre est actif dans le panneau de configuration de joomla (voir capture d'écran ci-dessous).

Puisqu'on parle du fichier .htacces, voici quelques éléments qui pourront accélérer le situe pour vos visiteurs récurrents :

    # 1 an de cache
    
    Header set Cache-Control "max-age=29030400, public"
    
    # 1 semaine de cache
    
    Header set Cache-Control "max-age=604800, public"
    
    # 3 heures de cache
    
    Header set Cache-Control "max-age=10800"
    
    # Pas de CACHE
    
    Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
    
    # compressing of files
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/xml
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript

Le but de ses lignes est d'activer le cache du navigateur pour les images, les fichiers CSS, les fichiers txt, etc.

Ainsi, les visiteurs récurrents de votre site n'auront pas a re-télécharger les fichiers CSS, javascript et les images déjà obtenus lors d'une visite précédente.

Sans être hyper efficace cette méthode permet d'améliorer sensiblement la vitesse de téléchargement des pages du site.

Activer le cache de joomla

On en vient maintenant à une partie un peu plus technique qui permet de vraiment accélérer le site : l'utilisation du cache de joomla.

Pour activer le cache il faut tout d'abord vous rendre dans la partie réservée aux plug-in dans l'administration et activer le plug-in.

Ensuite, il vous faudra activer le cache dans le panneau général de l'administration et y activer le cache.

Vous devrez régler le temps de conservation du cache en fonction de votre rythme de publication pour le site. N'hésitez pas à mettre une longue durée si vous publiez rarement.

En ce qui concerne la méthode de cache en elle-même, j'ai eu des bons résultats sur la méthode dite "conservative" sur un site avec près de 1000 pages et un trafic fiable (< 15000 pages vues par mois). Si celle-ci ne vous convient pas, passez à la méthode progressive de conservation du cache.

Si vous utilisez des module, vous pouvez aussi gérer leur cache de manière indépendante.

Il vous faudra vous assurer que le cache est bien actif pour tous les modules. De même, si certains modules sont mis a jour régulièrement vous aurez peut-être envie de désactiver le cache pour ceux-ci.

Maintenant que le cache est en place vous remarquez que le site ne se met plus complètement à jour lorsque vous modifiez un article ou en publiez un nouveau. (Note : c'est peut être corrigé dans les dernières versions de Joomla)

C'est tout à fait normal et même bon signe. Vous devrez donc vider le cache manuellement lorsque vous voudrez mettre a jour le site. Il s'agit de l'option « clear cache » dans le menu « maintenance ».

Si vous ne voulez pas supprimer tous les fichiers cache, vous pouvez sélectionner seulement les fichiers correspondants à "page" et "com_content".

Si vous utilisez des modules comme celui qui affichent les articles en relation, il peut être intéressant aussi de supprimer ces caches pour remettre un peu de neuf sur vos pages.

Autre chose : si après l'activation du cache, vous vous apercevez que les images ne s'affichent plus correctement c'est qu'il y a un problème dans l'ordre des plug-in.

Car dans Joomla l'ordre des éléments a son importance. Pour régler ce souci, il faudra **vérifier que le plug-in de cache est bien en dernière position dans la liste des plugins**. Apres cela tout devrait rentrer dans l'ordre.

À cette étape vous devriez avoir un site joomla qui tourne pas trop mal sur l'hébergement mutualisé d'ovh.

Généralement on attend facilement les 500 pages vues par jour avec cette configuration. On peut même aller beaucoup plus loin. Si votre site est peu mis a jour.

Si vous trouvez le site encore trop lent tout en conservant un hébergement mutualisé ovh et le CMS joomla vous devrez faire quelques sacrifices supplémentaires.

Les astuces de développeurs Joomla

L'idée est de créer un template joomla qui sera plus rapide à générer et une page plus facile à charger. Pour cette étape, qui dépend de votre site, vous devez avoir de solides compétences en HTML / CSS et PHP. Sans quoi le résultat ne sera pas à la hauteur.

Commencez par mettre un maximum d'éléments en dur dans le fichier index.php de votre template. Certes, ce n'est pas ce qu'on peut appeler du travail propre mais cela peut être efficace lorsqu'on cherche des performances.

Il vous faudra aussi considérablement alléger votre site en modules et en emplacement de modules. Moins vous aurez de modules sur votre site et plus il sera rapide.

En effet, chaque module fait généralement des appels à la base de données de votre site Joomla, ne serait-ce que pour vérifier les bonnes autorisations et les pages sur lesquels les modules doivent s'afficher.

Cependant, considérez que ceci reste des économies de bouts de chandelles. (surtout si le cache est bien activé pour tous vos modules !)

De même, si vos visiteurs n'en n'ont pas l'utilité, vous pouvez éviter de charger les librairies javascript utilisées par Joomla (mootools dans sa version 2.5).

Et, finalement, le « must du must » est de réécrire certains composants coûteux en temps machine de Joomla.

Mais sachez qu'en réalisant cette modification (comme celle qui consiste à supprimer les vérifications d'autorisation d'affichage des articles) vous pourrez avoir des problèmes lors de la mise à jour de votre site Joomla.

Il s'agit d'une mesure extrême à utiliser en cas de nécessité absolue !

Si vous êtes intéressés on pourra éventuellement voir cela dans un autre article sur le sujet.

Pour d'autres articles, cliquez ICI.