Cache Warmer

Описание

Visits website pages to warm (create) the cache if you have any caching solutions configured.

Settings

  • Configure cache warming entry points and the depth of the warming;
  • Add all public site posts as entry points;
  • Add entry point sites sitemaps as entry points;
  • Select which types of assets to load, with 4 checkboxes: scripts, styles, images, fonts;
  • Set custom URL params (?foo=bar);
  • Set custom user agent;
  • Set custom request headers;
  • Set custom cookies;
  • Set connection timeout;
  • Set speed limit (pages to visit per minute);
  • Autorun Interval: to run the warming each N minutes;
  • Exclude pages (by substring or regex);
  • Rewrite URLs to HTTPS;
  • Visit pages second time without custom URL params (if they are set);
  • Warm-up posts (on their publication and edit (Can be seen in Logs -> Triggered)):
    • Set custom posts warming interval.
  • Use object cache for tree storage, when it’s available.

Additional

  • Adds a graph to your dashboard with page load time before and after the warming (2 lines) per day.
  • Cleans up Action Scheduler log after itself (older than 30 days for failed actions, and older than 2 days for completed actions).

External services

  • Connect to paid service for warming from external global servers.

Run from code

  • Start: \Cache_Warmer\AJAX::start_warm_up( false );
  • Stop: \Cache_Warmer\AJAX::stop_warm_up( false );

Run from WP CLI

  • Start: wp cache-warmer start
  • Stop: wp cache-warmer stop

Required PHP extensions

  • json
  • simplexml (optional)

Bug reports / Questions / Suggestions

wp@tmm.ventures

Скриншоты

Отзывы

28.08.2025 1 ответ
This is a really good helper plugin. Thanks so much for the development. The only thing that doesn’t work is the activation of the plugin in a XAMPP environment. I think I would have to dig deeper into the code, to see, what the error with XAMPP meant.. But anyways.. on my shared hosting it worked out of the box and is a very helpfull utility. If I find the time, maybe I’ll fork it 🙂 Thanks again for this masterpiece! Love it.
24.11.2024
Perfect plugin, not much to change. Litespeed Cache is pretty bad without this, and incredible when paired with this. Also, I like it much more than even the official Litespeed crawler.
29.10.2024
I have been looking for a plugin like this for a long time. With Redis full page caching, they are only added to the cache on first load and then dropped after 4 hours in the cache. This is a really nicely made plugin that will preload these files into cache at regular intervals. It’s an amazing plugin.
25.09.2024
This is a well thought-out plugin. A notable feature is that the log shows these three headers: cf-cache-status, x-cache and X-WP-Super-Cache. Which means you’ll know at one glance the status of Cloudflare’s edge cache, httpd’s mod_cache disk cache, and, I suppose, the WP Super Cache plugin’s less efficient disk cache if that’s what you’re using.
24.07.2024
Thank you for this plugin. It is a lifesaver, when you need a reliable cache warming tool. In my installation the standard preload of WP Rocket didn’t work as expected. I tried to find a solution for months. Cache warmer now reliable preloads all given sitemaps in a defined interval.
Посмотреть все 18 отзывов

Участники и разработчики

«Cache Warmer» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

Перевести «Cache Warmer» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

1.3.8 2024-11-18

Bugfixes

  • Fix UI rendering bugs.

1.3.7 2024-11-02

Bugfixes

  • Fix interval scheduling issue.

1.3.6 2024-10-21

Enhancements

  • Add WP-CLI support.

1.3.5 2024-10-20

Bugfixes

  • Fix fatal error on plugin update.

1.3.4 2024-10-19

Enhancements

  • Add support for WP CLI.

Bugfixes

  • Fix scheduled intervals.

1.3.3 2024-10-05

Enhancements

  • Instead for checking for intervals in constructors on every page load, check for them only once on plugin activation. Add a button and other interval (which is scheduled in constructor) to fix any missing intervals.

