For more details see the Full Page Cache Warmer for Magento 2 extension page.
With Cache Warmer for Magento 2 you'll be able to timely warm page cache according to your custom schedule to ensure fast page load and improve customer shopping experience.
Enable the extension - Set the option to 'yes' to activate the Cache Warmer. The option has a 'Global' scope so it is not possible to run the warmer on a certain web store/store view.
Auto-update cache upon the product changes - Due to this option, URLs of updated pages will be automatically added to the warmer queue.
Auto-generate Queue after Cache Flush - Set to yes to automaticly generate warmer queue after cache flushing. That's useful as the cache will be warmed up right away and there's no need to wait until this moment comes on schedule.
php bin/magento fpc:warmer:process
php bin/magento fpc:warmer:generate
Query Generation Source - allows selecting any of 3 available generation sources:
1. Page types
Page Types - If you select 'Page Types' as a query generation source, you can choose which pages should be warmed. Drag and drop pages to prioritize pages for the warming queue depending on their importance.
2. XML Sitemap with Pages Priority
XML Sitemap with Pages Priority- The option requires a valid XML sitemap located in your Magento 2 root folder. Also, set the relative path to the Sitemap XML file on your server.
3. Custom .TXT file with one link per line
Text file with one link per line - You can use a custom text file with a list of links to be crawled (one link per line). Specify the file path on your server.
4. Sitemap XML and Text File together
Sitemap XML and Text File together - Both the sitemap and the text file will be used for creating the URL queue for FPC warming. Specify the Queue links file path and the Sitemap XML file path.
5. Customer Activity Source - Create a warming queue based on the most popular pages of your website. Pages are rankes according to the number of visits. The most popular pages URLs will be at the beginning of the queue and will be warmed first, the least – at the end.
Queue Generation Schedule - It's possible to schedule warming queue generation according to any specific needs.Use the cron expression to schedule queue generation jobs, e.g. 0 */12 * * to run cron every twelve hours.
Queue Max Size - Set the maximum number of page URLs for the warming queue.
Single Batch Size - The module processes pages in batches. Specify the maximum number of pages that can be processed by cron within a single run.
Warmer Schedule -Schedule warmer jobs. For example, */5 * * * * to run cron every five minutes.
Delay between requests - Please make sure there is enough delay to keep the server load safe. Default value is: 300 (milliseconds)
Log Size - Set the maximum number of lines in the log grid.
Take a look at the example below:
Let's say you’ve chosen the following settings:
«Customer Groups» = General
«Stores» = English, French
«Currency» = USD
There are 3 settings selected: one for a customer group, two for stores, one for currency. Besides, each of these
settings will not be specified for the request (e.g. set as Default).
Thus, here’s the number of combinations for two links:
2 links * 2 customer groups * 3 stores * 2 currencies = 24 request variants
As a result, each link will be checked in the following 12 combinations:
1. Default + Default + Default : the page is requested with no parameters whatsoever.
2. General + English + USD : switched to General group + English is on + currency changed to USD
3. General + English + Default : switched to General group + English is on + no currency is set
4. General + French + USD : switched to General group + French is on + currency changed to USD
5. General + French +Default : switched to General group + French is on + no currency is set
6. General + Default + USD : switched to General group + English is on + currency changed to USD
7. General + Default + Default : switched to General group + English is on + no currency is set
8. Default + English + USD : no group is set + English is on + currency changed to USD
9. Default + English + Default : no group is set + English is on + no currency is set
Exclude Pages - the option lets you exclude any pages from cache warming. In our example, we excluded the Training category page and all product pages from this Category.
Hole Punch - the feature allows you to exclude certain page blocks from cache warning. You can exclude static or dynamic blocks.
To find the info on Template and Block's class, you'll need to complete few steps. First, go to the Stores→Settings→Configuration→Advanced→Developer.
In Debug, set both the Enable Path Hints for Storefront and Add Block Type to Hints as Yes. When you go on the storefront, the pages will look like in the example below. The Template data will be displayed on the left, and Block class — on the right correspondingly.
To exclude the dynamic block from the cache, you'll need to insert the Template and the Block's ID.
First, configure the Debug as it was described in the Static Blocks Configuration above and copy the Template info.
To obtain the Block's ID, simply insert the ID from the Content→Blocks.
Use HTTP Authentication - Use this option only if your website is protected with .htaccess
Disable certificate verification - Enable this feature only in case the FPC warmer doesn't work for https.
Show Cache Status Only For - specify particular IP addresses fro which cache statuses will be displayed. Leave the field blank if you don't want to limit cache status display.
Here is the list of page URLs waiting to be processed.
Flush Cache for particular urls – If you change some good info, it's possible to flush cache for its product page only. It's useful as you won't need to warm cache from scratch for all the other urls. You can do it by clicking the 'Flush Cache' button for each URL, or for the selected urls via mass actions.
Here you can see the number of visits for each url of the store. Each url gets status based on the number of visits. It's used for 'Customer Activity Source' of queue generation.
Magento 2 Full Page Cache Warmer extension is preintegrated with Cron Tasks List to provide store owners with an opportunity to track and manage all cron tasks running in the website background.
To view all scheduled and executed cron tasks, go to System → Cron Tasks List
Run all cron tasks and generate their schedule by clicking the ‘Run Cron’ button. Also you can delete separate tasks in bulk, apply filtering and sorting options when it is needed.
Status Codes - The stats report shows page statuses, as well as the number of pages with each particular status for all processed pages. It's highly useful for showing the percentage of errors and success loads.
Warmed Pages - Summary stats of requested pages for previous time periods.
Check page statuses on the frontend.
The module displayed detailed information about not cacheable blocks.