Full Page Cache Warmer helps a Magento store load faster for real visitors. It does not replace the cache system; it prepares the cache in advance by visiting pages the same way a customer would, so Magento Built-in FPC, Varnish, LiteMage, or another enabled cache layer can store those pages before anyone opens them.
Below is how the module works, step by step.
1. Building the warming queue
First, the module creates a queue — a list of page links that should be warmed. This list is built from settings in Amasty > FPC Warmer > Configuration, mainly:
- Source and Priority — where links come from (for example: homepage, categories, products, CMS pages, sitemap, or customer activity log)
- Performance Settings — how many links can be in the queue and when it should be rebuilt
- Page Combinations — which pages to skip (Exclude Pages) and how each page will later be warmed (store view, currency, customer group, mobile view, and similar options)
The queue can be created either automatically by cron (on the schedule set in Queue Generation Schedule), or manually from Amasty > FPC Warmer > Warmer Queue using the Generate queue button.
After generation, the links appear in Warmer Queue and wait to be processed (Amasty > FPC Warmer > Configuration > Page Combinations).
2. Cron takes pages in batches and warms them
The module uses Magento cron (amasty_fpc_process_queue) to process the queue on a regular schedule (Process Queue Schedule in Performance Settings).
On each run, cron:
- takes the next batch of links from the queue (batch size is set in Single Batch Size)
- visits those pages to warm them
- removes processed links from the queue once warming for that page is done
The queue gradually becomes smaller as pages are warmed.
3. Sending requests like a real visitor
To warm a page, the module sends a normal web request to the store, similar to opening the page in a browser.
Depending on Page Combinations settings, the same URL may be warmed several times with different conditions, for example:
- different customer groups
- different currencies
- different store views
- mobile version of the page (if enabled)
The module uses an HTTP client (internally based on cURL, via Guzzle) to make these requests. Cookies, headers, and other visit parameters are adjusted so the store treats each request like a real customer visit.
4. How caching actually happens
When the module requests a page, the website works as usual:
- Magento builds the page
- The active cache system (Built-in FPC, Varnish, LiteMage, etc.) saves it
The warmer does not create or manage cache by itself. It only triggers page loading so the cache tools already enabled on the server can store the result.
5. Recording results in Warmer Log
After each warming request, the module saves a record in Amasty > FPC Warmer > Warmer Log. There it is possible to see, for example:
- which URL was warmed
- response status
- load time
- store, currency, customer group, and other context used for that request
This helps verify that warming is running correctly.