Full Page Cache Warmer(v.1.0.4)
Make browser experience of your visitors fast and convenient. Use our Crawler module — a missing component of Magento 2 full page cache.
- Best use of server resources
- Fast crawling of most popular pages
- Quick cache warming of recently updated pages
- Background mode
- Smart performance efficiency
- Live charts for checking progress
- Independent work on own cronjob
- See the full list of features below
Keep your cache fresh
Fast stores get more traffic, while smooth shopping experience improves conversion. Full Page Cache module in Magento 2 is a helpful tool to reduce time to first byte (TTFB) so to speed up Magento 2 store. But it has no such a must functionality as cache warming. Here, our Cache Warmer module starts playing the major role.
How it works
Potatocommerce Cache Warmer is like a smart bot. It emulates visitor behavior, and timely warms up store cache so that your website visitors and Googlebot will always get the content of your pages faster. As a result, your conversion rate will be increased, and you can get higher results in Google ranking.
Cache Warmer has flexible settings to configure it the best way for your store. You can set up to run crawler using different crawling parameters:
- Page Types
- Customer Groups
- Protocols (http/https)
By configuring the priority, the extension will warm up the most important pages of your website first, and you always have the cache for the home page, top categories, and best sellers.
Cache Warmer for Full Page Cache
Full page cache Crawler warms up cache when it is flushed during such events:
- Products update
- Categories update
- CMS pages update
- Inventory update
- Catalog rules update etc.
In addition, our Full Page Cache Warmer gives a store administrator complete statistic and visualization of its work. It can work not only with native Magento 2 FPC but also with other full page caching solutions.
Best use of server resources
Our module automatically checks server resources and adjusts itself to the current server load.
Our Crawler uses own cronjob independent from Magento cron. That guarantees a stable work, as neither Magento cronjobs nor Crawler will affect the work of each other.
Smart performance efficiency
If the current CPU load is high, our module will temporarily pause cache warming. Once CPU load gets stable, it resumes the process of crawling.
Fast warming of most popular pages
Our full page cache warmer crawls the most popular pages of your store first. It has a specific counter of page visits. So your home page, bestsellers, top category pages will be warmed primarily.
Warming parameters and easy priority management
The configuration is quite simple. You can set up warming for different customer groups, store views, HTTP/HTTPS protocols, currencies. Thus, Magento 2 FPC will generate cache according to specified conditions.
For example, if most of your customers are English speaking, so to generate cache for an English store view will have a higher priority than for others.
Use sitemap or database
By default, the module uses a product database to get a list of the pages for caching. But we have also added the functionality to use XML Sitemap instead of the database if necessary.
When to use the sitemap? Here are two use-cases which will help to understand:
Use-case 1: A third-party module can add pages to the sitemap (blog, shop by brand, landing pages). Our module will find the links to these pages in the sitemap and timely update cache for them.
Use-case 2: There are 100+k pages on your website. You do not want to have Warmer working permanently, as some of the pages may wait several days till they are crawled. So you can use your list of main site pages (sitemap) that should be warmed.
Live charts for checking progress
We have added special live charts so you could check Cache Warmer speed, progress, and current CPU load. So you’ll have visual information on most crucial cache warming information.
Cache Crawler log
You can analyze the Cache Crawler log to monitor its work. How? In the log file, you will have details on Cache Warmer processes, CPU load, the quantity of threads as well as information on events when full page cache has been flushed.
Automatic cache generation in the background
Our extension allows a store administrator to just relax. It works in the background mode, uses cron to add pages to the queue when necessary and launches a bot to create cache.
FREE tech support
PotatoCommerce provides FREE and LIFETIME technical support, FREE installation service and LIFETIME product updates.
What is caching in Magento 2 and why it is needed
Magento 2 platform supports different types of caching which you see on the cache management page. By default, pages get cached only when visitors open the pages of your website in the browser. Later when a page will be updated, most of the content is loaded from the cache much faster.
If you clear cache or cache is expired, your store visitor will have to wait till the server processes all the requests from a browser and deliver the content. For your potential customers, every second counts. So they surely will not wait for long loading. Our module emulates customers’ behavior, crawls pages and keeps the cache updated. Thus, it speeds up page loading and improves conversions of the website.
Why pages may be uncached?
There several reasons for pages to be uncached:
- Page has been updated
When you save some product, category or CMS page, the cache of the page will be flushed and the page will become uncached. Our module will add an updated page to the top of the queue so to create cache as soon as possible.
- Cache has been flushed
Store administrators often flush the cache after updating widgets and custom blocks, as well as after updating the design of the whole website. Our Crawler will update this cache primarily as well.
- Cache is outdated/expired
Cache has a lifetime, and once it is ended, the cache will become invalidated. So it is necessary to update the cache from time to time to keep the page fresh.
Why pages of your store should always be cached?
For an uncached page, Time to First Byte can be about 5-10 sec. It mostly depends on server capabilities and current server load, as well as on the quality of Magento 2 theme. For a cached page, Time to First Byte is 100-500ms, which is much less than for uncached pages.
Thus, if a user goes to uncached page, then you are likely to lose a customer because every extra second increases the likelihood of losing a client by 25%.
To recap, PotatoCommerce Cache Warmer will keep cache updated and won’t allow its expiration.
- 2 Reviews
Great SupportWe had an issue with TTFB. These guys are the best, they helped us to resolve the issue and now our optimization score is 90
Great extensionI previously used Cache Crawler for Magento 1.9.2 from PotatoCommerce and was completely satisfied with this extension and the professionalism of their support. But last year our site migrated to Magento 2. Guys from Potatocommerce notified me about release of this module for Magento 2, and I was immensely happy to hear this news since I completely trust these guys. I already installed it without any problems, everything is working like a good german car - fast and stable.
Magento CE 2.1.x, 2.2.x, 2.3.x Magento EE 2.1.x, 2.2.x, 2.3.x Compatible Browsers Chrome, Safari, Firefox, Opera, IE8+
- Unix OS
- Php "exec" function
- Php "sys_getloadavg" function
- Php "curl" function
- Download the extension from the account on our store
- Extract the folder and copy it to the root directory of Magento 2 store
- Specify the path in the command line:
php <path to Magento 2 dir>/bin/magento setup:upgrade
- Set permission 755 on files: /website path/shell/potato/warmer.sh
- Make sure that exec function is allowed.
- Make sure cron is installed and configured correctly. Cron setup guide can be found here.
- Install new cron job
*/5 * * * * /website path/shell/potato/warmer.sh
- That's it! Enjoy!
If there is no information in the charts in the Cache Warmer settings, then it may caused by the fact that cron is running from root user on your Magento 2 store. To fix this issue please do the following:
- Open file app/etc/env.php
- Add this node:
'cache' => [ 'frontend' => [ 'default' => [ 'backend_options' => [ 'file_mode' => '0666', 'use_chmod' => true ] ], 'page_cache' => [ 'backend_options' => [ 'file_mode' => '0666', 'use_chmod' => true ] ] ], ]
Changelog1.0.4 (18 March 2019)
1.0.1 (17 November 2018)
1.0.0 (25 May 2018)