WP-Cron в WordPress — это не настоящая системная задача по расписанию, а имитация: он запускается только при заходе посетителя на сайт. На сайтах с низким трафиком публикации по расписанию могут откладываться на часы, пока не зайдёт хоть кто-то.
Почему так устроено по умолчанию
WP-Cron проверяет отложенные задачи (публикацию по расписанию, проверку обновлений) при каждой загрузке страницы. Если сайт посещают редко, эта проверка просто редко срабатывает — задача технически запланирована верно, но триггера для её выполнения долго не происходит.
Решение — настоящий cron на сервере
Отключите псевдо-cron константой define('DISABLE_WP_CRON', true) в wp-config.php и настройте реальную задачу на хостинге (через панель управления или crontab), которая обращается к wp-cron.php каждые несколько минут независимо от посещаемости.
Как проверить, что это действительно причина
Плагин WP Crontrol показывает список запланированных задач и точное время их следующего запуска — если время неоднократно «уезжает» позже плана, дело именно в отсутствии стабильного триггера.



