Features Pricing Reviews FAQ
Get Plugin

Scheduled Cache Prewarming

5 min read

Scheduled prewarming warms a set of URLs ahead of a planned moment, like a post going live, a sale starting, or a newsletter going out. That way the traffic spike lands on a warm cache instead of a cold page.

What this does

Normally the cache warms reactively, through the sitemap crawl or warm-on-publish. This module adds warming that you schedule in advance.

It gives you three ways to warm pages ahead of time:

  • One-off schedules. Warm a set of URLs once, at a date and time you pick.
  • Recurring schedules. Warm a set of URLs on a repeating cycle: hourly, daily, or weekly.
  • Scheduled-post publish. When a future-dated post reaches its publish time, xSpeed Cache fetches its URL once automatically, so the first visitor gets a cache HIT.

Each scheduled run visits your URLs in the background and writes a cached copy of each one. Schedules are driven by WP-Cron.

Why use it

  • Traffic spikes from a launch or campaign hit a warm cache, not a cold render.
  • Scheduled posts are already cached the moment they go live.
  • You control exactly which URLs warm and when.

Requirements

  • xSpeed Cache Pro active.

How to set it up

  1. Go to the xSpeed Cache dashboard in your WordPress admin.
  2. Open the Scheduled Prewarming panel.
  3. Turn on Enable scheduled prewarming.
  4. Add a schedule entry: give it a label, paste the URLs to warm, and choose whether it runs once or repeats.
  5. For a one-off entry, set the date and time. For a recurring entry, choose hourly, daily, or weekly.
  6. Save your settings.

You can add several entries. Each one is warmed on its own schedule.

Note: You can enter URLs one per line or separated by commas. Each URL must be a full http or https address. Invalid entries are dropped, and the panel tells you when that happens.

Warming a scheduled post automatically

If you write a post and schedule it for a future date, you do not need a schedule entry for it. As long as Warm scheduled posts on publish is on, xSpeed Cache fetches the post the moment it publishes.

Run now

Each saved entry has a Run now control that warms its URLs immediately, without waiting for the schedule. It reports how many URLs were actually warmed. If the module or the entry is disabled, nothing runs and the count is zero.

Settings explained

SettingWhat it doesDefault
Enable scheduled prewarmingRuns the schedules you set up and warms scheduled posts on publish.Off
Warm scheduled posts on publishWhen a future-dated post goes live, fetches it once so the first visitor gets a cache HIT.On
Max URLs per runCaps how many URLs a single scheduled run warms. Allowed range is 1 to 500.50

Enable scheduled prewarming

Turns the whole feature on or off. When off, no schedules run and scheduled posts are not warmed on publish. Default is off.

Warm scheduled posts on publish

When on, a future-dated post is fetched once as soon as it publishes, so its first visitor gets a HIT instead of a cold MISS. Default is on. This only works while the module is enabled.

Max URLs per run

Sets how many URLs one scheduled run will warm. This keeps a large URL list from hitting your server all at once in a single cron tick. The allowed range is 1 to 500, and the default is 50.

If an entry has more URLs than this cap, only the first ones up to the cap are warmed on that run.

Schedule entry fields

When you add or edit an entry, you set:

  • Label — an optional name so you can tell your schedules apart.
  • URLs — the pages to warm, one per line or comma-separated. Each must be a valid http or https URL.
  • Type — one-off or recurring.
  • When — the date and time for a one-off entry.
  • Recurrence — hourly, daily, or weekly for a recurring entry.
  • Enabled — whether this individual entry is active.

Note: After a one-off entry’s time has passed, xSpeed Cache prunes it automatically so your schedule list does not grow forever. Recurring entries are kept and repeat as set.

Best practices

  • Keep Warm scheduled posts on publish on so scheduled posts are never cold when they go live.
  • For a launch or sale, create a one-off entry a little before the moment traffic will arrive.
  • Keep Max URLs per run at a level your server handles comfortably. Raise it only if warming needs to finish faster.
  • Give each entry a clear label so you can find it later.

Troubleshooting

  • A schedule did not run. Confirm Enable scheduled prewarming is on and that the entry itself is enabled. Scheduled runs depend on WP-Cron, so the site must receive traffic (or a real cron trigger) around the scheduled time.
  • Fewer URLs warmed than expected. Check Max URLs per run. A run stops once it reaches that cap. A URL that returns an error is also not counted as warmed.
  • My schedule was not saved. An entry with no valid URLs is dropped on save. The panel shows a warning listing how many URLs or entries were skipped. Make sure each URL is a complete http or https address.

FAQ

Can one schedule warm several URLs? Yes. Paste them one per line or separated by commas. The run warms them up to the Max URLs per run cap.

What recurrences are available? Hourly, daily, and weekly.

Do I need a schedule entry for a post I scheduled for later? No. With Warm scheduled posts on publish on, the post is warmed automatically when it goes live.

Can I warm a schedule right now? Yes. Use the Run now control on the entry. It reports how many URLs were actually warmed.

  • Configuring the Cache Preloader
  • Predictive Cache Warming
  • How to Enable Page Cache
  • Purging the Cache