Back to knowledge base

WordPress Missed Schedule: Check WP-Cron Before Installing Another Plugin

Sep 13, 2026

A missed scheduled post is a symptom, not a diagnosis. Start by separating the time you expected, the time WordPress stored, and whether the scheduled task ran. This is especially useful if background updates or other timed tasks have also stopped.

Check the intended publication time

Compare Settings → General → Timezone with the publication time shown in the editor. Record both rather than changing the timezone and rescheduling everything at once. Check whether the content is actually scheduled, still a draft, or awaiting review. If the site serves an international audience, write the expected time with its timezone in the incident note.

Understand how the task gets triggered

WP-Cron checks for due tasks on page loads; it is not a continuously running operating-system scheduler. On a site without timely requests, execution can happen later than the scheduled time. A host-managed scheduler may be more appropriate when timing matters. See the WordPress Cron handbook.

Ask your host whether this installation uses normal WP-Cron or a system scheduler. If DISABLE_WP_CRON is enabled, confirm the replacement schedule actually exists and targets the correct installation. Do not toggle that setting without understanding why it was set: you could leave tasks without a trigger or create overlapping triggers.

Find out whether one task or many tasks are late

Review Tools → Site Health and ask for the scheduler's recent execution results. WordPress also recommends checking Site Health when investigating failed plugin or theme auto-updates; see its auto-update documentation. A due task, an HTTP request to the scheduler, and a successful task completion are not the same thing.

  • If only one publishing task fails, inspect errors at that time and any publishing-workflow customization.
  • If several timed functions are late, investigate the trigger and shared runtime first.
  • If a host reports successful scheduler requests, ask whether the relevant callback also completed.

Do not run every pending task as a test on a live business site. Scheduled work may send emails, create invoices, or change orders. Choose a harmless test with the site owner and keep the scope explicit.

Use a controlled verification

On staging, schedule a test post, note the expected time, and observe whether it publishes under the same trigger arrangement as production. A manual successful run demonstrates that the task can execute; it does not prove the automatic schedule is repaired. Check the next automatic run separately.

For a support request, collect the expected publication time and timezone, actual result, relevant Site Health messages, and the host's scheduler status. Redact private URLs and credentials. Link the investigation to your background-update checks if those are failing too. For recurring timing or availability problems, review WordPress downtime prevention and request a free human review.

Related articles