Speed
Cache warm-up
Without warm-up, a page only enters the cache when a visitor asks for it: after a catalogue change or a cache flush, that first visitor is the one who waits while PrestaShop builds it. The warm-up does this work instead, in the background, so every page is ready before the first real visit.
What gets warmed up
The home page, categories, product pages, CMS pages and brands, in every active language, requested as an anonymous desktop visitor would. Only page types whose cache lifetime is above zero (Settings tab) are in the list.
- Priority pages first
Each run starts with the pages edited in the back office and the most visited pages that have left the cache (“Rebuild modified pages” option in the Settings tab).
- Then the catalogue, in slices
A run works for at most 25 seconds, then remembers where it stopped; the next one resumes from there. The catalogue is covered over several runs, then the pass starts again from the beginning.
- One run every 15 minutes
The scheduled task calls the module every minute; it only runs when it is due. Two runs never overlap.
Setting up the scheduled task
Cache Warmer tab, Scheduled task setup section: copy the address shown, or the ready-made crontab line, and have it called every minute by your hosting's cron or by an online cron service. A call with nothing to do answers immediately and costs the server almost nothing. Keep this address private: the token it contains is enough to start a warm-up. While the cache is disabled, it answers without doing anything.
Boost mode
After a full cache flush or a theme update, every page has to be rebuilt. Boost mode then runs on every scheduled task call, so every minute, until the whole catalogue has been covered once, then returns to the normal pace on its own. It starts with one click or automatically after every full cache flush (option on by default), and stops in any case 6 hours after it started.
Following the warm-up
The Cache Warmer tab shows whether the scheduled task is running, late or no longer running, its real frequency, the position in the current pass and the estimated duration of a full pass. The Run a pass now button does exactly what the scheduled task does.
The log records every run (start, duration, origin, priority pages, pages requested, average response time), with totals over 24 hours, 48 hours and 7 days, and keeps 30 days of history. Each requested page falls into one column:
- Already cached: nothing to do, the page was ready.
- Cached: the run built it for the next visitors.
- Refused: page excluded from the cache, or could not be stored.
- Errors: failed HTTP response.
The first refused or failed pages of each run are listed below the log, so you can understand without searching.
