Getting Started
Welcome to the Page Cache Warmer documentation.
Whether you are new or an advanced user, you can find some useful information here.
First of all, we recommend that you check out the following link:
- How to install extension
- Page Cache Warmer configuration
How to install the extension
- Back up your store's database and web directory.
- Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
- Copy the installation instructions from the page My Downloadable Products to the SSH console and press ENTER.
- Run the command
php -f bin/magento module:enable Mirasvit_Core Mirasvit_CacheWarmer Mirasvit_Report to enable the extension.
- Run the command
php -f bin/magento setup:upgrade to install the extension.
- Run the command
php -f bin/magento cache:clean to clean the cache.
-
Deploy static view files
rm -rf pub/static/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy
Install the extension for Hyva
-
Run the command
composer require mirasvit/module-cache-warmer-hyva:*
-
Enable installed Hyva modules:
bin/magento module:enable Hyva_MirasvitCacheWarmer Hyva_CompatModuleFallback
-
Update Magento database schema and data with the command:
bin/magento setup:upgrade
-
Compile the code of the installed extension:
bin/magento setup:di:compile
- Run the command below to clean the cache:
bin/magento cache:flush
Page Cache Warmer settings
The settings of Cache Warmer are located at System ▸ Page Cache Warmer ▸ Settings and are grouped into the following sections:
- General Settings - basic configuration of the warming process;
- Performance - allows you to manage the performance of Cache Warmer;
- Extended Settings - advanced settings to fine-tune server load and improve its responsiveness;
- FPC hole punch - settings for excluding individual blocks from caching;
- Debug - provides you with additional debug information about the cache.
General Settings
This section will help you tune up Page Cache Warmer crawler. The crawler is launched regularly based on a cron schedule and begins to traverse the list of available URLs of the store:
- If the URL is already cached, it is skipped;
- If the URL is not in the cache, the crawler will visit it on behalf of an external user to have the page rendered and placed in the cache.
Settings
- Warming Strategy - allows you to define the strategy for warming pages. This setting has 2 options:
- Warm Rules - the default strategy. The extension will warm pages depending on Warm Rules and the Popularity of URLs.
- Warm Rules + URL variations - additionally to the default strategy, the extension will fire additional background processes trying to warm all variations of URLs from the current warming job's queue. The exec() function should be enabled. Can create an additional load on the server.
- Cache Warming Intensity - the extension comes with three predefined performance levels. It also lets you further customize the performance settings.
- High-intensive warming - the crawler uses the full-time interval between warming jobs and without utilizing the server load threshold.
This performance level is recommended for stores installed on high-performance servers with a low load rate.
CURL multi requests should also be available.
- Medium-default mode - the performance level recommended for most Magento stores.
The crawler uses 75% of the time interval between warming jobs.
If the server load rate is higher than 80%, the crawler will not warm the pages in the cache.
CURL multi requests should also be available.
- Low-soft warming - the lightest performance level. It is recommended for stores installed on servers with a high load rate.
With this performance level, the crawler uses only half of the time interval between warming jobs.
If the server load rate is higher than 60%, the crawler will not warm pages in the cache.
CURL multi requests are not required for this performance level.
- Custom-expert mode - allows you to configure the crawler's performance manually. This performance level lets you configure the following parameters:
- Threads - the number of concurrent (parallel) requests to the store.
- Maximum job run time - maximum running time allowed for a crawler job (in seconds).
- Job Schedule - cron expression that schedules warmer jobs. Read more about setting up cron expressions here.
- Don't run the warmer's job if the average system load is more than (%) - If the average system load exceeds this field's value, the warmer's job will not start.
The average system load graph can be found in SYSTEM -> Page Cache Warmer -> Jobs. Read more in this FAQ section.
Extended Settings
Debug
- Show cache status - show block in the store frontend with page cache status.
- Show cache status only for - сomma separated IP addresses, for which infobox should be visible.
- Log warmer requests - log all warmer requests to
/var/log/cache-warmer.log file.
- Log backtrace for cache flushing - if enabled, the extension will save backtraces for cache flushes into the database. Backtraces will be visible on the "Cache Flushes" page provided by the extension. Read more in Cache Warmer Cache Flushes.
- Log tags for cache flushing - logs all cache flushes to
/var/log/cache-warmer-flush.log file.
- Log backtrace for cache flushing - logs backtrace for cache flushes to the
/var/log/cache-warmer-flush.log. For more info on this setting and the previous one, read in this FAQ section.
Cache Warmer Rules
Go to System > Page Cache Warmer > Warm Rules. You will see one or multiple example rules in the list. You can use an existing configurable rule or create your own rules, according to your store-specific goals.

The cache warmer can only process rules one by one, sorted by their priority.
Each rule has the following fields:
- Name - you can set any name
- Is Active
- Priority - rules with higher priority will be processed in the first turn.
- Page Conditios - you can set any filters
- Request Modificators - you can modify HTTP headers of request.
Accept-Encoding: gzip
Cache Warmer Pages
Go to System > Page Cache Warmer > Pages. You will see warmed pages.
- Warm Cache - add the page to the FPC cache.
- Clean Cache - delete the page from the FPC cache.
- Show CURL Request - displays the CURL request that the extension uses to warm the page in the cache.
- Delete - delete the page's URL from pages list.

How do URLs appear in Pages?
- When customers visit pages on your store (most relevant result).
- Manually via ssh with CLI command: crawl.
- By cron.
This page provides you with the statistical charts that display the work of the extension and the full page cache itself.
The info block with charts is divided in 4 sections:
- Cache Coverage (last 24H) - displays how many pages were served from the cache when visited in the browser during the last 24 hours.
- Cache Fill Rate - displays the current status of pages collected by the extension.
- Cache Fill History (last 24H) - this chart displays the varying of the cache fill rate during the last 24 hours. The time on the chart is in GMT.
- Server info - additional information regarding the full page cache:
- Cache Type - caching application configured in the store
- Cache TTL - Lifetime of the full page cache configured in the store
- Average Warming Speed - approximate speed with which the extension warms pages on the store (URLs per hour). Actual current warming speed can be different from this value as it depends on the number of cached/pending pages, cache flushes, etc.
- Check test page button - check here.
Cache Warmer Sources
Sources allow you to configure the sources for URLs of your website.
After configuring and synchronizing your sources, you'll be able to use them according to the conditions of Warm Rules
Synchronization of sources works on the cron basis.
Sources will be synchronized once a day.
The extension also provides you with the ability to synchronize sources using the Command Line Interface.
Note
Flush the page cache before synchronizing sources using CLI commands.
Go to System > Page Cache Warmer > Sources. You will see one or multiple example sources in the list.

The source can be one of 4 types:
- Visitors' actions - URLs adding to the Pages table after someone visited them in the browser or if they were requested by bots. This is the default source. It can't be changed or removed. This source is automatically applied to all customer groups.
- Crawler - If a source of this type has been created, URLs for pages added by our CLI crawler will be assigned to this source. Otherwise, such URLs will be assigned to the default source. Only one source of this type can be created. This source is automatically applied to all customer groups.
- File - URLs adding to the Pages table from the file that are uploaded to the server. Multiple sources of this type can be created.
- Sitemap - URLs adding to the Pages table that are from the sitemap of the website. Multiple sources of this type can be created.
Configuring sources
Press the Add Source button to create a new Source.
You'll see a form for configuring the Source.
In the beginning, you need to pick a source type from the Type dropdown.
Depending on the source type, you'll have different options for configuring the Source.
-
Crawler
For this source type, you are only able to set the Name of the source and make it enabled or disabled (Is Active)

-
File
For this source, along with the Name and Is Active fields, you'll have the Upload button for uploading the source file with URLs.
The extension accepts TXT and CSV files
Each URL should be in a new line.
Also, this source type provides the dropdown Customer Group(s) where you need to choose for which customer groups this Source has to be synchronized.
Both fields are required.

