Dans ce guide, vous découvrirez plusieurs pistes pour optimiser les performances d’un site eCommerce qui fonctionne avec PrestaShop. Améliorer les performances d’une boutique en ligne est positif pour votre référencement naturel, votre taux de conversion, et l’image de votre marque.
1. Choix de l’hébergement
Si vous démarrez un nouveau site PrestaShop avec un catalogue vierge et peu de trafic, l’hébergement Web et l’hébergement Classic (Web + Mail) vous offriront d’excellentes performances. Pour des prix très compétitifs, vous bénéficierez déjà d’un espace de stockage SSD de 100 Go, de certificats SSL gratuits, et d’une configuration très généreuse en ressources (trafic illimité, 1.28 Go de RAM, accès SSH, 60 minutes de max execution time, et possibilité d’avoir une IP dédiée).
Lorsque votre catalogue grossira et que votre site drainera plusieurs milliers de visiteurs par jour, vous pourrez -si nécessaire- migrer votre site PrestaShop en quelques clics sur un Serveur Cloud managé. Vous bénéficierez ainsi de ressources dédiées et d’un moteur de cache personnalisé comme memcache sans pour autant devoir vous préoccuper de la gestion de votre serveur.
Découvrir nos hébergements Web optimisés pour PrestaShop.
2. Cache et compression
En premier lieu, vérifiez que la compression gzip est bien activée sur votre serveur. Cela permet au serveur de compresser les fichiers avant de les envoyer à vos visiteurs, ce qui aura pour effet de réduire le temps de chargement de vos pages Web.
Deuxièmement, activez le cache dans le back-office de PrestaShop depuis Paramètres avancés > Performances, et cochez la case « ne jamais compiler les fichiers templates » lors de la mise en production du site. En activant cette option, vous devrez néanmoins penser à vider le cache lorsque vous modifiez les fichiers du thème afin que les changements soient pris en compte. Si vous possédez un Serveur Cloud managé, contactez notre support afin d’activer memcache sur votre serveur. Vous pourrez ensuite activer le système de cache Memcached à la place de Système de fichier.
Troisièmement, compressez vos images avec un logiciel (ex.: FileOptimizer, ImageOptim) ou un service en ligne comme Imagify avant de les charger sur votre site PrestaShop.
La dernière étape consiste à activer PageSpeed Tools de Google sur votre hébergement. Cette option est disponible aussi bien sur un hébergement Web, Classic que sur un Serveur Cloud managé.
3. Content Delivery Network (CDN)
Si votre site PrestaShop est international, il peut être intéressant d’étudier la possibilité d’activer un CDN comme CloudFlare. Le rôle d’un CDN est de mettre en cache les pages de votre site sur un grand nombre de serveurs dans le monde, ce qui augmente considérablement la vitesse de chargement de votre site dans les pays qui ne se trouvent pas à proximité de la zone géographique où est hébergé votre site.
4. Taille de la base de données
À l’aide de phpMyAdmin, listez les tables de la base de données MySQL de votre site PrestaShop et vérifiez attentivement les tables entre 100 et 200 Mo afin de les nettoyer. Pensez également à supprimer les produits dont vous n’avez plus besoin ou que vous ne vendez plus.
Si vous rencontrez des problèmes de performance et que vos tables sont trop volumineuses, demandez à un développeur d’analyser la situation pour nettoyer ou purger la base, ou augmentez les performances de votre serveur.
5. Requêtes MySQL
Il s’agit ici d’une partie technique. Si vous manquez de compétences, vous devrez peut-être mandater un webmaster si vous êtes concerné par ce problème.
Une requête MySQL qui prend plusieurs secondes à s’exécuter et qui s’exécute plusieurs fois par seconde peut entièrement bloquer un site Web. Dans un tel cas de figure, augmenter les ressources du serveur ne fera qu’alourdir la facture de votre hébergement et repousser l’inévitable: identifier et optimiser la ou les requêtes problématiques.
Avec un Serveur Cloud, il est possible de vérifier la présence de requêtes MySQL problématiques en consultant les statistiques MySQL du serveur (en savoir plus). Dans ce cas, il faudra particulièrement vérifier la proportion entre le nombre de requêtes MySQL et le nombre de hits. Les outils de développement intégrés aux navigateurs Internet peuvent également vous aider à identifier les requêtes volumineuses.
Les informations de débogage de PrestaShop peuvent également vous aider à identifier les requêtes SQL qui sont lentes:
- Mettez votre site en mode maintenance (Préférences > Maintenance > Désactiver la boutique).
- Éditez le fichier /config/defines.inc.php et mettre la valeur _PS_DEBUG_PROFILING_ sur true au lieu de false.
- Rafraîchir votre boutique PrestaShop.
- En bas de la page, consulter les informations concernant les requêtes SQL sous Stopwatch SQL. Les requêtes SQL les plus longues apparaissent au sommet de la liste.
6. PHP, MySQL et PrestaShop
Les dernières versions de MySQL, PHP et de PrestaShop améliorent considérablement les performances et la fiabilité de PrestaShop. PHP 7 est ainsi jusqu’à 2x plus rapide que PHP 5.6 et de la même manière, MySQL 5.6 permet de réduire de manière significative la durée d’exécution des requêtes MySQL.
Nous vous recommandons ainsi de systématiquement utiliser les dernières versions de PHP et de MySQL qui sont compatibles avec la dernière version de PrestaShop.
- Changer la version de PHP utilisée
- Migrer un hébergement sur MySQL 5.6
- Télécharger la dernière version de PrestaShop
7. Autres conseils pour optimiser PrestaShop
- Utilisez une requête unique pour charger les différentes WebFonts Google que vous utilisez.
- Dans l’onglet Performances de votre boutique PrestaShop, désactivez les fonctionnalités dont vous n’avez pas besoin (ex.: groupes de clients, caractéristiques, déclinaisons, etc.).
- Dans le menu Modules et services, désactivez les modules qui ne sont pas utilisés, comme les statistiques (il s’agit du module récupération des données statistiques).
- Si votre site est uniquement disponible en français, désactivez les autres langues.
- Corrigez les erreurs 404 de votre site à l’aide de ce site.
- Évitez les redirections inutiles.
- N’oubliez enfin pas de chiffrer le trafic de votre boutique avec un certificats SSL gratuit.