Accueil > Base de connaissances > E. Optimisation et SEO > Comment optimiser Prestashop ?

Comment optimiser Prestashop ?


Pour avoir un site qui s'affiche rapidement, il faut réunir 3 conditions :
- un serveur dont les composants sont à la pointe de la technologie (traité dans cet article)
- une combinaison particulière de logiciels serveurs (notre savoir-faire)
- un site web optimisé un minimum, Prestashop est très rapide sur nos serveurs sous forme native, veillez à ce que les thèmes et modules personnalisés ne dégradent pas la performance...

Nous confirmons que nos serveurs sont très bien optimisés pour Wordpress Prestashop :
https://www.yoorshop.fr/fr/38/Hebergement-Prestashop-optimisé-France-Europe.html

Pour Prestashop, les meilleures performances sont obtenues avec PHP 7, 7.1
- Opcache est activé par défaut au niveau serveur avec les versions PHP compatible
Vérifiez bien la compatibilité de votre thème et vos modules/plugins...
CMS Prestashop

Section Performances de l'admin Prestashop :
Type cache en haut : 'Système de fichiers' est très performant dans les dernières versions Prestashop, ou 'MySQL' (le gain dépendra de votre site, vous devrez tester)
Laissez activer si possible : désactiver toutes les sur-charges
CCC :Il est normalement recommandé de tout laisser activé, et désactivez ceux qui posent problème comme /ex : 'réduction code html', et 'move javascript to the end'.
Désactivez au préalable dans l'admin Prestashop côté 'Performances', tout en bas de la page, tous les cache actifs (aucun de ces caches n'est performant)

Une fois votre développement fini, n'oubliez surtout pas de désactiver : 'Forcer la compilation à chaque appel' 

