WordPress Missed Schedule error means that the Scheduled post was not published for some reason:
There are a few possible reasons for the WordPress Missed Schedule Error:
- Incorrect Timezone setting
- PHP Memory limits
- Cronjobs not executing
- Caching plugin
12.12.2022 UPDATE: There is a bug in WordPress 6.1 that causes this error
WordPress Timezone Settings
WordPress Timezone Settings are located under Settings → General
From there, make sure to choose a city that shares your time zone or the exact Coordinated Universal Time (UTC) offset. Remember to click on Save Changes when you’re done.
PHP Memory Limits
A low memory limit is one of the most common WordPress errors you can encounter and can cause the WordPress missed schedule error. If possible, increase the limits.
PHP memory limit can be checked from Tools → Site Health → Info → Server
To increase the memory limit add the following inside your wp-config.php file:
It is suggested to increase PHP Memory Limit above 256MB
Cronjobs not workings
Crons are scheduled tasks that WordPress uses to do maintenance: check and run updates, generate backups, preload cache, publish posts, etc. By default, WordPress runs cronjobs when someone visits your website, but in some cases when there are no visits, crons are not running.
To run a cronjob manually, visit: http://example.com/wp-cron.php?doing_wp_cron
Also, make sure to check wp-config.php file for this line that disables automatic crons.
You can also set a real server cron – that will always be executed on time. If you set the cron to execute every ten minutes, it will always execute every 10 minutes even if your website doesn’t have traffic.
Here is a great guide from Themeisle on How to Disable wp-cron in WordPress (and Use a Real Cron Job Instead)
Caching plugins are also known to cause the WordPress Missed Schedule Error. Purge all cache and temporarily disable caching plugin to see if it fixes the problem with scheduling posts.