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

Comment optimiser Prestashop ?


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


Pour Prestashop, les meilleures performances sont obtenues en crescendo avec PHP 5.5, 5.6, 7, 7.1
(OPcache est activé par défaut au niveau serveur avec les versions PHP compatible, voir extensions PHP).
Depuis le 01/09/2016, PHP 7 et 7.1 sont maintenant considérés stable, et peuvent apporter un gain supplémentaire  avec opcache qui est activé par défaut, testez et voyez la vitesse, mais surtout aussi : si un de vos modules/plugins ne seraient pas compatible encore avec PHP 7....)
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)

Articles à lire :

http://www.prestashop.com/blog/fr/votre-boutique-prestashop-2-fois-plus-rapide-avec-zend-opcache
http://blog.g-design.net/post/114347507855/limportance-de-la-vitesse-de-chargement-dun-site
http://www.darwin-agency.com/temps-de-chargement-site

http://www.yakaferci.com/vitesse-chargement-site


Nous recommandons pour faire des tests d'optimisation :
 

Les plus importants sont le 'First byte time', le speed index et surtout le 'Start Render', ces 2 derniers dépendent à 90% de votre site...

Très bon pour améliorer :
https://www.dareboost.com

(Sécurité, il ne voit pas nos protections XSS, X-frame:)

1. Prestashop est livré avec une quantité de modules 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 ca rajoute des modules).
Cliquez sur Oui pour : 'Désactiver tout les surcharges', dans la section Performances. Ceci peu tne 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....

Un exemple d'un site bien optimisé :

Optimisation Prestashop

Pourquoi ?

Le First byte time n'a pas seulement une relation avec la réponse serveur, il est impacté aussi 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' est très important (à partir de quand sont affichés des éléments).
Lire :
https://www.yoorshop.fr/announcements/876/Optimisation-PageSpeed.html 

N'oubliez pas que chaque nouveau visiteur n'arrive pas forcément sur la page d'accueil, et en second, que les pages suivantes qu'il visitera seront vus bien plus rapidement que la première car il y a le cache serveur, le cache du navigateur client qui s'est mis en place au premier chargement quel que soit la page....

D'autre part, ces sites de tests ne détectent que la compression 'Deflate' de Apache, 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.

Etudiez aussi les résultats du 'waterfall', mais aussi activez dans prestashop le 'debug profiling' pour plus de détails !
Il est absoluement 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.

2. Egalement, 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 éxé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. 'Téléchargement parallèle' : ce n'est plus utile avec Http2
Ne vous fatiguez pas à mettre ceci en place si votre site à moins de 150 requêtes, il n'y aura aucun gain.
Afin de contourner les limites des navigateurs qui ne peuvent charger que 8 éléments en meme temps :
Créez des sous-domaines pour les JS/CSS/Images, exemple :
js1.mystore.com et mettez-y le contenu de theme/mytheme/js/
js2.mystore.com et mettez-y le contenu de /js/
css1.mystore.com et mettez-y le contenu de /css/
css2.mystore.com et mettez-y le contenu de theme/mytheme/css/

Adaptez les liens de ces ressources externalisées dans votre Prestashop.

6. 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éréssant pour les sites avec beaucoup de contenus, et très utile uniquement si votre marché cîble 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 

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


8. Soyez en 50-100% SSL, et on vous donnera le mode suprême speed http2 ! :

https://www.yoorshop.fr/knowledgebase/1551/Utiliser-SSL-pour-la-totalite-du-site-web.html

9. Pour la compression, c'est déjà activé par défaut au niveau serveur, donc rien à faire de votre côté
Gzip pour le http
http://checkgzipcompression.com 
Brotli pour le https :
https://tools.keycdn.com/brotli-test 

Cette réponse était-elle pertinente?

 Imprimer cet article

Consultez aussi

Optimisation avec PageSpeed

PageSpeed est activé par défaut  au niveau minimum avec le plugin XtendWeb Nginx en bas de votre...

Comment démarrer le référencement de mon site web ?

C'est un travail sans fin, et qui doit avoir une base solide, un début... la qualité prime...

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 évloution de MySQL, et ne...

Comment optimiser la rapidité d'affichage de WordPress ?

Pour Wordpress, idem que Prestashop, les meilleures performances sont obtenues en crescendo...