Improve PrestaShop 1.6 Performance
The following article covers the optimization options present within PrestaShop 1.6. These options will help make your PrestaShop installation load and perform faster. We will describe the performance and caching options available within the newly re-designed PrestaShop 1.6 interface.
Smarty is the php template engine used by PrestaShop. You will want to make sure this configuration is correct. Simply perform the following:
- From the Performance page find the Smarty section. It is the topmost section.
- Under the Template Cache setting, ensure the option labeled "Recompile templates if the files have been updated" is selected.
- Next, ensure the Cache toggle is set to "Yes".
This section presents some optional features that may be disabled to increase performance.
- Once you arrive on the Performance page, locate the "Optional Features" section.
- If you have no products with combinations, set the Combinations toggle to "No".
- Next is the Features setting. This toggle allows you to enable or disable product features. It is enabled by default.
- Last in this section is the Customer Groups setting. Disabling this will turn off the ability to create customer groups. All customers will then be individual and not subject to group pricing, etc.
CCC (Combine, Compress and Cache)
One way to make things load faster is to make it smaller. Each term in "CCC" describes the process of optimizing a file or files to reduce load times. Using CCC allows you improve the performance of your PrestaShop installation without touching any code. The CCC section can be found under the Advanced Parameters menu and by clicking on Performance.
Here are each of the options that you can select:
- Smart cache for CSS - CSS (Cascading Style Sheet) is used to provide formatting for a webpage/website. PrestaShop's Smart Cache for CSS feature combines all of the CSS files into a single file in order to reduce the requests to the server each time the website is visited.
- Minify HTML - minifying HTMl involves removing unneeded code in the HTML so that it loads faster. "Unneeded code" can be comments, white space, unneeded characters, etc. The minifying process simply makes the code more compact and quicker to load.
- Apache optimization - adds .htaccess code that helps to improve caching on an Apache web server.
Media Servers (Use only with CCC)
Media servers allow you to offload static content off to another server (generally called a CDN - Content Delivery Network). PrestaShop requires that you use this option with the CCC options listed above. There is also a note stating "You must enter another domain, or subdomain, in order to use cookieless static content." This is in order to preserve security of the website. If you are using multiple servers:
- Type in the domain or subdomain name of the server in the space provided
- Click on Save in the bottom right hand corner to save your entries
Ciphering references the encryption algorithm used for generating the cookies. Performance-wise, if you are on a web server that has mcrypt enabled, then you should use Rijndael with mcrypt.lib. It is faster than the custom BlowFish class used by PrestaShop.
To change the algorithm, click on the radio button, then click on Save in the bottom right hand corner.
There are different types of caching that can be activated to help with PrestaShop's performance. You can also use this section in order to enable or disable caching. Note that each of the caching options require that the server extension be enable in order to use it. The file system cache uses the hard drive and is generally the least efficient.
Here the cache options:
- Memcached - Memcache runs best if you are running multiple servers to serve your website. The PHP configuration of your server must have it enabled before it can be selected. You can get the extension directly from here. However, you will only be able to install it on servers where you have the proper access. For InMotion Hosting, you can install it on VPS or Dedicated server accounts where you have root access. If you do not have root access, you can submit a ticket request to our technical support team for assistance.
- APC - APC stands for "Alternative PHP Cache". As opposed to memcache, APC works with one server. You can get the extension directly from here. This option is not available for shared server hosting accounts. Like memcache, you will only be able to install it on servers where you have the proper access. For InMotion Hosting, you can only install it on VPS or Dedicated server accounts where you have root access. If you do not have root access, you can submit a ticket request to our technical support team for assistance.
- Xcache - Xcache requires the Lighttpd server. This option cannot be used with InMotion Hosting servers since they use Apache Web server hosting websites. For more information please go to Xcache Wiki.
To select a cache option, click on the radio button next to the type you wish to use, then click on the Add Server button in order to enable it. Each caching option in the PrestaShop interface links to a website. These websites give you specific details on these caching types.
A good portion of your ecommerce site will be images. Images are managed in several ways within PrestaShop:
In Preferences, under Images, you can set the size for the images that will be used for the products.
The next section down lets you set the quality of the image which will also affect the load time of the images. The higher the quality, the larger the file. Bigger files equals more time to load the file.
The handling of the images in PrestaShop has advanced since its earlier releases. Images are organized within the 1.6 release in order to be able make use of the responsive design. This allows your customers to be able to see a more consistent representation of the ecommerce site regardless of the device that they are using.
If you are using many custom product images, there is a possibility that many of the image sizes are not the same. Some, may be very large. You can bring all of these thumbnails back to the same size by using the Regenerate Thumbnails option. This option is at the bottom of the Images section. If you have many products, keep in mind that you may be generating thousands of images. Therefore, you should not use this function when your website is very busy.