NitroPack FAQ

I enabled NitroPack but my site doesn't load fast enough. How do I fix this?

The initial request to a page is always loaded with a standard speed. When the page is served on the first visit, NitroPack caches its contents for future use. Every subsequent visit will read from the cache.

To have your main pages pre-cached, please configure the Local NitroPack CRON job from the NitroPack admin panel. More info here.

Mind that the NitroPack page cache is always disabled whenever you have items in your cart, or if you are logged in as a customer.

To optimize your site for such cases, consider enabling the NitroPack database cache with the Memcache engine.

P.S. If Memcache is not enabled for your server, please get in touch with your hosting provider.

How do I know if an error is caused by NitroPack?

  1. Go to the NitroPack Control Panel, Settings tab, and set Extension Status to Disabled. Click Save.

  2. Go to Admin > Extensions > Modifications. Disable all NitroPack modifications and click Refresh on the top right.

Now try to reproduce the error you spotted once again. If it is still present, it is surely not caused by NitroPack.

If the error has disappeared then it looks like it was caused by NitroPack. What you can do is get in touch with our support team by opening a support ticket.

Can I use NitroPack with another page caching extension?

NitroPack is a complete webstore optimization framework. This means it does everything you need, to have a fast store. We strongly recommend you to stick with a single caching extension (Except Journal theme, where you can run NitroPack alongside the theme. More information below).

I already optimized my images, but PageSpeed keeps reporting them

We have actually prepared a whole blogpost on this topic. Since the post is quite big you can follow the guides here: How to Fix Render-Blocking CSS and Optimize OpenCart Images with NitroPack.

I am getting errors when optimizing images locally. How can I fix them?

Since the local image optimization relies on external programs that must be executed outside of PHP, there are some system requirements that must be met in order for this to work properly:

  1. The exec() function must be enabled and allowed on your server, because this function is used to run external programs
  2. The system must be one of Linux, Mac, Windows
  3. The ZipArchive extension must be installed, because the binaries come packed in a ZIP archive and need to be extracted on the server
  4. The PHP user must have write permissions to the system/nitro/lib/NitroSmush/ directory

Can I get a 100/100 PageSpeed score?

This is impossible to achieve in most cases. Mind that the purpose of PageSpeed is to give guidelines for certain aspects of your website you can begin improving.

NitroPack can guarantee that you'll be able to get the best possible score for your website. Typically, websites with a higher score than 80 are considered very well optimized.

You can also do a few tests yourself with websites such as Amazon.com, eBay.com, Bestbuy.com and other local E-Commerce marketplaces and see how much they score.

Will NitroPack work with my custom theme?

Yes. NitroPack is designed to work with any OpenCart theme. If any errors occur, our support team is there to help. You can open a support ticket here.

Is NitroPack compatible with my OpenCart modules?

Generally speaking, NitroPack is compatible with all themes and extensions, except other caching extensions.

However if an extension needs to display dynamic content on each page visit, then there might be an issue if the extension is not compatible with page caching. An example would be a view counter on the product page. Such an extension needs to display a different number every time you load a product page.

There 2 ways to do this:

  • Set the number with PHP while the page is loading
  • Use AJAX request in JavaScript to fetch the number from the server and then inject this into the HTML of the page

The second approach is compatible with page caching (NitroPack) and all extensions that display dynamic data and fetch it using AJAX.

Otherwise the extension will have to be modified to work that way. Note that this is not something specific to NitroPack alone, it is valid for all page caching systems.

My NitroPack cache/assets directory is getting bigger. How do I avoid this?

We would suggest you to configure a CRON job which will delete the expired cache files daily.

To configure CRON jobs, navigate to OpenCart Admin Panel > Nitro > Settings > CRON. From there you can choose Local Cron or Remote Cron with the behavior set to Delete Outdated NitroPack Cache Files.

For more information, we suggest you read the NitroPack Documentation on how to set up a CRON job.

My images look stretched, how to fix this?

We suggest you disable the option Add width/height attributes to images from:

NitroPack > Cache Systems > Page Cache > Add width/height attributes to images and test again.

For more information take a look at the Page Cache part of the documentation.

Can I enable page cache when a customer is logged in?

Page cache is good only for public pages where all people see the same content. Content gets directly loaded from the page cache, thus speeding up the load time and saving resources.

If the customer is logged in or has items in their cart, then all pages become personalized for him/her - in this case Page cache must be disabled so OpenCart may serve personalized content.

At this point NitroPack still works but without page cache. Features like Database cache or Browser cache are still active though.

Can I cache the OpenCart admin panel?

Caching the admin panel may lead to unexpected errors and misbehavior. NitroPack page cache is always disabled for the admin panel.

Renamed admin directories are also detected properly.

Does Journal Theme caching work with NitroPack?

Yes. Because of the way Journal serves it's CSS and JavaScript when it's cache is disabled, there is actually a benefit if you ENABLE the CSS and JavaScript caching options in Journal, because then it will create the combined and minified CSS and JavaScript files and save them as physical files on the local file system, instead of serving them via PHP controllers.

This saves some HTTP roundtrips for NitroPack, that it would otherwise need to do if the Journal cache is disabled. So in Journal's case in particular it is better if you have its cache enabled.

Does NitroPack work with NGINX?

All NitroPack features work on NGINX, except browser cache and compression because NGINX does not handle .htaccess files.

Browser cache and compression rules should be manually configured by a server administrator. We would suggest you contact your hosting provider and ask them to enable these options for you.

Once they do this all would be working out great.

Can I use OpenCart cache with NitroPack?

Yes, NitroPack works with the default OpenCart cache.

What is the difference between lossy and lossless compression and how they relate to my Google PageSpeed score?

NitroPack offers two types of compressions - Lossless and Lossy compression.

  • Lossless compression will preserve the image quality but will result in a lower PageSpeed score.
  • Lossy compression will reduce the image quality, but result in a higher PageSpeed score. Hope this post suits you well. Let us know if you have any questions about the module in the section below.