1.3.2 2024-09-29

Bugfixes

  • Warming start bug fix.

1.3.1 2024-09-29

Enhancements

  • Add support for external warmer — simply for each page visit, and with the intervals.
  • Added functionality to start / stop the warming from code (or with WP CLI with «wp eval»).

Bugfixes

  • Fix the warming interval stuck bug.

1.3.0 2024-06-24

Enhancements

  • Speed up warmings (optimization).

Bugfixes

  • Fix stuck object cache bug.

1.2.5 2024-06-23

Bugfixes

  • Fix stuck object cache bug.

1.2.4 2024-06-23

Changes

  • Do not schedule notifications fetch action.

1.2.3 2024-06-05

Bugfixes

  • Fix Action Scheduler bug.

1.2.2 2024-05-26

Bugfixes

  • Fix Fatal Error with explode on Windows by using DIRECTORY_SEPARATOR constant.

1.2.1 2024-05-02

Enhancements

  • Use standard Action Scheduler interval.
  • Update WP-Plugins-Core.

1.2.0 2024-04-23

Bugfixes

  • Fix the unscheduled warming with empty data (which results in PHP Warnings).

1.1.9 2024-03-12

Bugfixes

  • Fix the «depth» setting.

1.1.8 2024-03-11

Bugfixes

  • Fix the sitemaps parsing (didn’t visit them at all previously).
  • Fix ID for «external warmer» setting fields.
  • Fix «speed limit» bug.

1.1.7 2024-02-28

Bugfixes

  • Fix settings import button color.
  • Fix a bug when the scheduling time is drifting.
  • Fix the wrong warming «Duration».
  • Fix «speed limit» bug.

Enhancements

  • Warm sitemaps and posts first (with prio), and only then entry points.

1.1.6 2024-01-14

Bugfixes

  • Fix «Request: DOMDocument::loadHTML(): Argument #1 ($source) must not be empty».

1.1.5 2024-01-13

Enhancements

  • Update default User-Agent to the newer version of Chrome.
  • Increase URL params limit from 5 to 50.
  • Add a setting to specify custom request headers.
  • Add a setting to visit pages second time without custom cookies (when they are set).
  • Improve canonicals logic, to add a log icon with the canonical to the warm-up log; and if ‘skip pages with warmed canonical’ setting is off, then also warm the canonical page immediately.

Bugfixes

  • Fix table cells style (overflow: auto for all).
  • Logs in the site’s timezone.
  • Fix a bug when resetting settings does not change posts warming enqueue.
  • Fix user-agent table width when no values are set.

1.1.4 2023-09-23

Bugfixes

  • Fix canonicals logic.
  • Do not untrailingslash all URLs, but keep them as they are.
  • Allow to specify «localhost» as entry points.
  • Fix URL column style (overflow: auto).

1.1.2 2023-09-16

Enhancements

  • Add an option to specify several User-Agents.
  • Dynamically escape regex characters when enabling regex. And de-escape on uncheck.
  • For headers-based requests classification, do not show 0, but instead show nothing; so that people could not misinterpret it as another request.
  • Add a setting to skip the pages with the warmed canonical.
  • Add optional «Comment» column to the warm log.
  • Change number of pages in batch size from 10 to 1 to increase the robustness.
  • Add a setting for logs retention time.
  • New menu layout.

Bugfixes

  • Make «Rewrite to HTTPS» to work for the «URL to warm» on page edit block, and for entry points pages exclusion.
  • Fix update_failed_to_retrieve_links() and update_retrieved_links() added links check, to not add duplicates.
  • Improve RegExes robustness by using «lazy» quantifiers, instead of the greedy ones.

1.0.54 2023-07-18

Enhancements

  • Use wp_options table instead of cache for the lock of migrations.
  • Set min PHP version to 7.4.

1.0.51 2023-07-16