You have to create and generate sitemaps before you'll be able to use them in this source type.

Configuration tips
- If the same URLs are present in different sources, these URLS will be assigned to the latest Source (with the highest ID).
Consider this before creating sources.
- Creating different sources with the same source file or sitemap for different customer groups is not recommended.
For each unique source file or sitemap, one source should be created with all customer groups for which this source needs to be synchronized.
Later, you'll be able to set the priority for warming pages for each customer group using Warm Rules.
- The extension will skip customer groups that don't have any customers during the synchronization process.
However, you still can add such customer groups in the configurations of the Source.
- Before synchronization, the extension will compare the last synchronization date of the Source with the date of the last change of the source file or sitemap.
If the source file or sitemap was changed after the last synchronization of the related Source, the extension will re-synchronize this source on cron bases or with CLI command.
Otherwise, this source will be skipped entirely during the synchronization process.
This allows you to modify the source file directly on your server without needing to re-save the related Source to re-synchronize it.
You are still able to re-synchronize the source without modifying the source file or sitemap after resetting the synchronization date of the source using the Command Line Interface.
Cache Warmer Jobs
Go to System > Page Cache Warmer > Jobs. You will see Cache Warmer Jobs, which are used to warm uncached Pages.

Cache Warmer Cache Flushes
This page represents all cache flushes that happened in the store which affects the Full Page Cache.

Each row represents a cache flush with additional info: the URL that triggered the cache flush, cache tags, reason, date when this action accrued, etc.
If the Log backtrace for cache flushing is set, you'll also be able to check the backtrace of each cache flush by clicking the Inspect Trace link.

Note
Only cache flushes triggered inside the Magento store with the "FPC" cache tag can be logged by the extension.
If the Forbid cache flushes option is enabled in the extension settings, cache flushes will not be logged by the extension as such cache flushes will be prevented from happening.
In this case correlated message will be displayed at the top of this page.

Configuring "Hole Punch"
"Hole Punch" is a special feature of our extension, which allows you to exclude individual blocks from caching.
This way, most parts of the page can still be cached except of selected blocks (so-called holes).
This feature is extremely useful when you have complex pages constructed from multiple templates and multiple blocks, and it can seriously optimize your store.
Note
WARNING: The Hole Punch feature works with File cache only; it does not work with Varnish. It works primarily for standard Magento, and CMS pages and blocks. It can not be applied to blocks which are dynamically generated or loaded with AJAX, such as:
- Embedded product lists, such as Top Sells, or similar;
- Cart Widgets;
- AJAX-dependant dynamic blocks;
- Javascript-generated blocks;
- Complex blocks, added by third-party extensions.
Since "hole punch" does micro-level blocks management, its configuration is a little tricky. Carefully follow these steps below to configure these Hole Punches:
-
Run SSH console, proceed to your store's root, and check your store's mode with bin/magento deploy:mode:show.
-
If the mode is production, switch your store to developer mode with the bin/magento deploy:mode:set developer command.
-
Navigate to System -> Cache Management and disable ALL caches.
-
Navigate to the FPC Hole Punch section of Stores -> Configuration -> Mirasvit Extensions -> Page Cache Warmer, and you will see a configuration table. Press Add to configure a new hole punch, and enter the following parameters:
- Template - path to the template which contains excluded block.
- Block Class - block class can be seen using path hints (see below).
- CMS Block ID - if this block is customized, enter its ID which can be seen at Content -> Blocks.
- Store - store view, for which block excluding should be applied.
-
If you are not familiar with the templates, you can select them using hints. Navigate to Store -> Configuration -> Advanced -> Developer -> Debug section, and enable the following options:
- Enabled Template Path Hints for Storefront - will display paths for templates of your frontend page.
- Add Block Names to Hints - will display block names.
-
Open frontend page, where you must have hole punches, at which point you should see something like what is shown below:

White-colored labels should be put into the Template, and blue-colored into the Block Class options.
Example
- Template:
/.../src/vendor/magento/module-catalog/view/frontend/templates/product/view/form.phtml
- Block Class:
Magento\Catalog\Block\Product\View\Interceptor
-
To check whether hole punch is working successfully, revert the settings from step 5 (if you did them using hints), then navigate to the Debug section Stores -> Configuration -> Mirasvit Extensions -> Page Cache Warmer, and set the following options:
- Show cache status - will display cache info block on frontend pages.
- Hole punch info - will add to your info block hole punch information.
- Show debug hints only for - if you wish for the info box to only be displayed for your developers, enter the IP of their workstation.
-
Clear cache, and open the target frontend page to add it to the cache (at this time, you will see Page miss in info block). Next, refresh the page, and you should see a Page Hit message for this page, but Miss at the excluded block.

- Revert the options enabled in step 7. Switch the store back to production mode with
bin/magento deploy:mode:set production, and purge ALL caches again to apply changes in this mode.
FPC Reports
Note
This functionality will work only for Built-in mode (will not work for Varnish).
Go to
System > Page Cache Warmer > Efficiency Report. You will see FPC Reports.
Average Response Time - the average time for Time To First Byte with cache and without cache.
Hit average response time - the average time for Time To First Byte for pages which are in the cache.
Miss average response times - the average time for Time To First Byte for pages without cache.
Hit Count - quantity of visited cached pages
Miss Count - quantity of visited pages which are out of cache
Visit Count - quantity of visited pages (in cache and out of cache)
Time To First Byte - the time which you can see on following image:
You can read More about Time To First Byte here https://en.wikipedia.org/wiki/Time_To_First_Byte
Command Line Interface
Usage: php -f bin/magento [options]
mirasvit:cache-warmer --warm - warm the pages which you can see in SYSTEM->Page Cache Warmer depending on Performance configurations
mirasvit:cache-warmer --remove-all-pages - remove all pages from the module
mirasvit:cache-warmer:crawl - crawl all store pages
mirasvit:cache-warmer:crawl --unlock - unlock if it was finished incorrectly
mirasvit:cache-warmer:crawl --customer-group-id 1 - crawl all pages for customers with group ID 1
mirasvit:cache-warmer:crawl --cycle_limit 5 - set the cycle limit for crawl command, where the default value is 100. During the first cycle, the crawler visits the Home Page and gathers all the links. The second cycle visits all links from the pages gathered during the first cycle of crawling.
mirasvit:cache-warmer:crawl --store-id 2 - crawl all pages for store with ID 2
mirasvit:cache-warmer:crawl --base-url http://example.com - crawl all pages for the store with the base url http://example.com
mirasvit:cache-warmer:crawl --ignore-query - crawl all pages except pages with query parameters (?)
Note
Arguments for the
mirasvit:cache-warmer:crawl command option can be combined.
Example: mirasvit:cache-warmer:crawl --ignore-query --unlock
mirasvit:cache-warmer:sync-source - synchronize URLs from configured Sources
mirasvit:cache-warmer:sync-source --source-id 2 - synchronize the source with ID 2
mirasvit:cache-warmer:sync-source --reset - reset synchronization date of the Source(s). It will not start the synchronization automatically after resetting the synchronization date.
mirasvit:cache-warmer:sync-source --unlock - unlock if it was finished incorrectly
Note
Arguments for the
mirasvit:cache-warmer:sync-source command option can be combined.
Examples:
mirasvit:cache-warmer:test - for the purpose of a module test
Note that arguments for the mirasvit:cache-warmer:crawl command option can be combined.
Example: mirasvit:cache-warmer:crawl --ignore-query --unlock
Frequently asked questions
- What do Page Cache warmer do?
- How can I ensure that the full page cache is working?
- What can I do if all pages have "Pending" status?
- How do I check if my pages are cacheable?
- How can I make pages cacheable?
- How can I stop cache flushing?
- How can I control the average system load?
- What do I do if Varnish returns different caches for different user-agents?
What does Page Cache warmer do?
Page Cache Warmer is a crawler (powered by Magento Cron job) which visits uncached pages like users, and adds those pages to the cache. As more pages are in cache, as a whole, the store will operate more quickly.
It can be used by either Magento standard Cache or Varnish, and also works with other cache types (like Redis) without any problem.
Note
If you use Varnish, please make sure that it is configured correctly. Refer
here for more info.
How can I ensure that the full page cache is working?
There are a few ways you can check that the full page cache is working correctly on your website:
-
Our extension provides a test page with which you can check that the full page cache is working properly.
The link for the testing page is placed on the Pages page of our extension.

