How to optimize loading speed of Prestashop ?

1

To optimize speed of Prestashop get the highest loading speed, thus to sell optimally, 3 conditions must be met :

- server whose components are at the cutting edge of technology : 3D NVMe SSD

- combination of high-performance server software (our know-how)

- minimal optimized website and use PHP7, Prestashop is natively quick on our servers. Be careful with custom themes and modules so that it does not degrade initial performance...

We confirm that our servers are very well optimized for Prestashop, and a 3rd party web host comparison test our servers daily, and they tell clearly that we are in top 3 fastest host on earth, check it here

For Prestashop, we have the best results with 
OPcache is enabled by default with all compatible PHP versions
- Check compatibility of your theme, and modules/plugins with PHP 7
CMS Prestashop
 
We recommend also to use browser Chrome which is fastest.
 

Section Performances of your Prestashop admin :
For cache type, we suggest : 'System files', very well performing with NVMe SSD in last Prestashop versions, or MySQL (the gain will depend on your site, you must test), or use Opcache
Always enable if possible disable all overrides
CCC settings, all activated except in case some that cause issues like : 'Html code reduction' and 'javascript compression'.
Bottom of the section 'Performances' in your Prestashop admin, you don't need to activate any cache module in Prestashop, as these will lower performances in most cases.

Once your dev finished, don't forget to disable : 'Force compilation at each request' 

To know, and test :
https://dh42.com/free-Prestashop-modules/Prestashop-opcache-manger-module/
Only to view opcache effect
https://jpresta.com/fr/accueil/1-page-cache.html
Allow advanced optimization

How to correctly simulate the reality of a visitor's experience on your website ?

We recommend these online testing tools by order of pertinence :

https://www.uptrends.com/tools/website-speed-test

https://web.dev/measure

https://pagelocity.com

https://www.dotcom-tools.com/website-speed-test.aspx

http://www.webpagetest.org

https://tools.pingdom.com

To read for more Tools

NB :
- Most important criterion are 'First byte time', 'speed index' and 'Start Render', given on website webpagetest.org
- Pagespeed insights is the baddest online testing tool, it is broken and incomplete
- some testing websites does not see our Gzip compression

Do you know that testing online a website based only on the homepage is far from being a complete evaluation ? here is why...

A visitor is generally not discouraged because your site loads between 3-5 seconds on first loading, (if it is 10 seconds it is too much for sure), and your visitors will benefit from a faster speed on our servers from second page visited thanks to cache browser settings enabled by default, thus only the new elements of the new pages visited during the visit will be sent from the server, the rest comes from its browser cache (unbeatable in term of speed)...
The test alone of the homepage makes it possible to compare the speed between 2 hosting services, but also to observe the degree of optimization of the homepage or of the tested page...
(We saw many sites with no problems on the homepage, while big problems appeared in category and product pages, linked to non optimized modules or poorly designed ...)

So if you're using an online testing tool, you need to do 3 tests to see either the speed between 2 hosting services, either check how the concerned page is optimized : homepage, 1 category page, 1 product page.
Please note that :
- online testing tool clean their cache for every test in general, so it will still not represent the true reality of a user's experience.

- more than 50% of visitors arrive on your website on a page that is not your homepage...

To simulate a real user's experience, you'll need to do it from your PC by installing the Chrome plugin named Apptelemetry (you'll see a counter on the right side of your URL bar) : https://chrome.google.com/webstore/search/AppTelemetry
Clean your cache, and visit your site by going on each type of page, and notice the loading times from the second page visited...
Use "Inspect elements" with the right button of your mouse in chrome or "Examine the item" in firefox, see the "Performance" tab, activate the recording. Now browse your website to get the waterfall, and possibly identify items that would be problematic...

For an advanced testing of your website, we recommend this unique feedback service :
https://www.userlynx.com/

1. Prestashop comes with a large number of modules activated, you will use only at 40% on average...

You must therefore turn off one by one those that you will not use, once you have installed your template (because it adds modules).
In section Performances, click Yes for : 'Deactivate all overrides' (This can not be suitable for all sites/modules which will not work properly after turning this On)

The key to the beginning of optimization is not only to disable/uninstall modules, but especially to remove the hook of the modules in hook_header, in addition to those where they are supposed to be displayed...
Make sure weight of your pages, excluding homepage, does not exceed 3MB.

Example with webpagetest.org of a pretty well optimized website :

 
Optimisation Prestashop
 
Anoteher site with good results : https://abzav.com/en/

Optimisation Prestashop

 

The 'First byte time' includes the initial and almost simultaneous loading of many elements (without previous cache on the final visitor side):
- initial DNS resolution
- the establishment of the initial SSL connection when the site is in SSL (see our point 9 about SSL offload to reduce this delay)
- initial loading of the site which includes Prestashop CMS

All server caches, and the website will make the next pages visited will be seen much more quickly...


The most importants
here are the 'Start render' and 'Speed index' corresponding to from when the page appear displayed to visitor...
Ref : https://blog.dareboost.com/fr/2015/07/start-render-visually-complete-speedindex/

It is absolutely normal to see sometimes a score : N/A or D for images compression, it depends on your images, and optimization must be done by you as server compression can't significantly compress them...

For 'waterfall', don't forget that you can do this test more precisely from your own computer by using feature 'Inspect element' of your browser, see tab 'network'


Study how your website is loading with waterfall results, but also enable debug profiling in Prestashop for better details !

2. Native 
statistic modules slow down much Prestashop, better just use google analytics Module... or even statcounter

3. Have a good web host like YOORshop, our servers are powerful and performant (SSD + Nginx + litespeed servers + http2), and configured with different optimizers that contribute naturally to good performance. The processor allocated to your account also plays an important role (the price of our offers is proportional to the processor)

4. Verify the proper execution of Javascript in various modules (sliders, categories), and at the end of loading your page (enable in Performance 'Run Js at the end') It could not work even activated, we have seen that... check coding, or even the 'waterfall' of online test website : http://www.webpagetest.org/

5. Also, think about testing activation of free Cloudflare from your cPanel, as it could help websites with much contents, and also help loading speed only far away continents....(before this, optimize your website at best possible, this is unavoidable for performances with or without Cloudflare !)
(The test must last at least 3 days so that Cloudflare can cache sufficient content requests)
For a SSL site, the cheapest and for best performances is : https://www.keycdn.com/?a=31796

6. Purge your database periodically
https://support.yoorshop.hosting/knowledgebase/1295/Database-optimizations.html

7. Be 50-100% SSL, and benefit from speed of HTTP2 protocol :
https://support.yoorshop.hosting/knowledgebase/1551/How-to-install-an-SSL-certificate.html

 
9. We offer the 'SSL offload' feature which reduces the loading time during the first connection (if your site displays an error, it means that it is incompatible with this function). To activate / test it, from your cPanel, at the bottom, Nginx Manager icon, choose your domain, then 'General settings', click on 'enabled' for the SSL Offload line, then lower on the right, save by clicking on the button in the 'Save settings' section