The Varnish Advanced Caching extension provides integration between your Opencart shop and the Varnish Cache server.
Key features:
- It will help you with generating the needed Varnish VLC configuration file.
- Separate content cache for guests, customers and/or customer groups (for instance when you have special prices per group) can be generated.
- Separate content cache for different currencies and languages.
- Separate content cache for desktop, tablet and smartphone can be generated.
- Only cache content of guests.
- When content like products, categories, manufacturers and other pages are changed, automatically a Varnish PURGE request will be send to drop the cache of that page. This way customer will always receive up to date content.
- A build in Cache Warming cron to preemptively cache all pages like information, category, product and manufacturer pages.
- Auto keeping pages warm when automated cache purges happen.
There are more features that are nice to have
What is Varnish?
Varnish is an open-source full page http accelerator (also called reverse proxy) that saves entire website pages on RAM memory, the fastest storage available, returning them immediately to the website visitor. Every time someone visits the website, Varnish will filter the request and following a specific set of rules to determine if his own cache has a copy of the page they want to see. If it doesn’t, it will fetch that page from Opencart and then store it in the Varnish cache for later use.
Therefore, if a specific page of your website has already been visited previously and is available in cache, Varnish will immediately return it to the visitor who is requesting it, without requesting its generation again from your Opencart website.
Search Engine Ranking
Varnish reverse proxy caching plays a crucial role in minimizing the system resources and speed up page loading times. Improving the loading speed can have clear and far-reaching benefits that include better SEO ranking, improved user experience, and better conversions and in today’s world, they are a must-have extension.
Varnish VLC configuration file
As we mentioned earlier, proxy servers follow specific rules when they handle requests. Varnish uses its own language for internal rules, called Varnish Configuration Language (VCL). In practice, VCL gives you full control over your proxy server’s configuration, so you’ll need to become acquainted with it first.
This Varnish Advanced Caching extension will help you generate this VCL configuration file, based on some configurable settings. There are a few important settings that will be used to generate the VCL file, like ipaddress and port uses by Varnish, different timeout values but also which ip addresses are allowed to PURGE/BAN the cache.
Not all pages can be cached, like account, cart and checkout pages, these pages will be excluded from caching. You can also make your own list of urls which will be excluded from caching.
Other settings like do you want separate cache for guests and customers (recommended), separate cache for customer groups (for instance when you have special customer group prices) or separate cache for desktop/tablet and smartphones, all those settings you can managed within Opencart itself by enabling/disabling those features. Thought special cache headers and cookies Varnish will know how to separate and store the page cache.
When you are able to use Ajax for loading customer specific data like the login/logout/account menu links, shopping cart and wish list data, it is possible to only cache one instance of a page and use it for both guests and customers. This Varnish Advanced Caching extension has already a build in Ajax loading for cart and wish list data, so pages with those specific data can be cached also.
When will the Varnish cache be invalidated/purged
Invalidating/purging the cache is very important to make sure you always serve up to date content to visitors. It is always possible to manually purge all cache or purge cache of a specific page like the home page or product pages. The Varnish cache will be automaticly purged when you as an admin make changes to products, categories and/or information pages.
The Varnish Caching extension has a built in advanced invalidation mechanism for purging and recache pages. Through Opencart events and a cron task every change in a product, category, information or manufacturer item will be evaluated and will trigger the right purge request to Varnish.
How to check that Varnish cache is working
Varnish caching system sets specific http headers if the called page is available or not in cache. To check if website is using Varnish cache, it is therefore necessary to check for the presence of specific Varnish headers.
Open your browser developer:
Firefox: Tools->Web development->Activate tools
Chrome: View->Development options->Developer tools
Now, on developer tools:
- Select “Network” tab
- Select “HTML” sub tab in Firefox or “Doc” in Chrome
- Refresh your page
- Click on the domain name row identified by 200 status code
The response headers will open in the right column, last header will be the one related to Varnish:
X-Cache: HIT = the resource/page called, is available in cache and has been returned by Varnish. It means that the cache system is working properly.
X-Cache: MISS = the resource/page called, is NOT available in cache and was generated by Opencart. A MISS is always returned when this was the first resource/page call (second call will be a HIT), or the cache system has been instructed by the headers or by custom rules, not to return the resource/page from cache.
- Compatibility: Varnish Advanced Caching extension works well in OpenCart version 2.1.0.0 and above.
- VLC configurations file: It will help you with generating the needed Varnish VLC configuration file.
- Separate cache for guest and customers: Separate content cache for guests, customers and/or customer groups (for instance when you have special prices per group) can be generated.
- Separate content cache for currencies and languages: For each currency and/or language a separate content cache can be generated.
- Separate cache for devices: Separate content cache for desktop, tablet and smartphone can be generated.
- Separate cache for currency/languages: When you are using multiple currencies or languages, separate cache can also be generated. When different languages are used with SEO urls, then the cache will be separated because of the different SEO urls.
- Cache purging: When content like products, categories and other pages are changed, automatically a Varnish PURGE/BAN requests will be send to drop the cache of that page. This way customer will always receive up to date content.
- Cache Warmer: A build in Cache Warming cron to preemptively cache all pages like information, category, product and manufacturer pages.
- Auto keeping pages warm: Auto keeping pages warm when automated cache purges happen.
- Purge/Re-cache by date_modified: Automatic purge/re-cache pages when date_modified changed by external scripts.
- Ajax loading cart and wish list: This Varnish Advanced Caching extension has already a build in Ajax loading for cart and wish list data, so separate cache for customer can be used.
- Update Notification: When a new update of the extension is available, a notification will be displayed with changelog.
- Easy and friendly administration.
- Multi-Store support.
- Multi-Language support.
- The extension doesn't overwrite any system files.
- vQmod and Ocmod version available.
- Help text available within the extension.
Compatibility | |
Compatibel met | OpenCart 2.x.x and 3.x.x |
Wijzigt core bestanden | No |
Extensie versie | v1.5.1 |
Goed gedocumenteerd | Yes |
Multi-Taal | Yes |
Multi-Winkel | Yes |
Extensie laatst gewijzigd | 07-10-2024 |
vQmod and Ocmod version available | Yes |
License details | |
License Type | Single domain |
Support Type | Premium Support for 1 Year |
* -> Security Fix
# -> Bug Fix
+ -> Addition
^ -> Change
- -> Removed
! -> Note
(Latest version can be downloaded at shop.openwebcreations.eu)
1.5.1 - 07-10-2024
# Bug Fix: License check validation, less checkes for better performance.
1.5 26-09-2024
+ Add keep track of when a page is last used, old pages not used will be removed from Varnish cache after x days.
1.4 - 09-08-2024
+ Magor update (regenerate VCL)
1.3 - 16-03-2023
+ Add Cache Warming
1.2 - 26-02-2023
# Bug Fix: Some small bugfixes.
1.1 - 26-02-2023
+ Added Re-cache feature
1.0 - 15-01-2023:
+ Initial version
Support Policy Summary
- We provide support only for valid Open Web Creations product purchases.
- Our reply time is up to 48 hours within business days.
- We reply all support requests in our Support Forum from oldest to newest. Please do not repost if you are not adding essential information to the opened support requests.
- We do not provide support on weekends and national holidays.
- Our support team working hours are from 9 AM - 5 PM (Monday-Friday) at (GMT/UTC +1:00).
- Sometimes we may need access to your FTP and web store admin.
- We cannot guarantee that all of our modules will be out-of-the-box compatible with any other extension, theme or a customized OpenCart.
Tags: Varnish Advanced Caching, VARNISH