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

  1. Back up your store's database and web directory.
  2. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
  3. Copy the installation instructions from the page My Downloadable Products to the SSH console and press ENTER.
  4. Run the command php -f bin/magento module:enable Mirasvit_Core Mirasvit_CacheWarmer Mirasvit_Report to enable the extension.
  5. Run the command php -f bin/magento setup:upgrade to install the extension.
  6. Run the command php -f bin/magento cache:clean to clean the cache.
  7. 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

  1. Run the command

        composer require mirasvit/module-cache-warmer-hyva:*
  2. Enable installed Hyva modules:

        bin/magento module:enable Hyva_MirasvitCacheWarmer Hyva_CompatModuleFallback
  3. Update Magento database schema and data with the command:

        bin/magento setup:upgrade
  4. Compile the code of the installed extension:

        bin/magento setup:di:compile
  5. 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

  • Enabled - enables/disables Page Cache Warmer.
  • Ignored Pages - allows for setting URL patterns on pages that should be ignored by Cache Warmer, consisting of records where Expression contains a regular expression for URL.

    Example

    • /\?/ - ignore all pages that have GET parameters (filtered category pages, search results pages, etc.)
    • /\?[\w=]*&[\w=]*&[\w=]*/ - ignore pages with more than 2 GET parameters
    • /\?(?!p=).*/ - ignore all pages that have GET parameters, except paging (like ?p=2)

    Read more about regular expressions.

  • Ignored User-agents - permits setting patterns of user-agent headers, which will be ignored by cache warmer. For example, you can set /.*Googlebot.*/ to ignore Google crawler, and pages visited by Google crawler will not be added to the queue of cache warmer.
  • Ignored Page types - permits choosing page types from a list which will be ignored by cache warmer. All available page types presented on the website will be added after the CLI crawler has completed crawling the website.

Performance

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

  • Enable statistics - Enable/disable collecting statistical data. If disabled, the extension stops making /cache_warmer/track requests to the websites' front pages. The extension will not collect statistical data and count the popularity of the pages.
  • Warmer limit (%) - Warmer will stop warming when the cache fill rate reaches this value.
  • Forbid cache flushing - completely disables flushing FPC cache. Read more in this FAQ section.
  • Forcibly make pages cacheable - Allows you to override the default behavior of Magento with regard to caching pages by changing content block attributes:

    • Disable - keeps Magento's default caching behavior.
    • All pages - the extension will delete cacheable="false" for all blocks in home, category, and product pages, making them cacheable as a result.
    • Configure - allows you to select page types which can be made cacheable, e.g. home page (Cms · Index · Index), category (Catalog · Category · View) and product pages (Catalog · Product · View) make_pages_cacheable_by_page_type.png
  • Use the same cache for the new visitor - Allows you to avoid the creation of several copies of cached pages for Magento installations with multiple store views. Disable it if your pages are cached incorrectly for different languages/currencies/store views.
  • Consider design rules - If enabled, the extension will consider design settings (User-Agent rules) for caching pages. The extension will add an additional parameter (mst_design) to the HTTP context. In this way, you'll no need to make any additional settings to Varnish config to cache pages according to the design settings of the website. Enable this option ONLY if you have different themes which depend on the User-Agent (Content -> Design -> Configuration; for example, a separate theme for mobile pages). After changing this setting, it is required to clean the Pages table and flush the entire Magento cache. The Pages table can be cleaned using the CLI command provided by the extension. More information about the CLI commands can be read in the Command Line Interface section.
  • HTTP authentication - Allows you to crawl store pages when basic access authentication is enabled.
    • Username - set your username.
    • Password - set the password for the existing username.

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.

Warming Rules

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.

cache_warmer_pages.png

How do URLs appear in Pages?

  1. When customers visit pages on your store (most relevant result).
  2. Manually via ssh with CLI command: crawl.
  3. 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.

Sources

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) Crawler source type

  • 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. File source type

  • Sitemap

    Configuration of this Source is almost the same as for the File source type. The difference is instead of the Upload button, you'll have a dropdown with sitemaps generated on the store.

You have to create and generate sitemaps before you'll be able to use them in this source type. Sitemap 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_jobs.png

Cache Warmer Cache Flushes

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

flushes_grid.png

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.

flushes_trace.png

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.

flushes_disabled.png

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.

How to Configure "Hole Punches"

Since "hole punch" does micro-level blocks management, its configuration is a little tricky. Carefully follow these steps below to configure these Hole Punches:

  1. Run SSH console, proceed to your store's root, and check your store's mode with bin/magento deploy:mode:show.

  2. If the mode is production, switch your store to developer mode with the bin/magento deploy:mode:set developer command.

  3. Navigate to System -> Cache Management and disable ALL caches.

  4. 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.
  5. 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.
  6. Open frontend page, where you must have hole punches, at which point you should see something like what is shown below:

    template-hints.png

    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
  7. 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.
  8. 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.

    cache-miss.png

  9. 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.
