Performances et surveillance

Optimiser des sites et des applications : accélérer le chargement et trouver la cause de la lenteur

Vérifié le 7 min de lecture optimisation performances

Ces recommandations valent pour n'importe quelle application : WordPress, PrestaShop, Magento, Joomla et similaires. Ce n'est pas un guide spécifique à chacune, mais une liste des points qui influent le plus sur la vitesse et des problèmes qui la dégradent le plus souvent.

Configuration de production

Les applications s'installent avec une configuration pensée pour le développement, pas pour un site ouvert au public. Par exemple, PrestaShop est configuré pour recompiler les templates à chaque visite : vous voyez ainsi immédiatement les changements de design, mais sur une boutique terminée cela ralentit chaque page et fait exploser l'utilisation du CPU. C'est pour ce genre de raisons que PrestaShop ou Magento semblent lents « d'origine ».

Vérifiez les options de performance de votre application à la fin du développement :

  • PrestaShop : dans Paramètres avancés > Performances, mettez Compilation des templates sur Ne jamais recompiler les fichiers templates et activez le cache. Vous avez la marche à suivre dans conseils pour accélérer PrestaShop.
  • Magento : passez la boutique en mode production avec bin/magento deploy:mode:set production. Le mode développeur est beaucoup plus lent.
  • WordPress : vérifiez que WP_DEBUG est à false dans wp-config.php.
  • Joomla : dans Système > Configuration globale > Système, désactivez Déboguer le système.

N'oubliez pas qu'après avoir désactivé la recompilation, quand vous modifierez le thème, vous devrez vider le cache de l'application pour voir les changements.

Cache

Chaque visite exécute du code PHP et des requêtes à la base de données pour construire la page. Un système de cache enregistre le résultat de ce qui ne change pas et le réutilise lors des visites suivantes, au lieu de répéter tout le processus. Le site est plus rapide et consomme moins de ressources : une petite offre supporte donc plus de trafic simultané.

Nos serveurs utilisent LiteSpeed, qui dispose de ses propres plugins de cache pour en tirer le meilleur parti. Utilisez-les si votre application est compatible :

N'utilisez qu'un seul plugin de cache de page. Après l'avoir activé, vérifiez la connexion des utilisateurs, les formulaires et le processus d'achat.

PHP et OPcache

Chaque version de PHP est plus rapide que la précédente. Utilisez la plus récente que votre application accepte. Depuis le sélecteur PHP de cPanel, vous changez de version instantanément et, si quelque chose ne va pas, vous revenez à la précédente tout aussi vite.

Dans ce même sélecteur, activez l'extension opcache : elle garde en mémoire le code PHP déjà compilé et, dans bien des cas, multiplie les performances sans rien toucher d'autre.

Images, CSS et JavaScript

  • Images : redimensionnez-les à la taille à laquelle elles s'affichent. Si vous en avez besoin en 200×200 pixels, n'envoyez pas une image de 2000×2000 pour la réduire en HTML : le visiteur téléchargera quand même la grande. Compressez-les aussi ; vous pouvez le faire en une fois avec l'optimiseur d'images de l'espace client.
  • CSS et JavaScript : minifiez-les et, si le site le supporte, combinez-les. Presque tous les plugins de cache, y compris ceux de LiteSpeed, le font avec un interrupteur. Après l'avoir activé, vérifiez les menus, les formulaires et le panier.

Ressources externes

Faire un lien vers des images ou des scripts hébergés sur d'autres sites est pratique, mais si ce serveur devient lent ou cesse de répondre, votre site attend jusqu'à l'expiration du délai. Le visiteur voit un site lent même si le problème ne vient pas de vous.

  • Envoyez les images sur votre propre hébergement au lieu de les lier depuis un autre site.
  • Si vous utilisez des bibliothèques externes (jQuery, Bootstrap, icônes), chargez-les depuis des CDN fiables comme jsDelivr ou cdnjs, ou hébergez-les sur votre serveur.
  • Retirez les scripts tiers (chats, pixels, widgets) que vous n'utilisez plus.

Examiner les requêtes dans le navigateur

La console du navigateur (onglet Réseau ou Network) vous montre toutes les requêtes que fait une page : combien de temps prend chacune, combien elle pèse, lesquelles sont en erreur et s'il y a des fichiers dont vous ignoriez le chargement. Triez-les par durée pour voir ce qui retarde le chargement.

Si c'est le document HTML lui-même (la première requête) qui tarde, le problème est sur le serveur : l'application met du temps à générer la page. Pour voir quel plugin, quelle requête ou quel appel externe consomme le temps, utilisez PHP X-Ray.

Plugins, modules et thèmes

WordPress, PrestaShop ou Magento grossissent à coups de plugins, de modules et de thèmes. Chacun ajoute du poids : nous avons vu des WordPress avec plus de 100 plugins, dont la plupart n'avaient aucune utilité réelle.

  • N'installez que ceux dont vous avez vraiment besoin, et supprimez ceux que vous n'utilisez plus.
  • Avant d'en installer un, regardez ses notes et ses avis.
  • Vérifiez que son développeur le maintient et publie de nouvelles versions : un plugin abandonné est en plus un risque de sécurité.
  • Après avoir installé un nouveau plugin ou thème, vérifiez que le site n'est pas devenu plus lent.

Erreurs internes

Les applications masquent les erreurs PHP pour ne pas montrer d'informations sensibles aux visiteurs. Mais une erreur ou un avertissement qui se répète à chaque visite ralentit aussi. Activez temporairement la journalisation des erreurs comme nous l'expliquons dans déboguer les erreurs dans les applications PHP, regardez ce qui apparaît et désactivez-la quand vous avez terminé.

Pour WordPress et WooCommerce, vous trouverez toutes ces étapes en détail dans le guide pour accélérer WordPress pas à pas.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.