Enhancements

  • Cleans up Action Scheduler log after itself (older than 30 days for failed actions, and older than 2 days for completed actions).
  • Added index to the table to make the post edit page open faster.
  • Entry points limit lifted.
  • Can specify homepage relative paths as entry points.
  • Add support for «html» files warming.
  • Add a notice when the plugin is being updated instead of blocking the whole logic.

Bugfixes

  • Fix table creation error.
  • Fix action scheduler scheduling (improve initialization check).
  • Fix a bug to not warm «mailto:» URLs, but only the ones that start from «http://» or «https://».
  • Add checks in case wp_parse_url() is false.
  • Add Author metadata to the plugin main file.
  • Do not add URL params to files with ‘XML’ extensions.
  • Fix a bug when URL params to sitemap pages were not added.
  • Fix a bug when «sitemaps» setting was not reset.

1.0.44 2023-06-11

Bugfixes

  • Add pagination to blog posts.
  • Support pagination for plaintext URLs structure.

1.0.43 2023-06-08

Bugfixes

  • Fix URLs overlap over the post edit content box.

1.0.41 2023-06-07

Enhancements

  • Add pages support for taxonomies.
  • Better migration routine.

1.0.40 2023-06-07

Bugfixes

  • Add missing libraries.

1.0.38 2023-06-06

Bugfixes

  • Fix the plugin (didn’t start previously).

1.0.37 2023-06-06

Enhancements

  • Decrease plugin size from 8 MiB to 2.8 MiB by removing irrelevant files.

1.0.36 2023-06-03

Enhancements

  • Rename «Interval» tab to «Autorun Interval».
  • Capitalize first letters of all tab words.
  • Add post URL, and with URL params (if presents) to the post edit block.
  • Add option to exclude pages by regex.

Bugfixes

  • Fix interval-based warming.

1.0.35 2023-05-15

Enhancements

1.0.34 2023-04-30

Bugfixes

  • Fixed error when the host was undefined.

1.0.25 2023-02-23

Enhancements

  • Check page load time pre warmer.
  • Add Varnish and Cloudfront support.

1.0.20 2023-02-15

Bugfixes

  • Redundant dashboard query deleted.

1.0.19 2023-02-14

Bugfixes

  • Min PHP version required downgraded to 5.6.20.

1.0.17 2023-02-08

Optimizations

  • Dashboard query to consider only the previous 30 days.

Bugfixes

  • Default sitemap priority changed from 0 to 0.5.
  • Add terms to the tree query fixed.

1.0.16 2023-02-08

Enhancements

  • Improved accuracy for server IP address detection.

1.0.15 2023-02-08

Bugfixes

  • Regexes fixed and improved (now work more accurately and catch more links).

1.0.11 2023-02-08

Enhancements

  • Consider priority for sitemaps.

1.0.10 2023-02-08

Enhancements

  • Optimized dashboard widget by using a faster query for the dashboard widget.

Bugfixes

  • Do not get empty afterload time for the dashboard widget.

1.0.9 2023-02-08

Enhancements

  • Add term links and archives to the posts also.

1.0.8 2023-02-05

Enhancements

  • Option to sitemaps of entry points as entry points

1.0.7 2023-02-04

Enhancements

  • Option to add all public site posts (of any type) as entry points.

Bugfixes

  • Batch size reduced from 10 to 1.

1.0.6 2023-02-02

Enhancements

  • Post warm details.

1.0.5 2023-02-02

Enhancements

  • Slow down when hit 429 or 500 error: first 2 times slower for 15 minutes from the previous avg speed, then 8 times slower, then pause for an hour.

Bugfixes

  • Speed limit is now working properly.

1.0.4 2023-01-30

Enhancements

  • Show a notification when a page is blocked by Cloudflare or other firewall (403, 502, 504 codes).

Bugfixes

  • Infinite loop during fake tree creation when the initial passed depth is 0.

1.0.3 2023-01-29

Enhancements

  • Changelog added.