fpc_report_avg.png
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)
fpc_report_count.png
Time To First Byte - the time which you can see on following image:
ttfb.png 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:sync-source --source-id 2 --unlock - unlock the process and synchronize the Source with ID 2
  • mirasvit:cache-warmer:sync-source --source-id 2 --reset - reset the source with ID 2

  • 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:

    1. 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. pages-test.png

      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. cacheable-start.png

      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. cacheable-ok.png If the full page cache not working - you should see a "NOT CACHED" status. cacheable-not.png

    2. How do I check if my pages are cacheable?

    3. 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). first-visit.png
      • 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. second-visit.png 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:

    1. 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. varnishd_v.png

    2. 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:

      hit.png

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

      miss_blocks.png

      In this case, refer to How can I make pages cacheable? section for further actions.

    3. 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.

    4. 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:

    1. 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.
    2. Visit the frontend Category or Product pages of your store to check whether they're actually cached.
    3. 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?

    1. 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.
    2. 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:

      hit.png

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

      miss_blocks.png

      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)

    1. 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:

      miss_blocks.png

    2. Set the Forcibly make pages cacheable option to Yes at Stores -> Configuration -> Mirasvit Extensions -> Page Cache Warmer -> Extended Settings.

    3. Purge ALL in Cache Management and revisit the page with Show cache status still enabled. You should see a Page Hit message:

      hit.png

    Variant 2

    1. 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:

      miss_blocks.png

    2. 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"/>

    3. 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.

    4. Purge ALL in Cache Management and revisit the page with Show cache status still enabled. You should see a Page Hit message:

      hit.png

    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.

    fill_rate.png

    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.

    avg_system_load.png

    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:

    1. Back up your store's database and web directory.
    2. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
    3. 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.

    4. Run the command php -f bin/magento setup:upgrade to install updates.
    5. Run the command php -f bin/magento cache:clean to clean the cache.
    6. 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:

    1. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
    2. 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

    3. 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:

    1. Log in to the SSH console of your server and navigate to the root directory of the Magento 2 store.
    2. 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

    3. Log in to the Magento backend and refresh the store cache (if enabled).

    Change Log

    1.9.7

    (2024-03-27)

    Fixed

    • Fixed the issue with some functionality like logging cache flushes still working after the extension is disabled in the configurations

    1.9.6

    (2024-03-25)

    Improvements

    • Info messages for Visitors' actions and Crawler sources when sync-source command executed

    1.9.5

    (2024-03-11)

    Improvements

    • Remove pages that obtained uncacheable status more than 90 days ago

    1.9.4

    (2024-03-01)

    Improvements

    • Ability to create Visitors' actions source from admin panel if it wasn't added during install/update

    1.9.3

    (2024-02-27)

    Improvements

    • Store Label added to sitemap options in sources' configurations
    • Field validation in admin forms

    Fixed

    • Fixed the issue with the extension stopping working when the trace_id field in the mst_cache_warmer_trace table reaches the limit

    1.9.2

    (2024-02-23)

    Fixed

    • Fixed the issue with the error while loading the Pages table if the extension collected a huge number of pages (more than 500k)

    1.9.1

    (2024-02-05)

    Improvements

    • Number of sessions created by warmer decreased

    1.9.0

    (2023-08-31)

    Fixed

    • Fixed the issue with deleting sources using massDelete
    • Compatibility with FastlyCDN (Magento Cloud)

    1.8.9

    (2023-08-01)

    Fixed

    • Fixed the issue with the error on Warm Rule edit page (Magento EE compatibility)

    1.8.8

    (2023-07-10)

    Fixed

    • Fixed the issue with errors on popularity update requests (PHP8.1)
    • Fixed the issue with the link to user manual

    1.8.7

    (2023-07-03)

    Fixed

    • Fixed the issue with errors 'mb_convert_encoding(): Unable to detect character encoding'

    1.8.6

    (2023-06-23)

    Fixed

    • Fixed the issue with editable default source

    1.8.5

    (2023-06-20)

    Fixed

    • Fixed the issue with pages not collected by extension when config-dependent noncacheable block is present in page's layout

    1.8.4

    (2023-06-14)

    Fixed

    • Fixed the issue with the error on Cache Flushes page (Magento EE)

    1.8.3

    (2023-04-24)

    Fixed

    • Issue with error 'Impossible to process constructor argument' on module:uninstall

    1.8.2

    (2023-03-24)

    Fixed

    • Fixed the issue with memory when running the command 'mirasvit:cache-warmer --remove-all-pages'

    1.8.1

    (2023-03-17)

    Fixed

    • Fixed the issue with sitemaps when debug is enabled (sitemaps with styles)

    1.8.0

    (2023-01-24)

    Fixed

    • Avoid unnecessary upgrade scripts execution.

    Improvements

    • CLI crawler output improved

    1.7.11

    (2023-01-16)

    Fixed

    • Fixed the issue with upgrade from some old versions

    1.7.10

    (2022-12-05)

    Improvements

    • Update warm rules for pages on popularity change

    1.7.9

    (2022-12-05)

    Fixed

    • Fixed the issue with Bolt FPC cache detected as disabled FPC cache

    1.7.8

    (2022-11-22)

    Fixed

    • Fixed the issue with error 'Deprecated Functionality: curl_multi_exec(): Passing null to parameter #2 of type int is deprecated'

    1.7.7

    (2022-11-04)

    Fixed

    • Fixed the issue with jQuery.cookie (Magento 2.4.5)

    1.7.6

    (2022-10-19)

    Improvements

    • Prevent unnecessary config cache flushes on update-pages cron
    • Small code changes for Magento Marketplace

    1.7.5

    (2022-09-22)

    Improvements

    • Display the debug popup by IPs with Varnish enabled

    Fixed

    • Fixed the issue with minicart not updated when the FPC cache disabled (Hyva)
    • Return value of console commands

    1.7.4

    (2022-07-19)

    Fixed

    • Fixed the issue with the error 'Call to undefined method Mirasvit\CacheWarmer\Logger\Logger\Interceptor::err()'

    1.7.3

    (2022-06-22)

    Fixed

    • Conflict with Magento ChartJs lib version

    1.7.2

    (2022-06-20)

    Improvements

    • remove db_schema_whitelist.json

    1.7.1

    (2022-06-13)

    Fixed

    • PHP8.1 compatibility

    1.7.0

    (2022-05-23)

    Improvements

    • Migrate to declarative schema

    1.6.14

    (2022-05-17)

    Improvements

    • update mirasvit/module-report dependency

    1.6.13

    (2022-03-14)

    Fix

    • PHP8.1 compatibility

    1.6.12

    (2022-01-20)

    Improvements

    • Stop crawler if customer group does not exist or don't have any customers

    1.6.11

    (2022-01-11)

    Fixed

    • Fixed the issue with default source and custom auto_increment in DB

    1.6.10

    (2022-01-05)

    Improvements

    • Delay between requests

    Fixed

    • Fixed the issue with error 'Call to a member function getIsActive() on bool' (custom auto_increment step in DB)

    1.6.9

    (2021-12-17)

    Improvements

    • Cache records depends on design settings (User-Agent rules)

    1.6.8

    (2021-11-02)

    Improvements

    • Small admin UI improvements

    1.6.7

    (2021-10-13)

    Fixed

    • Minor fixes

    1.6.6

    (2021-10-13)

    Fixed

    • issue with trace displayed in the cache flushes grid if reason not detected

    1.6.5

    (2021-10-06)

    Improvements

    • Ability to disable saving cache flush backtraces into the database (cache flush reason added)
    • Ability to disable the default source

    1.6.4

    (2021-09-20)

    Fixed

    • Use store cookie in crawler

    1.6.3

    (2021-09-01)

    Fixed

    • Use request modifiers from warm rules for generating CURL string and for warming pages from the admin panel

    1.6.2

    (2021-08-25)

    Fixed

    • Fixed the issue with unable to get server load rate on some OS

    1.6.1

    (2021-07-30)

    Fixed

    • ChartJs lib for Magento < 2.4.0
    • composer requirenments updated

    1.6.0

    (2021-07-15)

    Improvements

    • Updated statistics charts (small screen)

    1.5.9

    (2021-07-13)

    Improvements

    • Updated statistics charts

    1.5.8

    (2021-07-02)

    Features

    • Warming pages variations mode

    1.5.7

    (2021-06-15)

    Fixed

    • Update default source on customer group save/delete

    1.5.6

    (2021-05-20)

    Improvements

    • Set crawler source for pages while the CLI crawler is running if the source with the type 'crawler' have been created and active

    Fixed

    • Fixed the issue with negative values in the efficiency report

    1.5.5

    (2021-05-05)

    Fixed

    • Hide test pages from search engines

    1.5.4

    (2021-04-27)

    Improvements

    • Small improvement in lock manager

    1.5.3

    (2021-04-21)

    Fixed

    • Fixed the issue with locks (Magento 2.3.*)

    1.5.2

    (2021-04-06)

    Improvements

    • Time threshold for ignored pages cleanup (cron)

    1.5.1

    (2021-04-05)

    Improvements

    • Lock Manager
    • Cron jobs optimization

    1.5.0

    (2021-03-23)

    Fixed

    • Issue with the filter by Warm Rules in the Pages grid

    1.4.9

    (2021-03-18)

    Fixed

    • Fixed the issue with inactive rules in the Pages grid

    1.4.8

    (2021-02-26)

    Improvements

    • Update pages by Warm Rules improved [#284]()

    1.4.7

    (2021-02-11)

    Fixed

    • Fixed the issue related to URLs not added from the file source in some cases [#282]()

    1.4.6

    (2021-02-05)

    Improvements

    • Ability to parse segmented sitemap [#279]()

    1.4.5

    (2021-02-04)

    Features

    • URL sources ()

    1.4.4

    (2021-01-22)

    Improvements

    • Predefined performance levels [#266]()
    • Performance [#265]()

    1.4.3

    (2020-12-24)

    Fixed

    • Fixed the issue with warming pages (affects from 1.4.1) ([#263]())

    1.4.2

    (2020-12-23)

    Fixed

    • Compatibility check issue fixed [#261]()

    1.4.1

    (2020-12-21)

    Improvements

    • Database queries execution improved ([#259]())
    • Ignored pages cleanup performance improved ([#258]())

    1.4.0

    (2020-12-09)

    Improvements

    • Cleanup cron improved [#256]()

    Documentation

    • faq - Check FPC

    1.3.37

    (2020-11-09)

    Fixed

    • Small fix ([#254]())

    1.3.36

    (2020-11-05)

    Fixed

    • Fixed potential performance issue ([#252]())

    1.3.35

    (2020-11-03)

    Fix

    • Fixed XSS issue ([#249]())

    1.3.34

    (2020-11-03)

    Improvements

    • Cache type in the debug toolbar and Redis displayed if used ([#247]())

    1.3.33

    (2020-10-28)

    Fixed

    • Fixed issue with traces (Magento 2.4) ([#245]())

    1.3.32

    (2020-10-28)

    Fixed

    • Test page issue ([#243]())

    1.3.31

    (2020-10-20)

    Improvements

    • Cache flushes page improved ([#241]())

    1.3.30

    (2020-09-25)

    Improvements

    • Test page improved ([237]())
    • Page status checking for Varnish improved ([236]())
    • Debug popup improvement ([#235]())

    1.3.29

    (2020-08-18)

    Fixed

    • Fixed issue with page statuses in the toolbar in Safari browser ([#228]())

    1.3.28

    (2020-08-12)

    Fixed

    • Keep log data for last 3 month ([#226]())

    1.3.27

    (2020-07-29)

    Improvements

    • Support of Magento 2.4

    1.3.26

    (2020-06-16)

    Fixed

    • Issue with clear cache for CMS pages from admin panel (Varnish)

    1.3.25

    (2020-03-19)

    Fixed

    • Issue with saving ignored page types after all page types unselected (affects only 1.3.24)

    1.3.24

    (2020-03-12)

    Fixed

    • Issue with deleting pages by mst_cache_warmer_cleanup job from the database when prefix for table name present. (SQLSTATE[42S02]: Base table or view not found, affects from 1.3.18)

    Features

    • Ignored page types

    1.3.23

    (2020-02-24)

    Fixed

    • Issue with saving hole punch config and Forcibly make pages cacheable by page types in Magento version 2.3.2 and higher

    1.3.22

    (2020-01-24)

    Fixed

    • Issue with editing warm rules in Magento 2.1.* (Notice: unserialize(): Error at offset ...; affects from 1.3.12)

    1.3.21

    (2020-01-20)

    Features

    • Ability to disable collecting statistics (disable /cache_warmer/track request)

    1.3.19

    (2019-11-29)

    Fixed

    • Issue with no page types in fresh installation

    1.3.18

    (2019-11-12)

    Improvements

    • error logging in the job trace ([#197]())

    Fixed

    • Issue with asymmetric transaction rollback
    • Issue with PHP out-of-memory error

    1.3.17

    (2019-11-01)

    Fixed

    • Issue with checkout in Safari 7.* and older

    1.3.16

    (2019-10-21)

    Fixed

    • Issue with server load rate
    • Issue with Asymmetric transaction rollback

    1.3.15

    (2019-09-19)

    Fixed

    • Prevent removing duplicates when the pages table is empty
    • Prevent decode attachment link as page ([#178]())

    1.3.14

    (2019-08-22)

    Fixed

    • issue with server load rate
    • issue with expressions
    • Issue with update

    1.3.13

    (2019-08-19)

    Fixed

    • Issue with saving warm rule

    1.3.12

    (2019-08-15)

    Fixed

    • Minor changes

    1.3.11

    (2019-06-13)

    Features

    • Improve SQL queries performance ([#170]())
    • Ability to completely disable toolbar ajax requests ([#172]())

    Fixed

    • remove pages which return 404/301/302 ([#174]())

    1.3.10

    (2019-05-03)

    Fixed

    • Crawl command was not able to correctly process URLs without base path

    1.3.9

    (2019-05-02)

    Features

    • Add ignore by pattern notification to the dev toolbar

    Fixed

    • Issue during data migration from old versions

    1.3.7

    (2019-04-24)

    Fixed

    • Warming issue in version 1.3.6

    1.3.6

    (2019-04-22)

    Fixed

    • Moved setup data migration in backgroud by cron

    1.3.5

    (2019-04-18)

    Fixed

    • Possible errors: Page already exists. Unable to save a duplicate…

    1.3.4

    (2019-04-16)

    Fixed

    • Fixed possible issues during extension upgrade from old versions

    1.3.3

    (2019-04-12)

    Fixed

    • Status update must use priorities and scope defined by rules

    1.3.2

    (2019-04-09)

    Improvements

    • Show error message during crawling if console crawler cant open URL

    Fixed

    • Unable to upgrade because of very long URLs (since version 1.3.0)

    1.3.1

    (2019-04-02)

    Features

    • Improved monitoring of cache status
    • Removed vary data modificator from warming rules
    • Different minor fixes and changes

    1.2.18

    (2019-03-27)

    Features

    • Added crawling for logged-in customers

    Fixed

    • Fixed some conflicts with 3rd party plugins

    1.2.16

    (2019-03-11)

    Features

    • Remove Google gclid from URLs
    • Allow crawling for pages without varydata, on varnish, non-default stores

    1.2.15

    (2019-02-28)

    Fixed

    • M2.1, PHP5.6, error "Cannot use Symfony\Component\Console\Command\Command as Command because the name is already in use"
    • Issue with Could not resolve host on some server configurations

    1.2.13

    (2019-02-07)

    Fixed

    • reduce log of cache flushes
    • incorrect X-Magento-Cache-Debug header
    • URL duplicates
    • Notice: unserialize(): Error at offset ... Config/ExtendedConfig.php
    • Issue with compilation without database

    1.2.12

    (2019-01-08)

    Improvements

    • Remove URLs which fail with errors few times

    Fixed

    • In production mode, we don't see cache flushed message
    • Console bin/magento mirasvit:cache-warmer:test failed with error

    1.2.10

    (2018-12-18)

    Improvements

    • Cache fill rate chart

    Fixed

    • Hole punch didn't work if template is located in non-default theme
    • Warm rules does not apply filter by store. Clean of mst_cache_warmer_page is required for fix.
    • Solved possible out of memory errors during logs clean up by cron
    • Possible issue with incorrect cache headers of ajax requests
    • If store use direct IP, warmer does not add pages to the queue
    • Possible problem with SSL certificate in some cases

    1.2.8

    (2018-12-05)

    Fixed

    • Error during log cleanup (affects only 1.2.7, 1.2.6)
    • In debug mode, warmer adds debug html to non-html pages (like /robots.txt)

    1.2.7

    (2018-12-04)

    Improvements

    • Support of Magento 2.3

    Fixed

    • In some cases, extension can broke ajax calls of 3rd party extensions
    • Warming rules for customer groups
    • Improved clean of trace logs

    1.2.5

    (2018-11-29)

    Fixed

    • Issue with rendering admin for M 2.1
    • Magento 2.1, error Class Magento\Framework\Serialize\Serializer\Json does not exist (affects from 1.2.0)

    1.2.4

    (2018-11-28)

    Improvements

    • Changed condition for remove old logs

    Fixed

    • Issue with adding pages to list

    1.2.3

    (2018-11-23)

    Fixed

    • Error if I run crawl via SSH. Affects only 1.2.2

    1.2.2

    (2018-11-22)

    Fixed

    • When I try to warm cache via admin, I receive error: "Argument 2 passed to Mirasvit\CacheWarmer\Service\WarmerService::warmCollection()..". Affects only 1.2.0.

    1.2.0

    (2018-11-09)

    Features

    • Cache clean trace
    • Warm Rules (Priority System)

    Improvements

    • Show crawler error if customer has http autorization

    Fixed

    • Incorrect calculation of cache hits rate
    • M2.1 some pages are not warmed
    • If our toolbar is enabled and file robots.txt is missing in the customer's store, we incorrectly added some html tags to request by URI /robots.txt.
    • 301 as error in log

    1.1.62

    (2018-10-29)

    Fixed

    • Issue with stored serialized vary_data
      Warmer can't correctly warm URLs which were added to the queue.

    1.1.61

    (2018-10-26)

    Improvements

    • CURL for pages

    1.1.60

    (2018-10-25)

    Improvements

    • CURL information to trace
    • Skip warming, if page cache is disabled

    1.1.59

    (2018-10-24)

    Improvements

    • Added ability use with HTTP auth

    Fixed

    • Issue with compilation

    1.1.58

    (2018-10-24)

    Improvements

    • Bolt FPC compatibility

    1.1.57

    (2018-10-24)

    Improvements

    • Remove page only after 3 unsuccessful warm attempts

    1.1.56

    (2018-10-22)

    Fixed

    • Unserialize issue

    1.1.55

    (2018-10-17)

    Improvements

    • Charts
    • Cache clean logger

    1.1.53

    (2018-10-11)

    Improvements

    • Refactoring
    • Trace

    Fixed

    • Time issue in trace
    • Crawler does not follows redirects

    1.1.52

    (2018-09-24)

    Fixed

    • Fixed out of memory crashes

    Improvements

    • Added option "Ignored User-agents"
    • Stop job execution after 3 errors

    1.1.51

    (2018-08-31)

    Improvements

    • Clear old logs by cron (30 days)

    1.1.50

    (2018-08-30)

    Fixed

    • Slightly improved TTFB

    1.1.49

    (2018-08-30)

    Improvements

    • Use the same cache for new visitor

    1.1.48

    (2018-08-27)

    Fixed

    • Fixed and error: "Read timed out after 60 seconds..." (for some stores)

    1.1.47

    (2018-08-27)

    Improvements

    • Coverage rate

    Fixed

    • Fixed "Invalid URI supplied" error (for urls more than 255 symbols)
    • Fixed rate limit depending from "Crawler limit"
    • Fixed and error: "Read timed out after 60 seconds {"exception":"[object] (Zend_Http_Client_Adapter_Exception(code: 1000): Read timed out after 60 seconds at .../vendor/magento/zendframework1/library/Zend/Http/Client/Adapter/Socket.php" (for some stores)

    1.1.46

    (2018-08-20)

    Features

    • Ability show cache status for Varnish
    • Fixed popularity for Varnish

    Fixed

    • Info about extensions which can broke Magento Page Cache

    1.1.45

    (2018-08-13)

    Improvements

    • Info about extensions which can broke Magento Page Cache

    1.1.44

    (2018-08-03)

    Fixed

    • Fixed an error: "Unable to Connect to ssl:..."
    • Fixed an error if FPC Hole Punch is enabled for widget

    1.1.43

    (2018-07-26)

    Fixed

    • Fixed an error during compilation

    1.1.42

    (2018-07-26)

    Fixed

    • Fixed an issue with "Flush Magento Cache" from admin panel if "Forbid cache flushing" set to "Yes"

    Improvements

    • Ability set protocol in cli warmer
    • Forbid return from cache an empty page and add in cache an empty page

    1.1.41

    (2018-07-24)

    Fixed

    • Fixed cli warmer if option "Warm mobile pages separately" is enabled

    1.1.40

    (2018-07-13)

    Fixed

    • Fixed minor bug (for some stores)

    1.1.39

    (2018-07-13)

    Fixed

    • Fixed issue with page type disappearing

    1.1.38

    (2018-07-12)

    Fixed

    • Fixed crawler if "Add Store Code to Urls" set to "Yes"

    1.1.37

    (2018-06-28)

    Improvements

    • Make pages cacheable by page type

    1.1.36

    (2018-06-23)

    Improvements

    • Warm pages by page type order

    1.1.35

    (2018-06-23)

    Fixed

    • Fixed crawling for urls without domains

    1.1.34

    (2018-06-15)

    Improvements

    • Use empty vary data for mobile pages

    1.1.33

    (2018-06-14)

    Features

    • Ability warm mobile pages separately

    1.1.32

    (2018-06-13)

    Improvements

    • Ability prewarm stores depending from currency

    1.1.31

    (2018-06-11)

    Fixed

    • Delete old(not used) cli options

    1.1.30

    (2018-06-11)

    Fixed

    • Delete old(not used) cli options

    Improvements

    • TTL info

    1.1.29

    (2018-05-18)

    Fixed

    • Small css fix

    1.1.28

    (2018-05-08)

    Fixed

    • Ability clear cache by url for products and categories in Pages listing if Varnish installed

    1.1.27

    (2018-05-07)

    Fixed

    • bug: Fixed large jobs list with status "Scheduled"

    1.1.26

    (2018-05-03)

    Fixed

    • Fixed ability run a lot of warm processes

    1.1.25

    (2018-05-02)

    Fixed

    • Fixed parse error

    1.1.24

    (2018-05-02)

    Fixed

    • Fixed an error: "Undefined property in .../vendor/mirasvit/module-cache-warmer/src/CacheWarmer/Service/WarmerService.php on line 128"

    1.1.23

    (2018-04-26)

    Fixed

    • Fixed "Forbid Cache Flushing" option for Varnish

    1.1.22

    (2018-04-25)

    Fixed

    • Fixed presence not cacheable pages in list

    1.1.21

    (2018-04-20)

    Features

    • Forcibly make pages cacheable

    1.1.20

    (2018-04-20)

    Fixed

    • bug: Fixed an error: "Warning: strpos(): Empty needle in .../app/code/Mirasvit/CacheWarmer/Service/BlockMarkService.php on line 108" if "FPC hole punch" enabled without "Template" or "Block class" fields
    • Fixed compilation error "Errors during compilation: Mirasvit\CacheWarmer\Service\DebugService..."
    • Use also secure base url in cli warmer

    Improvements

    • The same version for Magento 2.1 and Magento 2.2

    1.1.19

    (2018-04-11)

    Fixed

    • Fixed multi store crawling (from cli)

    1.1.18

    (2018-04-05)

    Fixed

    • Fixed error while feed generation

    1.1.17

    (2018-04-04)

    Improvements

    • Ability crawl incorrect html content from command line

    Fixed

    • Fixed re-crawling links

    1.1.16

    (2018-03-23)

    Improvements

    • Run warmer as web server user

    1.1.15

    (2018-03-22)

    Improvements

    • Crawl speed improvement

    1.1.14

    (2018-03-07)

    Fixed

    • Fixed incorrect X-Magento-Vary

    1.1.13

    (2018-03-05)

    Fixed

    • Cannot instantiate abstract class

    1.1.12

    (2018-03-02)

    Improvements

    • Automatically using "Don't verify peer" function

    Fixed

    • Fixed compatibility with varnish and fastly
    • Ability run setup:di:compile without database

    1.1.11

    (2018-02-22)

    Fixed

    • Fixed an error "PHP Fatal error: Class 'Mirasvit\Report\Model\Query\Column\Date\Range' not found in .../CacheWarmer/Reports/Query/Column/Date/Range.php on line 19"

    1.1.10

    (2018-02-22)

    Improvements

    • Switched to new module-report version

    1.1.9

    (2018-02-12)

    Fixed

    • Fixed an error "Notice: unserialize(): Error at offset 255 of 255 bytes in .../app/code/Mirasvit/CacheWarmer/Model/Job.php on line 66"

    1.1.8

    (2018-02-02)

    Fixed

    • Fixed an error "sh: sysctl: command not found"

    1.1.7

    (2018-01-29)

    Fixed

    • Fixed notice (Notice: Undefined property: Mirasvit\CacheWarmer\Plugin\Debug\OnMissPlugin::$request in ...vendor\/mirasvit\/module-cache-warmer\/src\/CacheWarmer\/Plugin\/Debug\/OnMissPlugin.php on line 96)

    1.1.6

    (2018-01-23)

    Fixed

    • Fixed Magento error "(InvalidArgumentException): Unable to serialize value." when incorrect content and json_encode return false

    1.1.5

    (2018-01-19)

    Fixed

    • Fixed an issue with block excluding when template have module class different from block

    1.1.4

    (2018-01-18)

    Fixed

    • Fixed minor bug in text
    • Fixed the error appeared while using command "unlock" in cli [Exception] Warning: unlink(cache-warmer.cli.crawl.lock): No such file or directory in .../app/code/Mirasvit/Cach eWarmer/Console/Command/CrawlCommand.php on line 217

    1.1.3

    (2018-01-05)

    Fixed

    bug: Fixed incorrect message (for magento 2.2.*)


    1.1.2

    (2018-01-04)

    Improvements

    improve: Message about incorrect version (if extension installed without composer)


    1.1.1

    (2017-12-08)

    Fixed

    • Fixed cli error if sysctl command not found

    1.1.0

    (2017-12-07)

    Fixed

    • Fixed cli command error

    Documentation

    • Documentation improvement

    1.0.63

    (2018-04-05)

    Fixed

    • Fixed error while feed generation
    • Fixed re-crawling 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

    1.0.60

    (2018-03-02)

    Improvements

    • Automatically using "Don't verify peer" function

    Fixed

    • Ability run setup:di:compile without database

    1.0.59

    (2018-02-12)

    Fixed

    • Fixed an error "Notice: unserialize(): Error at offset 255 of 255 bytes in .../app/code/Mirasvit/CacheWarmer/Model/Job.php on line 66"

    1.0.58

    (2018-02-02)

    Fixed

    • Fixed an error "sh: sysctl: command not found"

    1.0.57

    (2018-02-02)

    Fixed

    • Fixed an error "sh: sysctl: command not found"

    1.0.56

    (2018-01-19)

    Fixed

    • Fixed an issue with block excluding when template have module class different from block

    1.0.55

    (2018-01-18)

    Fixed

    • Fixed minor bug in text
    • Fixed the error appeared while using command "unlock" in cli [Exception] Warning: unlink(cache-warmer.cli.crawl.lock): No such file or directory in .../app/code/Mirasvit/Cach eWarmer/Console/Command/CrawlCommand.php on line 217

    1.0.54

    (2017-12-08)

    Fixed

    • Fixed cli error if sysctl command not found

    1.0.53

    (2017-12-07)

    Fixed

    • Fixed cli command error

    Documentation

    • Documentation improvement

    1.0.52

    (2017-11-29)

    Fixed

    • Fixed cli error

    1.0.51

    (2017-11-29)

    Fixed

    • Fixed cli error

    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 compatibility

    1.0.47

    (2017-11-27)

    Fixed

    • Fixed admin load time issue.

    1.0.46

    (2017-11-24)

    Fixed

    • Extended config recurring update

    1.0.45

    (2017-11-21)

    Improvements

    • Refactoring

    Fixed

    • Recurring json update

    1.0.44

    (2017-11-17)

    Fixed

    • Fix an error in console if use setup:install
    • Fixed an error when get cpu count

    1.0.43

    (2017-11-07)

    Fixed

    • Minor stability fix

    1.0.42

    (2017-11-03)

    Improvements

    • Stability improvement

    Fixed

    • Fixed an error "Cache frontend 'default' is not recognized." (for some stores)

    Documentation

    • Documantation update

    1.0.41

    (2017-10-18)

    Fixed

    • Magento 2.2 compatibility

    1.0.40

    (2017-10-17)

    Features

    • Hole punching for blocks

    1.0.39

    (2017-09-28)

    Fixed

    • Magento 2.2 compatibility

    Documentation

    • Documentation improvement

    1.0.38

    (2017-08-09)

    Fixed

    • Fixed an error with comman warm in command line

    1.0.37

    (2017-08-04)

    Documentation

    • Documentation update

    1.0.36

    (2017-08-04)

    Fixed

    • Minor compatibility adjustments introduced

    Documentation

    • Documentation update

    1.0.35

    (2017-07-26)

    Fixed

    • Minor compatibility adjustments introduced

    1.0.34

    (2017-07-24)

    Improvements

    • Menu improvement

    Fixed

    • Fixed an error

    1.0.33

    (2017-07-24)

    Improvements

    • Refactoring

    1.0.32

    (2017-07-18)

    Fixed

    • Fixed an error

    1.0.31

    (2017-07-17)

    Fixed

    • Fixed an error "Area code is already set"

    1.0.30

    (2017-07-10)

    Fixed

    • Fixed an error

    1.0.29

    (2017-07-10)

    Fixed

    • Fixed an error

    1.0.28

    (2017-07-07)

    Improvements

    • Ability crawl particular store

    Fixed

    • Fixed issue with maximum job run time
    • Compatibility with TemplateMonster

    1.0.27

    (2017-06-27)

    Fixed

    • Fixed popularity calculation for internal requests

    1.0.26

    (2017-05-15)

    Documentation

    • Documentation update

    1.0.25

    (2017-05-15)

    Improvements

    • Report period filter

    1.0.24

    (2017-04-25)

    Fixed

    • Fixed ability enable report for custom user roles

    1.0.23

    (2017-04-24)

    Features

    • Reports

    1.0.22

    (2017-04-18)

    Improvements

    • Ability to run/remove warmer jobs manually

    Fixed

    • Issue with vary string

    1.0.21

    (2017-04-13)

    Improvements

    • Added lock file, that not allows to run parallel warmer processes
    • Replaced product/category observer to plugins

    1.0.20

    (2017-04-12)

    Improvements

    • Speed up popularity logging

    1.0.19

    (2017-03-24)

    Fixed

    • Fixed an issue with compilation

    1.0.18

    (2017-03-24)

    Improvements

    • Performance of fill rate feature

    1.0.17

    (2017-03-23)

    Improvements

    • Crontab & User Interface

    Fixed

    • Fixed an issue with fill report

    1.0.16

    (2017-03-21)

    Improvements

    • Added mass actions to grid with pages

    Fixed

    • Fixed an issue with warming by page type

    1.0.15

    (2017-03-15)

    Improvements

    • Changed default configuration
    • Automatically removing not valid pages from warmer list

    Fixed

    • Fixed an issue with checking cache status for Varnish

    1.0.14

    (2017-02-22)

    Improvements

    • Added console command for test warming features

    1.0.13

    (2017-02-01)

    Fixed

    • Fixed compilation issue

    1.0.12

    (2017-01-27)

    Fixed

    • Added compatibility with old SEO version

    1.0.11

    (2017-01-26)

    Fixed

    • Fixed security issue

    1.0.10

    (2017-01-25)

    Fixed

    • Fixed an issue with observer event

    Improvements

    • Warm jobs

    1.0.8

    (2017-01-10)

    Improvements

    • Disable information toolbar for ajax requests (JSON output)

    1.0.7

    (2016-12-29)

    Fixed

    • Fixed an error if Cache-Control object not exist

    1.0.6

    (2016-12-28)

    Documentation

    • Improvement

    1.0.5

    (2016-12-28)

    Improvements

    • Compatibility with M2.2

    Documentation

    • Added new docs

    1.0.4

    (2016-12-16)

    Fixed

    • Fixed an issue with 404 pages error during crawling (CLI)

    Documentation

    • Settings

    1.0.3

    (2016-12-13)

    Improvements

    • Updated information and appearance of info block

    1.0.2

    (2016-11-24)

    Improvements

    • Compatibility with SEO version 1.0.34

    1.0.1

    (2016-11-07)

    Features

    • Info block which help check if page in FPC cache