A connaître, tester :
https://dh42.com/free-Prestashop-modules/Prestashop-Opcache-manger-module/
Permet seulement de visualiser l'effet Opcache
https://jpresta.com/fr/home/1-page-cache.html 
Permet d'optimiser sur mesure....
Exemple de site web utilisant les 2 chez YOORshop :
https://www.ecravate.com
(c'est le site Prestashop le plus rapide que nous avons vu avec un thème personnalisé)

Comment simuler correctement la réalité de l'expérience d'un visiteur sur votre site ?

Nous recommandons par ordre de pertinence ces sites de test en ligne :
http://www.webpagetest.org
http://tools.pingdom.com/fpt

NB :

- Les plus importants critères sont le 'First byte time', le speed index et surtout le 'Start Render', donnés sur le site webpagetest.org
- Pagespeed insights est le plus mauvais outil de score en ligne, car incomplet et érronné

- Les sites de tests ne voient pas notre compression Brotli/Gzip

Savez-vous que tester en ligne un site web basé seulement sur la page d'accueil est loin d'être une évaluation complète ? voici pourquoi...

Un visiteur n'est en général pas découragé parce que votre site charge entre 3-5 secondes au premier chargement, (si c'est 10 secondes c'est trop effectivement), votre visiteur va bénéficier d'une vitesse plus rapide pour les pages suivantes visitées depuis nos serveurs, grâce aux réglages activés par défaut pour mettre en cache au niveau du navigateur du visiteur, c'est à dire que seulement les nouveaux éléments des pages visitées au cours de la visite seront envoyés depuis le serveur, le reste vient de son cache navigateur (imbattable en terme de vitesse)...
Le test seul de la page d'accueil permet de comparer la vitesse entre 2 services d'hébergement web, et aussi de constater le degré d'optimisation de la page d'accueil ou celle testée... (Nous avons vu de nombreux sites avec aucun problème en page d'accueil, alors que de gros problèmes apparaissaient en pages catégories et produits, liés à des modules non optimisé ou mal conçus...)

Ainsi, si vous utilisez un site de test en ligne, vous devez faire 3 tests pour constater soit la vitesse de 2 serveurs ou l'optimisation dune page de votre site web : page d'accueil, 1 page catégorie, 1 page produit.
Notez que :
- les sites de tests en ligne nettoient leur cache à chaque demande en général, cela ne représentera donc toujours pas la réalité exacte de l'expérience d'un utilisateur
- plus de 50% des visiteurs arrivent sur votre site sur une page qui n'est pas votre page d'accueil...

Pour simuler la réalité de l'expérience d'un utilisateur, vous devrez le faire depuis votre PC en installant le plugin Chrome nommé Apptelemetry (vous allez avoir un compteur affiché à droite de la barre de votre URL) : 
https://chrome.google.com/webstore/search/apptelemetry
Nettoyez votre cache, et visitez votre site en allant sur chaque type de page, et constatez les temps de chargement à partir de la seconde page visitée...
Utilisez "Inspect elements" avec le bouton droit de votre souris dans chrome ou "Examinez l'élément" dans firefox, voyez l'onglet "Performances", activez l'enregistrement. Maintenant naviguez sur votre site web pour obtenir le waterfall, et éventuellement identifier des éléments qui poseraient problème...


Pour un test avancé et simulé avec des visiteurs en réel, nous recommandons cet unique service :
https://www.userlynx.com/

1. Prestashop est livré avec une bonne quantité de modules activés, et dont vous n'utiliserez que 40% en moyenne...

Il faudra donc désactiver un par un ceux que vous n'utiliserez pas, une fois que vous avez installé votre thème seulement (car cela rajoute des modules).
Cliquez sur Oui pour : 'Désactiver toutes les surcharges', dans la section Performances (Ceci peut ne pas convenir à tous les sites en raison de modules/thèmes spécifiques)


La clé pour réussir ce début d'optimisation est non seulement de désactiver/désinstaller les modules, mais surtout d'enlever le hook de ces modules dans hook_header, en plus de celui ou ils sont censés s'afficher...
Le poids d'une page, exceptée la page d'accueil, ne doit pas dépasser 3MB...

Un exemple d'un test avec webpagetest.org sur un site assez bien optimisé :

Optimisation Prestashop

Voici le score de notre site web dont l'optimisation est maximisée en fonction de nos contraintes techniques et choix de contenus :
https://www.yoorshop.fr/images/webpagetest-yoorshop.JPG

Le 'First byte time' n'a pas seulement une relation avec la réponse serveur, il est aussi impacté dans ce cas par la lourdeur du CMS Prestashop, du thème avec ces éléments lourds en page d'accueil en partie, et bien sûr le plus pesant les modules...
Le 'Start render' et le 'Speed index' sont très importants (à partir de quand sont affichés des éléments).
Ref : https://blog.dareboost.com/fr/2015/07/start-render-visually-complete-speedindex/

Il est absolument normal de voir un score N/A ou D pour la compression images, cela dépend de vos images, et la compression doit être faite par vous en amont, et non le serveur qui ne peut les compresser de manière significative...


D'autre part, ces sites de tests ne détectent pas toujours correctement la compression utilisée, alors que les plus performants sont gzip et Brotli que nous utilisons par défaut pour tous nos clients, gzip pour le http, et brotli pour le https
Gzip pour le http
http://checkgzipcompression.com 
Brotli pour le https :
https://tools.keycdn.com/brotli-test 

Etudiez aussi les résultats du 'waterfall', mais aussi activez dans Prestashop le 'debug profiling' pour plus de détails !

2. Les modules statistiques internes ralentissent beaucoup Prestashop, mieux vaux utiliser simplement le module google analytics, ou statcounter

3. Avoir un bon hébergeur comme YOORshop, nos serveurs sont puissants et performants (SSD + serveurs Nginx et litespeed + http2) et sont paramétrés avec des optimiseurs diverses qui contribuent naturellement à une bonne performance. Le processeur alloué à votre compte joue aussi un rôle important (le prix de nos offres est proportionnel au processeur)

4. Vérifiez la bonne exécution des Javascript et des divers modules (catégories, sliders), et à la fin de votre page (activez dans Performances 'Exécuter Js à la fin').  Nous avons déjà vu que la fonction ne marche pas correctement avec certains modules, testez voir des différences en les désactivant, et vérifiez le code donc si nécessaire... ou le 'waterfall' du test en ligne : http://www.webpagetest.org/ 

5. Pensez aussi à tester/activer Cloudflare gratuit depuis votre cPanel et évaluer si il y a un gain pour votre site (vous devez avoir au préalable optimiser votre si il ne l'est pas, c'est incontournable avec ou sans cloudflare !), normalement intéressant pour les sites avec beaucoup de contenus, et très utile uniquement si votre marché cible se situe sur des continents lointains....
(Les tests doivent durer au moins 3 jours le temps que Cloudflare ait mis en cache suffisamment de requêtes)
Pour un site SSL et meilleure performance aussi, le moins onéreux est : https://www.keycdn.com/?a=31796 

6. Périodiquement, purgez votre base de données !
https://www.yoorshop.fr/knowledgebase/1295/Optimisation-bases-de-donnees.html 


7. Soyez en 50-100% SSL, et bénéficiez de la vitesse du protocole HTTP2  :
https://www.yoorshop.fr/knowledgebase/1551/Comment-installer-un-certificat-SSL.html

8. Optimisation avec PageSpeed
https://www.yoorshop.fr/knowledgebase/3242/Optimisation-avec-PageSpeed.html

Cette réponse était-elle pertinente?

 Imprimer cet article

Consultez aussi

Mon site est visible partout, en permanence, et Cloudflare ?

La stabilité des serveurs ?C'est notre responsabilité d'hébergeur de s'assurer que votre site...

Optimisation bases de données

Depuis le 23 mars 2017, nous utilisons MariaDB qui est une très bonne évolution de MySQL, et ne...

Comment optimiser la rapidité d'affichage de WordPress ?

Pour avoir un site qui s'affiche rapidement, il faut réunir 3 conditions :- un serveur dont...

Activation du cache nginx

Nous avons la version micro-caching avec une courte durée de 5 minutes et la version cache pur...

Optimisation avec PageSpeed

PageSpeed est désactivé par défaut au niveau minimum : CoreFilters(Il y a un cache interne qui...