Why a post can miss its time
WP-Cron checks due tasks when WordPress receives requests. A quiet site may run a scheduled task late if no request arrives at the scheduled time. A missed post can also result from a failed loopback request, an overlapping task, an incorrect site time zone or a scheduler configuration problem.
Check the post's scheduled time and the site's configured time zone before changing cron. Record whether other scheduled events, including updates and plugin tasks, are delayed too. A single failed event suggests a different investigation from every event being late.
Check the event path
Use Tools → Site Health to look for scheduled-event and loopback warnings. If WP-CLI is installed and you have appropriate access, list events with:
wp cron event list
Check the due time and hook, then review PHP and web-server logs for the corresponding window. Do not publish private post titles or log contents in a public ticket. A successful HTTP response alone does not prove the scheduled callback completed.
Use a system scheduler carefully
For time-sensitive sites, an operator can arrange a system scheduler to trigger WP-Cron at a suitable interval. Follow the WordPress instructions for the deployment, ensure the scheduler uses the right site and account, and monitor its result. If disabling request-triggered cron, first confirm the replacement is installed and working; otherwise tasks may stop entirely.
On a multi-server site, coordinate ownership and locking so a scheduled task is not executed unexpectedly in parallel. Plugins may have their own locking behavior, so test the actual workload rather than assuming all events are safe to repeat.
Verify
Schedule a harmless test post or event for a near-future time, allow the scheduler to run, and confirm both the result and logs. Check another event after a quiet period and document who owns scheduler alerts.
Further reading
Read the official documentation. For help applying these checks, explore Clouvenix services.