This link leads to a test page that checks the current status of your FPC cache.
The test page refreshes every 5 seconds.
When you visit this page for the first time - you'll see "Checking..." as the status.
At the first visit to this page, our extension can't be aware of the FPC cache is working or not.

After the page refreshes (which happens automatically), the test page will show the current status of the FPC cache.
If the full page cache is working properly - you should see a "CACHED" status.
If the full page cache not working - you should see a "NOT CACHED" status.

-
How do I check if my pages are cacheable?
-
Check the response time for the page (this check can be used without our extension).
- Flush the FPC cache on your website.
- In the new tab of the browser, open the developer tools and there open the "Network" tab.
- Visit any page of your website and check the response time for the HTML document served from your server (the first line in the "Network tab grid).

- Refresh the page and check the response time for the HTML document.
If the page is cached - the response time should be significantly less then at the first visit.
If the page is not cached - the response time for the HTML document will be almost the same as at the first visit.
Note
This test can show that the page is not cached even when the FPC cache is working correctly.
This may happen if the page you are testing contains uncacheable blocks.
It's better to check a few pages with different types as in this case, it will give the correct result for FPC cache. Otherwise, you'll just check the ability to be cached for a particular page.
What can I do if all pages have "Pending" status?
Our extension will work with your store only if Varnish has been configured correctly or if you have switched caching mode to Built-in. This mode is governed by the STORES -> Configuration -> ADVANCED -> System -> Full Page Cache -> Caching Application option, which can have two cases:
Case 1: Varnish:
-
If you have set caching mode to Varnish Cache (Recommended), make sure that Varnish is installed on the server.
Use this command to do so: varnishd -V.
If the result is correct, you should see the Varnish version, as shown below.

-
Set the Show cache status to Yes at the STORES -> Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Debug section. It will show whether your pages are actually cached.
If you visit the frontend Category or Product page, you should see a Page Hit message, as shown below:

If the page is not cached, you will see Page Miss, and a list of not cacheable blocks:

In this case, refer to How can I make pages cacheable? section for further actions.
-
If you see Page Miss on most pages without a list of non-cacheable blocks, then switch caching mode to Built-in mode and follow the steps described in the Case 2: Built-in Cache section.
- If, after all these steps, you see Page Hit on most pages (caching mode set to Built-in Cache), most likely Varnish is not configured to work with Magento. You can verify this using this way.
Case 2: Built-in Cache:
- If you have set the caching mode to Built-in Cache, then set Show cache status to Yes at the STORES -> Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Debug section.
- Visit the frontend Category or Product pages of your store to check whether they're actually cached.
- If you see Page Miss there, you need to fix the caching settings. Refer to How can I make pages cacheable? for further steps.
How do I check if my pages are cacheable?
- Switch store to Built-in Cache at STORES -> Configuration -> ADVANCED -> System -> Full Page Cache -> Caching Application, and set Show cache status to Yes, as in the previous case.
-
Visit the frontend Category or Product pages of your store to check whether they're actually cached.
If the page is cached, you will see a Page Hit message, as shown below:

If you see a Page Miss message with a list of not cached blocks, as shown below

then the pages are not actually cached. Refer to the How can I make pages cacheable? section for further steps.
How can I make pages cacheable?
Variant 1 (from version 1.1.21)
-
Make sure that the page is not cached, using the Show cache status option, set to Yes, and look for the special info box which appears after it:

-
Set the Forcibly make pages cacheable option to Yes at Stores -> Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Extended Settings.
-
Purge ALL in Cache Management and revisit the page with Show cache status still enabled. You should see a Page Hit message:

Variant 2
-
Make sure that the page is not cached, using the Show cache status option, set to Yes, and look for the special info box which appears after it:

-
Connect to your server via SSH, and run the following command:
grep -r "[your_block_name].*cacheable" * --include="*.xml"
where [your_block_name] is a block which you can select in the section Not cacheable blocks. It will give you the list of layout files that govern that block.
Example
A typical SSH session with layout files listing should look like what you see below. Let the block's name be
authorization-link-login
cd [magento_root_folder]/app/code
grep -r "authorization-link-login.*cacheable" * --include="*.xml"
cd [magento_root_folder]/app/design
grep -r "authorization-link-login.*cacheable" * --include="*.xml"
The output should look like:
[custom_theme]/Magento_Customer/layout/default.xml <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link-login" cacheable="false" template="account/link/authorization.phtml"/>
-
Make sure that the layout does not explicitly forbid caching.
Open the files which you obtained in the previous step, and search for a block record which should have the following expression in its header:
name="BLOCK_NAME"
BLOCK_NAME is the same name as what you saw in the previous step. Remove the attribute cacheable="false" from that record if it exists.
-
Purge ALL in Cache Management and revisit the page with Show cache status still enabled. You should see a Page Hit message:

How can I stop cache flushing?
Our Cache Warmer extension does not have the means for cache flushing, and so it can't be the cause of cache flushing.
However, you can see how often your store's cache is flushed using the Fill Rate graph, available at System -> Page Cache Warmer -> Pages.

If flushing is performed too often, you can use logs to see the reasons. To enable this, use the options below at the Stores -> Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Debug section:
- Log tags for cache flushing - is applied to the log each flush schedule.
- Log backtrace for cache flushing - is applied to the log modules which start flushing.
The result will be recorded to the file /var/log/cache-warmer-flush.log.
The most common causes of flushing are reindexing (FPC also flushes cache on reindexing) or re-saving products (FPC also flushes frontend pages, which are associated with a particular product).
Products can also be updated using external WebAPI services, which can trigger cache flushing.
In this and similar cases, you need to configure your system not to save products too often and trigger reindexing not more than once per day.
If it is impossible for some reason, you can disable flushing completely by setting the Forbid cache flushing option to Yes, at Stores ->Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Extended Settings.
Note
If you have enabled Forbid cache flushing, changes at the Category and Product pages won't apply unless you manually purge the cache from System -> Cache Management, or cache will expire (depends from TTL set in Magento settings).
How can I control the average system load?
Our extension does not have tools for system load balancing.
However, at SYSTEM->Page Cache Warmer->Jobs, we have a graph Average system load, which will help you identify bottlenecks.

You can also reduce system load by setting a threshold limit for Cache Warmer jobs with the option Don't run the warmer job if the average system load is more than (%) at Stores ->Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Extended Settings section.
If this option is set, whenever warming jobs are started, our extension will check the current load level, and if it is equal to or greater than the entered load percentage, the jobs won't start.
The recommended value for this option is 70 or 80.
What do I do if Varnish returns different caches for different user-agents?
Your Apache or Nginx may return the header Vary:User-Agent.
This tells Varnish that distinct user agents should be cached differently.
There is a great description of the problem available at https://www.fastly.com/blog/best-practices-using-vary-header .
You can solve it if you add the following to your Apache config:
Header set Vary "Accept-Encoding"
Or the following to your Varnish config:
if (req.http.User-Agent ~ "(Mobile|Android|iPhone|iPad)") {
set req.http.User-Agent = "mobile";
} else {
set req.http.User-Agent = "desktop";
}
How to upgrade extension
To upgrade the extension, take the following steps:
- Back up your store's database and web directory.
- Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
- Run the command
composer require mirasvit/module-cache-warmer:* --update-with-dependencies to update the current extension with all dependencies.
Note
If you have the Hyva, run:
composer require mirasvit/module-cache-warmer:* mirasvit/module-cache-warmer-hyva:* --update-with-dependencies
Note
In some cases, the command above is not applicable, or it's not possible to update just the current module, and you need to upgrade all Mirasvit modules in a bundle. In this case, the command above will have no effect.
Instead, run the composer update mirasvit/* command. It will update all Mirasvit modules installed in your store.
- Run the command
php -f bin/magento setup:upgrade to install updates.
- Run the command
php -f bin/magento cache:clean to clean the cache.
-
Deploy static view files
rm -rf pub/static/*; rm -rf var/view_preprocessed/*; php -f bin/magento setup:static-content:deploy
Disabling the Extension
Temporarily Disable
To temporarily disable the extension, please follow these steps:
- Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
- Run the command
php -f bin/magento module:disable Mirasvit_CacheWarmer to disable the extension.
Note
If you have the Hyva, run:
php -f bin/magento module:disable Mirasvit_CacheWarmer Hyva_MirasvitCacheWarmer
- Log in to the Magento backend and refresh the store cache (if enabled).
Removing the Extension
To uninstall the extension, please take the following steps:
- Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
- Run the command
composer remove mirasvit/module-cache-warmer to remove the extension.
Note
If you have the Hyva, run:
composer remove mirasvit/module-cache-warmer mirasvit/module-cache-warmer-hyva
- Log in to the Magento backend and refresh the store cache (if enabled).
Change Log
1.11.8
(2026-04-09)
Improvements
- Stale warming jobs are now marked with a "timeout" status instead of being silently closed, making it easier to spot jobs that didn't finish in time
- Job errors are now logged with details for easier troubleshooting
Fixed
- Fixed warming locks never being released if a job crashed, which blocked all future warming runs until the store cache was manually cleared — locks now automatically expire after a safe timeout
- Fixed a single failing warming job stopping all remaining jobs in the queue — each job is now handled independently, and warming stops only after 3 consecutive failures
- Fixed an inverted lock condition that could allow concurrent warming runs or prevent legitimate runs from starting
1.11.7
(2026-03-26)
Improvements
- Improved detection of TTL-expired pages during cache status updates — pages re-cached by organic traffic now have their
cached_at timestamp refreshed, preventing repeated unnecessary checks
1.11.6
(2026-03-24)
Features
- Retry failed warming requests — new configuration option to control whether failed warming requests are retried (previously always retried, now opt-in)
Improvements
- TTL-aware cache status updates — pages whose cache has expired based on TTL are now prioritized during status checks
- ⚠️ New database index on
(main_rule_id, status, cached_at) for improved query performance
- Compatibility with Magento 2.4.9
1.11.5
(2026-02-11)
Fixed
- Fixed "Trying to access array offset on null" error in cache fill rate calculation when no pages exist
1.11.4
(2025-12-17)
Fixed
- Fixed pages being collected and processed incorrectly when a custom base link URL (with custom store route) is configured in multistore setups
1.11.3
(2025-10-21)
Fixed
- Fixed unescaped output in admin templates for improved security (XSS hardening)
1.11.2
(2025-10-06)
Improvements
- Improved checkout page detection for cache tracking exclusion — now correctly excludes third-party checkout modules (e.g., Amasty OnePageCheckout)
1.11.1
(2025-07-29)
Fixed
- Fixed warm job custom cron expression not working as expected after the 1.10.3 settings restructuring
1.11.0
(2025-06-23)
Improvements
- WCAG 2.2 AA compliance improvements across admin and frontend templates
- Crawler and sources user-agents updated to modern browser signatures, with automatic background migration of existing page data
1.10.15
(2025-06-12)
Improvements
- Improved sitemap source sync for child sitemap files with custom or non-standard paths — now uses proper URL parsing for reliable path resolution
1.10.14
(2025-06-12)
Improvements
- Code quality annotation added for sitemap source processing
1.10.13
(2025-06-02)
Fixed
- Fixed page cache identifier interface detection for multistore instances running Magento 2.4.7+ with ACSD-62591 patch applied
1.10.12
(2025-05-26)
Features
- Exclude cookies from warmup queue — configure which cookies to ignore when building page cache identifiers, with sensible defaults for analytics cookies
Fixed
- Fixed page status checking for multistore instances running Magento 2.4.7+ with ACSD-62591 patch (new PageCacheId abstraction)
1.10.11
(2025-05-12)
Improvements
- Added detection of Mirasvit Brand filter pages for proper page type classification
- Added configurable delay between crawler requests to reduce server load
- Debug toolbar now checks authorization via AJAX before rendering, preventing it from showing to unauthorized users on Varnish-cached pages
Fixed
- Fixed SEO filter page detection logic (was always evaluating to true due to assignment instead of comparison)
1.10.10
(2025-04-10)
Improvements
- Compatibility with Magento 2.4.8 (updated method signatures with return type declarations)
1.10.9
(2025-03-19)
Improvements
- Cache statistics tracking is now automatically skipped on checkout pages
1.10.8
(2025-02-21)
Improvements
- Added NitroPack cache detection and compatibility — admin info panel and debug toolbar now correctly identify NitroPack cache status
1.10.7
(2025-02-05)
Fixed
- Fixed HTTP auth credentials not being read after the 1.10.3 settings restructuring (added fallback to legacy config paths)
1.10.6
(2025-01-29)
Improvements
- Improved database queries for cache status checking
1.10.5
(2025-01-20)
Fixed
- Fixed compatibility issue with Magento 2.3.x
1.10.4
(2025-01-13)
Fixed
- Fixed regex expression validation on config save broken by the 1.10.3 settings restructuring
1.10.3
(2025-01-13)
Improvements
- Redesigned admin configuration panel — settings regrouped into logical sections with improved tooltips, documentation, and styling
- ⚠️ System configuration group IDs changed (e.g.,
performance → performance_settings) — may affect third-party integrations referencing old config paths
1.10.2
(2025-01-08)
Fixed
- Fixed layout merging conflict with Hyva-based themes by refactoring from class preference to plugin approach
1.10.1
(2024-12-16)
Fixed
- Fixed error during execution of the
mst_cache_warmer_update_pages cron job when URLs don't match any configured warm rules
1.10.0
(2024-12-09)
Features
- Customer Group column — added filterable "Customer Group" column to the Pages grid
Improvements
- Statistics charts updated with improved visualizations
- Cache fill rate calculation now considers page popularity for more accurate reporting
- Server load detection improved
1.9.13
(2024-10-16)
Improvements
- Extended "Forbid cache flushing" feature to work with LiteMage cache
1.9.12
(2024-10-10)
Fixed
- Fixed warming pages with FishPig Bolt FPC — now checks both module presence and enabled status in config, and handles case-insensitive header detection
1.9.11
(2024-10-08)
Fixed
- Fixed incorrect page statuses when FishPig Bolt FPC is used (added
X-Bolt-Id header detection)
1.9.10
(2024-08-05)
Features
- Clean cache from toolbar — added a "Clean Cache" link in the debug toolbar that clears cache for the current page with one click
1.9.9
(2024-06-07)
Improvements
- Minor JavaScript improvements in toolbar and tracking scripts
1.9.8
(2024-05-09)
Improvements
- Compatibility with Mirasvit GDPR 1.4.x — cache warmer cookies registered as required cookies for cookie consent
1.9.7
(2024-03-27)
Fixed
- Fixed extension functionality (cache flush logging, toolbar, tracking) still running when the extension is disabled in configuration — now properly checks enabled status across all components
1.9.6
(2024-03-25)
Improvements
- Added informational messages for Visitors' actions and Crawler sources when running the
sync-source CLI command
1.9.5
(2024-03-11)
Improvements
- Pages with uncacheable status for more than 90 days are now automatically removed during cron cleanup
1.9.4
(2024-03-01)
Improvements
- Ability to create the "Visitors' actions" source from the admin panel if it wasn't added during install/upgrade
- Admin panel now shows warnings when the default source is missing or data version needs updating
1.9.3
(2024-02-27)
Improvements
- Store label added to sitemap dropdown in source configuration
- Field validation added to admin forms
Fixed
- Fixed the extension stopping when the
trace_id field in mst_cache_warmer_trace reaches the integer limit
1.9.2
(2024-02-23)
Features
- PHPSESSID cookie control — new "Use PHPSESSID cookie in requests" configuration option (opt-in) for the session-reuse feature introduced in 1.9.1
Fixed
- Fixed error when loading the Pages grid with a very large number of pages (500k+)
- Improved template output escaping for security hardening
1.9.1
(2024-02-05)
Improvements
- Reduced number of PHP sessions created by the warmer — crawler now reuses sessions by sending a deterministic PHPSESSID cookie
1.9.0
(2023-08-31)
Improvements
- Compatibility with FastlyCDN (Magento Cloud) — changed warmer status check response to HTTP 202 with
Cache-Control: no-store header
Fixed
- Fixed mass delete for sources in the admin panel
1.8.9
(2023-08-01)
Fixed
- Fixed error on Warm Rule edit page (Magento Commerce/EE compatibility)
1.8.8
(2023-07-10)
Fixed
- Fixed errors on popularity update requests (PHP 8.1 compatibility)
- Fixed link to user manual
1.8.7
(2023-07-03)
Fixed
- Fixed "mb_convert_encoding(): Unable to detect character encoding" errors in debug mode
1.8.6
(2023-06-23)
Improvements
- Added Fastly CDN cache type recognition in admin info panel and debug toolbar
Fixed
- Fixed default source being editable when it should be read-only
1.8.5
(2023-06-20)
Fixed
- Fixed pages not being collected when a config-dependent noncacheable block is present in the page layout
1.8.4
(2023-06-14)
Fixed
- Fixed error on Cache Flushes page (Magento Commerce/EE)
1.8.3
(2023-04-24)
Fixed
- Fixed "Impossible to process constructor argument" error on
module:uninstall
1.8.2
(2023-03-24)
Improvements
- Fixed CMS home page identification to use configured home page instead of hardcoded value
Fixed
- Fixed memory exhaustion when running
mirasvit:cache-warmer --remove-all-pages — now uses bulk table truncation instead of iterating over each page
1.8.1
(2023-03-17)
Fixed
- Fixed sitemaps being broken when debug mode is enabled (debug styles were injected into sitemap XML)
1.8.0
(2023-01-24)
Improvements
- CLI crawler output improved with better progress reporting
- Avoided unnecessary upgrade script execution on repeated deployments
1.7.11
(2023-01-16)
Fixed
- Fixed database upgrade errors when upgrading from pre-1.7.0 versions (corrected patch classification)
1.7.10
(2022-12-05)
Improvements
- Warm rules are now automatically re-evaluated when page popularity changes
1.7.9
(2022-12-05)
Fixed
- Fixed FishPig Bolt FPC being incorrectly detected as disabled full page cache
1.7.8
(2022-11-22)
Fixed
- Fixed PHP deprecation warning "curl_multi_exec(): Passing null to parameter #2 of type int is deprecated"
1.7.7
(2022-11-04)
Fixed
- Fixed jQuery.cookie compatibility issue with Magento 2.4.5
1.7.6
(2022-10-19)
Improvements
- Prevented unnecessary config cache flushes during the update-pages cron job
- Code quality improvements for Magento Marketplace compliance
1.7.5
(2022-09-22)
Improvements
- Debug toolbar now displays correctly by IP when Varnish is enabled
Fixed
- Fixed minicart not updating when FPC is disabled on Hyva themes
- Fixed console commands not returning proper exit codes
1.7.4
(2022-07-19)
Fixed
- Fixed "Call to undefined method Logger::err()" error
1.7.3
(2022-06-22)
Fixed
- Fixed conflict with Magento's built-in ChartJs library version
1.7.2
(2022-06-20)
Fixed
- Fixed potential database schema conflicts during upgrades
1.7.1
(2022-06-13)
Fixed
- PHP 8.1 compatibility fix in CURL service
1.7.0
(2022-05-23)
Improvements
- ⚠️ Migrated database schema from legacy install/upgrade scripts to Magento declarative schema (
db_schema.xml) and data patches — removed 20+ legacy setup files
1.6.14
(2022-05-17)
Improvements
- Updated mirasvit/module-report dependency
1.6.13
(2022-03-14)
Fixed
- PHP 8.1 compatibility — refactored Logger to use plugin-based approach and fixed type-related issues
1.6.12
(2022-01-20)
Improvements
- Crawler now stops automatically if a referenced customer group no longer exists or has no customers
1.6.11
(2022-01-11)
Fixed
- Fixed default source operations with custom
auto_increment step in database
1.6.10
(2022-01-05)
Features
- Configurable crawler delay — added setting to control delay between crawler requests to reduce server load
Fixed
- Fixed "Call to a member function getIsActive() on bool" error with custom
auto_increment step in database
1.6.9
(2021-12-17)
Improvements
- Cache records now vary based on design settings and User-Agent rules, creating separate cache entries for different device types
1.6.8
(2021-11-02)
Improvements
- Consolidated server load statistics into the main info panel
- Improved admin grid layouts and chart styling
1.6.7
(2021-10-13)
Improvements
- Removed unnecessary product and category save plugins for better performance
- Skip cache flush tracking during performance fixture generation
1.6.6
(2021-10-13)
Fixed
- Fixed trace/backtrace display in the Cache Flushes grid when the flush reason is not detected
1.6.5
(2021-10-06)
Features
- Disable cache flush backtraces — option to stop saving cache flush backtraces to the database while still recording the flush reason
- Disable default source — option to disable the default URL source
1.6.4
(2021-09-20)
Fixed
- Fixed crawler not sending store cookie in multistore setups
1.6.3
(2021-09-01)
Fixed
- Fixed warm rule request modifiers not being applied when generating CURL strings or warming pages from the admin panel
1.6.2
(2021-08-25)
Fixed
- Fixed unable to get server load rate on some operating systems
1.6.1
(2021-07-30)
Fixed
- Fixed ChartJs library missing on Magento < 2.4.0 (bundled library added)
- Updated composer dependency requirements
1.6.0
(2021-07-15)
Improvements
- Improved statistics chart layout for small screens
1.5.9
(2021-07-13)
Improvements
- Redesigned admin statistics panel with ChartJs-based charts and warmer speed tracking
1.5.8
(2021-07-02)
Features
- Page variations warming — ability to warm different variations of the same page (e.g., different customer groups or currencies)
1.5.7
(2021-06-15)
Fixed
- Fixed default source not updating automatically when customer groups are added or removed
1.5.6
(2021-05-20)
Improvements
- CLI crawler now assigns the crawler source to pages when an active crawler source exists
Fixed
- Fixed negative values appearing in the efficiency report
1.5.5
(2021-05-05)
Fixed
- Fixed cache warmer test pages being indexed by search engines (added noindex/nofollow)
1.5.4
(2021-04-27)
Improvements
- Improved lock manager reliability
1.5.3
(2021-04-21)
Fixed
- Fixed lock manager compatibility with Magento 2.3.x
1.5.2
(2021-04-06)
Improvements
- Added configurable time threshold for ignored pages cleanup during cron
1.5.1
(2021-04-05)
Improvements
- Added lock manager to prevent concurrent cron executions
- Cron job scheduling optimized
Fixed
- Fixed sitemap source synchronization issue
1.5.0
(2021-03-23)
Fixed
- Fixed filter by Warm Rules not working correctly in the Pages grid
1.4.9
(2021-03-18)
Fixed
- Fixed inactive warm rules still appearing in the Pages grid filter
1.4.8
(2021-02-26)
Improvements
- Improved update of pages by warm rules — better rule matching and assignment
1.4.7
(2021-02-11)
Fixed
- Fixed URLs not being added from file-based sources in some cases
1.4.6
(2021-02-05)
Improvements
- Added ability to parse segmented sitemaps (sitemaps split into multiple files)
1.4.5
(2021-02-04)
Features
- URL sources — configure multiple URL sources including sitemaps, crawlers, files, and visitor actions
1.4.4
(2021-01-22)
Features
- Predefined performance levels — choose from preset performance configurations for quick setup
Improvements
- Overall performance optimizations
1.4.3
(2020-12-24)
Fixed
- Fixed warming pages not working (regression from 1.4.1)
1.4.2
(2020-12-23)
Fixed
- Fixed compatibility check error
1.4.1
(2020-12-21)
Improvements
- Improved database query execution performance
- Improved ignored pages cleanup performance
1.4.0
(2020-12-09)
Improvements
- Improved cleanup cron job efficiency
1.3.37
(2020-11-09)
Fixed
- Fixed "Call to a member function on boolean" warning
1.3.36
(2020-11-05)
Fixed
- Fixed potential performance issue with database queries
1.3.35
(2020-11-03)
Fixed
- Fixed XSS vulnerability in template output
1.3.34
(2020-11-03)
Improvements
- Debug toolbar and cache information now shows the cache backend type (e.g., Redis) when used
1.3.33
(2020-10-28)
Fixed
- Fixed trace display on Magento 2.4
1.3.32
(2020-10-28)
Fixed
- Fixed test page functionality
1.3.31
(2020-10-20)
Improvements
- Improved Cache Flushes page layout and information display
1.3.30
(2020-09-25)
Improvements
- Improved test page with better diagnostics
- Improved page status checking for Varnish
- Improved debug popup layout and information
1.3.29
(2020-08-18)
Fixed
- Fixed page status display in debug toolbar on Safari browser
1.3.28
(2020-08-12)
Improvements
- Debug toolbar now displays on first visit (without existing cookies)
Fixed
- Fixed log data retention — now automatically keeps only the last 3 months of data
- Fixed page type classification for URLs with advertising query parameters (e.g., AdWords gclid)
1.3.27
(2020-07-29)
Improvements
- Compatibility with Magento 2.4
1.3.26
(2020-06-16)
Fixed
- Fixed clearing cache for CMS pages from admin panel when Varnish is used
1.3.25
(2020-03-19)
Fixed
- Fixed saving ignored page types after all page types are unselected (regression from 1.3.24)
1.3.24
(2020-03-12)
Features
- Ignored page types — configure which page types should be excluded from cache warming
Fixed
- Fixed pages being deleted by
mst_cache_warmer_cleanup cron job when database table prefix is used (regression from 1.3.18)
1.3.22
(2020-01-24)
Fixed
- Fixed editing warm rules on Magento 2.1.x ("unserialize(): Error at offset" — regression from 1.3.12)
1.3.21
(2020-01-20)
Features
- Disable statistics collection — option to disable the
/cache_warmer/track requests
1.3.20
(2019-12-16)
Improvements
- Improved page cache status checking
1.3.19
(2019-11-29)
Fixed
- Fixed missing page types on fresh installation
1.3.18
(2019-11-12)
Improvements
- Added error logging in the job trace for better debugging
Fixed
- Fixed asymmetric transaction rollback error
- Fixed PHP out-of-memory error during page processing
1.3.17
(2019-11-01)
Fixed
- Fixed checkout issues in Safari 7.x and older
1.3.16
(2019-10-21)
Fixed
- Fixed server load rate calculation
- Fixed asymmetric transaction rollback error
1.3.15
(2019-09-19)
Fixed
- Fixed error when removing duplicates from empty pages table
- Fixed attachment links being incorrectly collected as pages
1.3.14
(2019-08-22)
Fixed
- Fixed server load rate calculation on certain server configurations
- Fixed URL pattern expression handling
- Fixed update process error
1.3.13
(2019-08-19)
Fixed
- Fixed error when saving warm rules
1.3.12
(2019-08-15)
Improvements
- Added serializer helper for better data handling across Magento versions
- Improved CLI command and warm rule configuration
1.3.11
(2019-06-13)
Improvements
- Improved SQL query performance
- Added ability to completely disable toolbar AJAX requests
Fixed
- Fixed pages returning 404/301/302 status codes now being automatically removed from the queue
1.3.10
(2019-05-03)
Fixed
- Fixed crawl command not correctly processing URLs without a base path
1.3.9
(2019-05-02)
Features
- Ignore pattern notification — debug toolbar now shows when a page is excluded by an ignore pattern
Fixed
- Fixed data migration from older versions
- Fixed saving store view in FPC hole punch settings
1.3.8
(2019-04-26)
Fixed
- Fixed warming issue introduced in 1.3.6
1.3.7
(2019-04-24)
Fixed
- Fixed warming issue introduced in 1.3.6
1.3.6
(2019-04-22)
Improvements
- Moved setup data migration to background processing via cron
1.3.5
(2019-04-18)
Fixed
- Fixed "Page already exists. Unable to save a duplicate" errors
1.3.4
(2019-04-16)
Fixed
- Fixed potential errors during extension upgrade from old versions
1.3.3
(2019-04-12)
Fixed
- Fixed status update not respecting priorities and scope defined by warm rules
1.3.2
(2019-04-09)
Improvements
- Console crawler now shows error messages when it cannot open a URL
Fixed
- Fixed "Unable to upgrade because of very long URLs" error (since 1.3.0)
1.3.1
(2019-04-02)
Improvements
- Improved monitoring of cache status
- Removed vary data modifier from warming rules
1.3.0
(2019-03-28)
Improvements
- Improved cache status management with better page tracking
1.2.18
(2019-03-27)
Features
- Crawling for logged-in customers — warm cache for different customer group pages
Fixed
- Fixed conflicts with some third-party extensions
1.2.16
(2019-03-11)
Improvements
- Google gclid parameters are now automatically removed from tracked URLs
- Allow crawling pages without vary data on Varnish and non-default stores
1.2.15
(2019-02-28)
Fixed
- Fixed "Cannot use Command because the name is already in use" error on Magento 2.1 with PHP 5.6
- Fixed "Could not resolve host" error on some server configurations
1.2.13
(2019-02-07)
Improvements
- Reduced excessive cache flush logging
Fixed
- Fixed incorrect
X-Magento-Cache-Debug header
- Fixed URL duplicates in pages list
- Fixed "unserialize(): Error at offset" in ExtendedConfig
- Fixed compilation error without database access
1.2.12
(2019-01-08)
Improvements
- URLs that fail with errors multiple times are now automatically removed
Fixed
- Fixed cache flush messages not appearing in production mode
- Fixed
mirasvit:cache-warmer:test console command failing with error
1.2.10
(2018-12-18)
Features
- Cache fill rate chart — visual chart showing cache fill rate over time
Fixed
- Fixed FPC hole punch not working when template is in a non-default theme
- Fixed warm rules not applying store filter correctly (requires cleaning
mst_cache_warmer_page table)
- Fixed potential out-of-memory errors during log cleanup by cron
- Fixed incorrect cache headers on AJAX requests
- Fixed pages not being added to queue when store uses a direct IP address
- Fixed potential SSL certificate verification issues
1.2.8
(2018-12-05)
Fixed
- Fixed error during log cleanup (regression from 1.2.6/1.2.7)
- Fixed debug mode adding HTML to non-HTML pages (e.g.,
/robots.txt)
1.2.7
(2018-12-04)
Improvements
- Compatibility with Magento 2.3
- Improved trace log cleanup
Fixed
- Fixed extension potentially breaking AJAX calls of third-party extensions
- Fixed warming rules for customer groups
1.2.5
(2018-11-29)
Fixed
- Fixed admin rendering on Magento 2.1
- Fixed "Class Json does not exist" error on Magento 2.1 (since 1.2.0)
1.2.4
(2018-11-28)
Improvements
- Improved old log cleanup conditions
Fixed
- Fixed pages not being added to the warming list
1.2.3
(2018-11-23)
Fixed
- Fixed error when running crawl via SSH (regression from 1.2.2)
1.2.2
(2018-11-22)
Fixed
- Fixed "Argument 2 passed to WarmerService::warmCollection()" error when warming cache via admin (regression from 1.2.0)
1.2.0
(2018-11-09)
Features
- Cache clean trace — track and view what triggered each cache flush
- Warm Rules — priority-based system for controlling which pages get warmed first and how
Improvements
- Crawler now shows an error when HTTP authorization is configured but credentials are missing
Fixed
- Fixed incorrect cache hit rate calculation
- Fixed some pages not being warmed on Magento 2.1
- Fixed debug toolbar adding HTML to
/robots.txt when the file is missing
- Fixed 301 redirects being logged as errors
1.1.62
(2018-10-29)
Fixed
- Fixed stored serialized vary data preventing correct warming of queued URLs
1.1.61
(2018-10-26)
Improvements
- Added CURL command display for individual pages in the admin grid
1.1.60
(2018-10-25)
Improvements
- Added CURL information to trace for debugging
- Warming is now automatically skipped when page cache is disabled
1.1.59
(2018-10-24)
Features
- HTTP authentication support — configure HTTP auth credentials for warming protected sites
Fixed
1.1.58
(2018-10-24)
Improvements
- FishPig Bolt FPC compatibility
1.1.57
(2018-10-24)
Improvements
- Pages are now removed from the queue only after 3 unsuccessful warming attempts (previously removed after first failure)
1.1.56
(2018-10-22)
Fixed
- Fixed unserialize error when processing cached data
1.1.55
(2018-10-17)
Improvements
- Improved statistics charts
- Added cache clean event logger
1.1.53
(2018-10-11)
Improvements
- Improved trace functionality with better timing information
Fixed
- Fixed time display in trace
- Fixed crawler not following redirects
1.1.52
(2018-09-24)
Features
- Ignored User-Agents — option to exclude specific user-agents from cache tracking
Improvements
- Job execution now stops after 3 consecutive errors to prevent resource waste
Fixed
- Fixed out-of-memory crashes during warming
1.1.51
(2018-08-31)
Improvements
- Old log entries are now automatically cleaned up by cron (30-day retention)
1.1.50
(2018-08-30)
Improvements
- Slightly improved Time To First Byte (TTFB)
1.1.49
(2018-08-30)
Improvements
- New visitors now receive the same cached pages (improved cache hit rate for first-time visitors)
1.1.48
(2018-08-27)
Fixed
- Fixed "Read timed out after 60 seconds" error on some store configurations
1.1.47
(2018-08-27)
Features
- Coverage rate — new metric showing what percentage of pages are cached
Fixed
- Fixed "Invalid URI supplied" error for URLs longer than 255 characters
- Fixed crawler rate limiting not matching the configured "Crawler limit" setting
- Fixed "Read timed out after 60 seconds" error on some store configurations
1.1.46
(2018-08-20)
Features
- Varnish cache status — debug toolbar now shows cache status for Varnish-cached pages
Fixed
- Fixed popularity tracking for Varnish setups
- Added detection of third-party extensions that may break Magento Page Cache
1.1.45
(2018-08-13)
Improvements
- Added info panel showing third-party extensions that may affect Magento Page Cache
1.1.44
(2018-08-03)
Fixed
- Fixed "Unable to Connect to ssl:..." error
- Fixed error when FPC Hole Punch is enabled for widgets
1.1.43
(2018-07-26)
Fixed
- Fixed error during Magento compilation (DI)
1.1.42
(2018-07-26)
Features
- Forbid empty cache — prevent empty pages from being cached or returned from cache
Improvements
- Added ability to set protocol (HTTP/HTTPS) in CLI warmer
Fixed
- Fixed "Flush Magento Cache" from admin panel being blocked when "Forbid cache flushing" is set to "Yes"
1.1.41
(2018-07-24)
Fixed
- Fixed CLI warmer when "Warm mobile pages separately" option is enabled
1.1.40
(2018-07-13)
Fixed
- Fixed configuration value not being read correctly on some store setups
1.1.39
(2018-07-13)
Fixed
- Fixed page type disappearing from page records
1.1.38
(2018-07-12)
Fixed
- Fixed crawler not working when "Add Store Code to URLs" is set to "Yes"
1.1.37
(2018-06-28)
Features
- Forcibly make pages cacheable by type — force specific page types to be cacheable even if they contain noncacheable blocks
1.1.36
(2018-06-23)
Improvements
- Pages are now warmed in order of page type priority
1.1.35
(2018-06-23)
Fixed
- Fixed crawling for URLs without domain names
1.1.34
(2018-06-15)
Improvements
- Mobile pages now use empty vary data for better cache compatibility
1.1.33
(2018-06-14)
Features
- Warm mobile pages separately — option to create and warm separate cache entries for mobile devices
1.1.32
(2018-06-13)
Features
- Currency-based warming — ability to prewarm stores for different currencies
1.1.31
(2018-06-11)
Improvements
- Cleaned up deprecated CLI command options
1.1.30
(2018-06-11)
Improvements
- Added TTL information display in the admin panel
1.1.29
(2018-05-18)
Fixed
- Fixed CSS styling issues in admin panel
1.1.28
(2018-05-08)
Features
- Clear cache by URL — ability to clear cache for individual products and categories from the Pages grid when Varnish is installed
1.1.27
(2018-05-07)
Fixed
- Fixed large number of warm jobs stuck in "Scheduled" status
1.1.26
(2018-05-03)
Fixed
- Fixed ability to run multiple warm processes simultaneously
1.1.25
(2018-05-02)
Fixed
1.1.24
(2018-05-02)
Fixed
- Fixed "Undefined property in WarmerService.php on line 128" error
1.1.23
(2018-04-26)
Fixed
- Fixed "Forbid Cache Flushing" option not working with Varnish
1.1.22
(2018-04-25)
Fixed
- Fixed noncacheable pages appearing in the pages list
1.1.21
(2018-04-20)
Features
- Forcibly make pages cacheable — force specific pages to be served from cache even if they contain noncacheable blocks
1.1.20
(2018-04-20)
Improvements
- Unified version for Magento 2.1 and Magento 2.2
Fixed
- Fixed "strpos(): Empty needle" warning when FPC hole punch is enabled without specifying Template or Block class
- Fixed compilation error in DebugService
- Fixed CLI warmer not using secure base URL
1.1.19
(2018-04-11)
Fixed
- Fixed multistore crawling from CLI
1.1.18
(2018-04-05)
Fixed
- Fixed error during feed generation
1.1.17
(2018-04-04)
Improvements
- CLI crawler can now handle pages with malformed HTML
Fixed
- Fixed re-crawling of previously crawled links
1.1.16
(2018-03-23)
Improvements
- CLI warmer now runs as the web server user for proper file permissions
1.1.15
(2018-03-22)
Improvements
1.1.14
(2018-03-07)
Fixed
- Fixed incorrect X-Magento-Vary header handling
1.1.13
(2018-03-05)
Fixed
- Fixed "Cannot instantiate abstract class" error
1.1.12
(2018-03-02)
Improvements
- Automatically uses "Don't verify peer" for SSL connections
Fixed
- Fixed compatibility with Varnish and Fastly
- Fixed
setup:di:compile failing without database access
1.1.11
(2018-02-22)
Fixed
- Fixed "Class 'Report\Model\Query\Column\Date\Range' not found" error
1.1.10
(2018-02-22)
Improvements
- Switched to new module-report version for statistics
1.1.9
(2018-02-12)
Fixed
- Fixed "unserialize(): Error at offset 255 of 255 bytes" error in Job model
1.1.8
(2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.1.7
(2018-01-29)
Fixed
- Fixed "Undefined property" notice in OnMissPlugin
1.1.6
(2018-01-23)
Fixed
- Fixed Magento "Unable to serialize value" error when content contains invalid characters
1.1.5
(2018-01-19)
Fixed
- Fixed FPC hole punch block exclusion when template belongs to a different module than the block class
1.1.4
(2018-01-18)
Fixed
- Fixed incorrect text display
- Fixed "unlink(cache-warmer.cli.crawl.lock): No such file or directory" error when using the CLI unlock command
1.1.3
(2018-01-05)
Fixed
- Fixed incorrect message display on Magento 2.2.x
1.1.2
(2018-01-04)
Improvements
- Added message when extension is installed without Composer (incorrect version detection)
1.1.1
(2017-12-08)
Fixed
- Fixed CLI error when
sysctl command is not found
1.1.0
(2017-12-07)
Fixed
1.0.64
(2018-04-05)
Improvements
- CLI warmer now runs as the web server user
- CLI crawler can now handle pages with malformed HTML
1.0.63
(2018-04-05)
Fixed
- Fixed error during feed generation
- Fixed re-crawling of previously crawled links
1.0.62
(2018-03-29)
Improvements
- Switched to new module-report version
1.0.61
(2018-03-07)
Fixed
- Fixed incorrect X-Magento-Vary header handling
1.0.60
(2018-03-02)
Improvements
- Automatically uses "Don't verify peer" for SSL connections
Fixed
- Fixed
setup:di:compile failing without database access
1.0.59
(2018-02-12)
Fixed
- Fixed "unserialize(): Error at offset 255 of 255 bytes" error in Job model
1.0.58
(2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.0.57
(2018-02-02)
Fixed
- Fixed "sysctl: command not found" error on servers without sysctl
1.0.56
(2018-01-19)
Fixed
- Fixed FPC hole punch block exclusion when template belongs to a different module than the block class
1.0.55
(2018-01-18)
Fixed
- Fixed incorrect text display
- Fixed "unlink(cache-warmer.cli.crawl.lock): No such file or directory" error when using the CLI unlock command
1.0.54
(2017-12-08)
Fixed
- Fixed CLI error when
sysctl command is not found
1.0.53
(2017-12-07)
Fixed
1.0.52
(2017-11-29)
Fixed
1.0.51
(2017-11-29)
Fixed
1.0.50
(2017-11-29)
Fixed
- Magento 2.2 compatibility
1.0.49
(2017-11-28)
Fixed
- Magento 2.1 compatibility
1.0.48
(2017-11-28)
Improvements
- LiteMage cache compatibility
1.0.47
(2017-11-27)
Fixed
- Fixed slow admin page load time caused by extension
1.0.46
(2017-11-24)
Fixed
- Fixed extended config recurring update issue
1.0.45
(2017-11-21)
Fixed
- Fixed recurring JSON configuration update
1.0.44
(2017-11-17)
Fixed
- Fixed error in console when running
setup:install
- Fixed error when detecting CPU count on some systems
1.0.43
(2017-11-07)
Fixed
- Improved stability for edge cases
1.0.42
(2017-11-03)
Improvements
- Improved overall stability
Fixed
- Fixed "Cache frontend 'default' is not recognized" error on some stores
1.0.41
(2017-10-18)
Fixed
- Magento 2.2 compatibility
1.0.40
(2017-10-17)
Features
- FPC hole punching — exclude specific blocks from full page cache while keeping the rest of the page cached
1.0.39
(2017-09-28)
Fixed
- Magento 2.2 compatibility
1.0.38
(2017-08-09)
Fixed
- Fixed error with the warm command in CLI
1.0.37
(2017-08-04)
Improvements
1.0.36
(2017-08-04)
Fixed
- Minor compatibility adjustments
1.0.35
(2017-07-26)
Fixed
- Minor compatibility adjustments
1.0.34
(2017-07-24)
Improvements
- Improved admin menu layout
Fixed
- Fixed popularity tracking plugin error
1.0.33
(2017-07-24)
Improvements
- Major admin UI refactoring with new templates and components
1.0.32
(2017-07-18)
Fixed
- Fixed crawl command error
1.0.31
(2017-07-17)
Fixed
- Fixed "Area code is already set" error
1.0.30
(2017-07-10)
Improvements
- Version bump for release alignment
1.0.29
(2017-07-10)
Fixed
- Fixed crawl command error on specific server configurations
1.0.28
(2017-07-07)
Features
- Store-specific crawling — ability to crawl a particular store from CLI
Fixed
- Fixed issue with maximum job run time being exceeded
- Fixed compatibility with TemplateMonster themes
1.0.27
(2017-06-27)
Fixed
- Fixed popularity calculation counting internal crawler requests
1.0.26
(2017-05-15)
Improvements
1.0.25
(2017-05-15)
Features
- Report period filter — filter statistics reports by date range
1.0.24
(2017-04-25)
Fixed
- Fixed ability to enable reports for custom admin user roles
1.0.23
(2017-04-24)
Features
- Reports — cache warming efficiency reports with charts and statistics
1.0.22
(2017-04-18)
Features
- Manual job management — ability to run or remove warmer jobs manually
Fixed
- Fixed vary string handling
1.0.21
(2017-04-13)
Improvements
- Added lock file to prevent parallel warmer processes from running simultaneously
- Replaced product/category observer with plugins for better compatibility
1.0.20
(2017-04-12)
Improvements
- Improved popularity logging performance
1.0.19
(2017-03-24)
Fixed
1.0.18
(2017-03-24)
Improvements
- Improved fill rate feature performance
1.0.17
(2017-03-23)
Improvements
- Improved cron tab scheduling and admin UI
Fixed
- Fixed fill report display error
1.0.16
(2017-03-21)
Features
- Mass actions — added mass actions (warm, delete) to the pages grid
Fixed
- Fixed warming by page type not working correctly
1.0.15
(2017-03-15)
Improvements
- Changed default configuration for better out-of-the-box performance
- Invalid pages are now automatically removed from the warmer list
Fixed
- Fixed cache status checking for Varnish setups
1.0.14
(2017-02-22)
Features
- Test command — added
mirasvit:cache-warmer:test console command for verifying warming functionality
1.0.13
(2017-02-01)
Fixed
- Fixed Magento compilation error
1.0.12
(2017-01-27)
Fixed
- Fixed compatibility with older Mirasvit SEO module versions
1.0.11
(2017-01-26)
Fixed
1.0.10
(2017-01-25)
Fixed
- Fixed observer event error
1.0.9
(2017-01-12)
Features
- Warm jobs — background job system for scheduling and managing warming tasks
1.0.8
(2017-01-10)
Improvements
- Debug toolbar is now automatically hidden for AJAX requests returning JSON
1.0.7
(2016-12-29)
Fixed
- Fixed error when Cache-Control object does not exist
1.0.6
(2016-12-28)
Improvements
- Documentation improvements
1.0.5
(2016-12-28)
Improvements
- Compatibility with Magento 2.2
1.0.4
(2016-12-16)
Fixed
- Fixed 404 page errors during CLI crawling
1.0.3
(2016-12-13)
Improvements
- Redesigned cache status info block on the storefront
1.0.2
(2016-11-24)
Improvements
- Compatibility with Mirasvit SEO version 1.0.34
1.0.1
(2016-11-07)
Features
- Debug toolbar — info block on the storefront to check if a page is served from FPC cache