In this guide, you will discover several hints to optimise the performance of an eCommerce site running with PrestaShop. Improving the performance of an online store is good for your natural referencing, your conversion rate, and your brand image.

1. Hosting choice

If you launch a new PrestaShop site with a pristine catalogue and not much traffic, the Web hosting and the Classic hosting (Web + Mail) will offer excellent performance. For very competitive prices, you will enjoy 100 GB SSD storage space, free SSL certificates, and a very generous resource allocation (unlimited traffic, 1.28 GB of RAM, SSH access, max 60 minutes run time, and the option of having a dedicated IP).

When your catalogue expands and your site attracts several thousand visitors a day, you will – if necessary – be able to migrate your PrestaShop site to a managed Cloud Server in a few clicks. You will also benefit from dedicated resources and a customised cache engine like memcache meaning you don’t have to worry about your server management.

Discover our Web hostings which are optimised for PrestaShop.

2. Cache and compression

Firstly, check that the gzip compression is correctly enabled on your server. This allows the server to compress files before sending them to your visitors, which will have the effect of reducing loading time for your web pages.

Secondly, enable the cache in the PrestaShop back-office from Advanced settings > Performance, and tick the box “never compile template files” when setting up the site. When enabling this option, you will still have to think about emptying the cache when you modify the theme files so that the changes are taken into account. If you have a managed Cloud Server, contact our support team to enable memcache to be enabled on your server. You can then enable the cache system Memcached instead of File system.

Thirdly, compress your images using a software program (e.g.: FileOptimizer, ImageOptim) or an online service like Imagify before uploading them onto your PrestaShop site.

The last step is to enable Google’s PageSpeed Tools on your hosting. This option is available on a Web or Classic hosting as well as on a managed Cloud Server.

3. Content Delivery Network (CDN)

If your PrestaShop site is international, it may be useful to study the possibility of enabling a CDN like CloudFlare. The role of a CDN is to cache your web pages on a large number of servers around the world, thus considerably speeding up your site’s loading times in those countries which are not near the geographical area where your site is hosted.

4. Database size

Using phpMyAdmin, list your PrestaShop site’s database tables and check the tables between 100 and 200 MB in size carefully in order to clean them. Also think about removing products you no longer need or sell.

If you come across reliability issues and your tables are too big, ask a developer to analyse the situation in order to clean or purge the base, or increase your server perfomance.

5. MySQL requests

This is a technical part. If you do not have the required expertise, you should perhaps hire a webmaster if you are worried about this.

A MySQL request which takes several seconds to run and which runs several times a second could completely block a website. In such a case, increasing the server resources will only load your hosting’s invoices and delay the inevitable: identifying and optimising where the problematic requests are.

With a Cloud Server, you can check the presence of problematic MySQL requests by looking at the server’s MySQL statistics (to find out more). In this case, the proportion of the number of MySQL requests compared to the number of hits should particularly be checked. The development tools integrated with internet browsers can also help you to identify large requests.

PrestaShop’s debugging information may also help you to identify slow SQL requests:

  1. Put your site into maintenance mode (Preferences > Maintenance > Disable the store).
  2. Edit the file /config/defines.inc.php and switch the value _PS_DEBUG_PROFILING_ to true instead of false.
  3. Refresh your PrestaShop store.
  4. At the bottom of the page, read the information about SQL requests under Stopwatch SQL. The longest SQL requests will appear at the top of the list.

6. PHP, MySQL and PrestaShop

The latest versions of MySQL, PHP and PrestaShop significantly improve the performance and reliability of PrestaShop. PHP 7 is thus up to twice as fast as PHP 5.6 and MySQL 5.6 allows the run time for MySQL requests to be significantly reduced.

We therefore recommend that you systematically use the latest versions of PHP and MySQL which are compatible with the latest version of PrestaShop.

7. Other advice to optimise PrestaShop

  • Use a single request to download the different Google WebFonts you use.
  • In the Performance tab in your PrestaShop store, disable the functionalities you no longer need (e.g. client groups, characteristics, declensions, etc.).
  • In the Modules and services menu, disable the modules which are no longer used, like statistics (this is the statistical data recovery module).
  • If your site is only available in French, disable the other languages.
  • Correct your site’s 404 errors using this site.
  • Avoid useless redirects.
  • Finally, don’t forget to log your store’s traffic with a free SSL certificate.