Updated on Sep 8, 2016
Filling up your OpenCart 2 store with more and more products will surely at some point start to take its toll on performance. Uncached pages, not well optimized images, JavaScript and CSS that need Minification all add to the load time of your store. It is rare for a company to create an entire framework when trying to provide its customers with a solution to a problem. However, iSenseLabs spared no efforts when it came to customer satisfaction and creating a great product. NitroPack is very powerful performance optimization module that will cut your store's loading times significantly.
The installation process of NitroPack is similar to the one of other extensions for OpenCart 2. We have covered this step in our Extension Management tutorial. However, as NitroPack is an entire framework, after the installation, you will have to take additional steps in order to access its settings.
Firstly, you will have to navigate to the System → Users → User Groups menu.
Here you will have to click on the blue edit button corresponding to the Administrator group in order to enter its settings page.
In the Access and Modify Permission lists, find the tool/nitro option and put a checkmark on it. Click the Save button at the top right corner of the page when you are done.
Now you will be able to see and enter NitroPack. The framework has been added as a tool and can be accessed via System → Tools → NitroPack.
Once you have entered NitroPack, go to the Settings tab and enable the extension. You can also paste your Google API Key in the appropriate field here. This API key will allow you to use the Google PageSpeed Insights that will provide a score for your website based on its speed. The top ranking websites have an average score of 80.78. Above that value a website is considered as well optimized.
Returning to the dashboard you will see a list of 5 steps you need to take in order to optimize your store. By using the Setup Now button you can access the options in these steps.
Another way to access the same settings is to simply open the appropriate tab and select the feature you want to configure. For example let us enter the Page Cache settings. This caching method is used for serving already processed content to the visitor of your store. This means that after the initial load every page will load way faster for that visitor. It is advisable to disable other third party caching methods before enabling Nitro's Page Caching. Note that in some cases Page Caching will be deliberately disabled. For more information on that you can read up in the documentation file of the extension.
As you can see every option is well explained in its tooltip so we will only provide a quick overview in this tutorial.
If you have some heavy database queries which are frequently requested you can enable NitroPack's database cache for increasing the delivery time. This caching type is disabled by default as it can interfere with the other caching types.
In the General tab you will be able to select the storage system and expire time:
In the other tabs you will have the options to cache product count queries, category queries, SEO URLs and popular search terms. The last is very useful when you see certain keywords are being constantly searched by your visitors.
In the System Cache menu, you will be able to modify the behavior of the standard OpenCart cache. If there are issues with your other caching methods, you can disable it, but the chance of that is very slim and it is recommended to keep this enabled. You also have the standard Expire Time and Delete Cache options at your disposal.
The browser caching is responsible for how the visitor's browser cache HTML, CSS, JavaScript images and fonts.
You can select for how long to cache the different elements of your website which includes xml, txt, css, js, jpg, jpeg, png, gif, swf, svg, otf, ico, pdf, flv, woff and ttf file formats.
The last option in the Cache Systems drop-down menu is the Image Cache. Here you can choose to Overwrite the image quality of all the jpeg images on your website with a % based compression. This is useful for bulk optimizing the cache for the images of your products.
In the Compression tab, the settings are very straightforward. You can enable GZIP compression and configure if you want your CSS, JavaScript and HTML files to be compressed as well as the level of compression. However, we at FastComet offer GZIP compression by default on all of our Shared Hosting Servers, so you can leave it disabled in NitroPack. If you want to learn more about GZIP compression, you can visit our GZIP Compression tutorial which is part of our GTmetrix related tutorials.
The next tab we are going to visit is the Minification tab. In a few words, Minification is the removing of all unnecessary characters from the code without changing the way it is executed. This makes the file size smaller which eases the delivery and speeds the website. Enable Minification by changing the status of the Use Minification option.
Now, instead of having to manually access your files and minify them using 3rd party software for Minification, you can do all of this by simply selecting Yes for the desired file type (CSS, JavaScript and HTML) in NitroPack. The CSS and JavaScript options are similar so we will cover them as one:
In the HTML section you have only two options:
Content Delivery Networks (CDNs) improve delivery speeds by a lot and are generally recommended when running an e-commerce store, as your server location does not matter if the CDN provider has a lot of edge nodes. FastComet is officially partnered with CloudFlare CDN and we can help you in integrating your website with the CDN. You can check our Cloudflare tutorial section for more relevant information.
In NitroPack you can configure your OpenCart to take into consideration the HTTP_CF_CONNECTING_IP
header and show the IP addresses of your visitors instead of the default CloudFlare IP.
Next on the list is the CRON tab. Cron is software for executing scheduled tasks and as such is very handy to any website owner. Usually a custom cron job can be set via your cPanel → Cron jobs, but NitroPack offers an easy to use cron configurator to help you with certain extension related taks.
If you wish to setup a remote CRON scroll past the local CRON fields and you will see:
The last tab in NitroPack is called Image Optimization. Here you can optimize the images on your store in bulk.
Before hitting the Start new optimization process button you will have to configure:
Now you can re-evaluate your website's speed by clicking on the refresh button for the speed module located in the dashboard tab.
During our tests, we managed to get the loading time of a product heavy website from 2.9 to 1.7 seconds by using most of NitroPack's features. The connection was between our datacenter located in Dallas, Texas and a request from Stockholm, Sweden.
This extension has proven its worth and is something we can recommend to anyone who wants to increase the loading speed of his OpenCart store.