Performances et surveillance
Optimiser des sites et des applications : accélérer le chargement et trouver la cause de la lenteur
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_DEBUGest àfalsedanswp-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
- Accélérer et optimiser WordPress et WooCommerce étape par étape Guide complet pour accélérer WordPress et WooCommerce : PHP et OPcache, cron, LiteSpeed Cache config...
- Améliorer les performances de la base de données de WordPress avec Index WP MySQL For Speed Évaluez les index de WordPress avec Index WP MySQL For Speed, vérifiez les modifications avant de le...
- Comment charger le script reCAPTCHA de Contact Form 7 uniquement là où il est nécessaire Évaluez le coût de reCAPTCHA dans Contact Form 7 et ne limitez son chargement qu'après avoir identif...
- Conseils pour accélérer PrestaShop et améliorer ses performances Les réglages de PrestaShop qui influent le plus sur sa vitesse : version de PHP et OPcache, configur...
Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.