WordPress WordPress 6.xLinuxPHP-FPM / PHP

WordPress: публикация по расписанию не вышла

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Сначала проверьте время и точность расписания, затем работу внутренних запросов WordPress и только после этого — настройку cron на сервере. Системный cron следует включать до установки DISABLE_WP_CRON, иначе события перестанут запускаться.

В этой статье
  1. Суть неисправности и признаки
  2. Почему возникает проблема
  3. Пошаговая диагностика и устранение
  4. Как проверить результат и что делать, если не помогло

#Суть неисправности и признаки

В списке записей WordPress возле запланированной публикации появляется отметка «Пропущена запланированная публикация» (Missed Schedule), а статья остаётся недоступной читателям после назначенного времени. WordPress использует механизм WP-Cron, который не равен постоянному системному планировщику Linux. Сначала проверьте время и точность расписания, затем работу внутренних запросов WordPress и только после этого — настройку cron на сервере. Системный cron следует включать до установки DISABLE_WP_CRON, иначе события перестанут запускаться.

#Почему возникает проблема

Возможная причинаКак узнатьЧто делать
WP-Cron не запускается своевременноОбычно запуск плановых событий инициируется при обращениях к сайту; редкое посещение и проблемы петлевых запросов задерживают работу.Просрочены сразу несколько задач, а после посещения сайта часть запускается.Проверить петлевые запросы и при необходимости подключить системное расписание.
Отключён WP-Cron без заменыВ wp-config.php стоит DISABLE_WP_CRON=true, но внешний планировщик не настроен или запускает неверный сайт.События не выполняются независимо от посещений; в журнале cron нет успешных запусков.Настроить рабочий cron и лишь затем отключать запуск по посещениям.
Неверный часовой поясЧасовой пояс WordPress отличается от предполагаемого времени автора.В редакторе запланированная дата не совпадает с местным временем.Проверить «Настройки» → «Общие» → «Часовой пояс».
Ошибка плагина/фоновой задачиPHP-фатальная ошибка или блокировка loopback прерывают механизм планирования.В «Здоровье сайта» указана ошибка петлевого запроса или журнала PHP.Найти ошибку по времени и исправить конкретное расширение.

#Пошаговая диагностика и устранение

  1. Сохраните содержимое записи и время публикацииОткройте «Записи» → «Все записи», отфильтруйте по запланированным и запишите название проблемного материала, дату и отметку «Пропущена...». Откройте запись и убедитесь, что её текст сохранён. Прежде чем менять время или статус, сделайте копию базы данных: ручная публикация меняет URL доступности и может отправить уведомления читателям.
  2. Сверьте часовой пояс и статусОткройте «Настройки» → «Общие», найдите поле «Часовой пояс» и убедитесь, что выбран правильный город или смещение. Затем вернитесь к записи и проверьте календарь публикации. Если назначенная дата на самом деле ещё не наступила в часовом поясе сайта, ошибки планировщика нет. Изменяя пояс рабочего сайта, учтите влияние на все будущие задачи и запишите старое значение для отката.
  3. Проверьте Здоровье сайта и ошибки loopbackВ админке WordPress перейдите «Инструменты» → «Здоровье сайта» → «Состояние». Найдите замечания о планируемых событиях и петлевом запросе. Если отображается ошибка HTTP 401/403/5xx, запишите её; это важнее, чем случайная замена расписания. Петлевой запрос использует обращение WordPress к собственному сайту и может зависеть от DNS, TLS и правил авторизации.
  4. Посмотрите настройку DISABLE_WP_CRONЧерез панель файлов или SFTP найдите wp-config.php, откройте только для чтения и поищите DISABLE_WP_CRON. Если установлено true, посетители не запускают обычный WP-Cron; выясните в панели хостинга, создана ли системная задача для этого сайта и успешны ли её последние запуски. Не удаляйте константу вслепую и не создавайте второй планировщик с частыми дублирующими запросами.
  5. Если есть WP-CLI, протестируйте запускПод владельцем сайта в SSH перейдите в каталог с wp-config.php, убедитесь, что команда wp доступна, затем выполните wp cron test. Ожидается Success либо диагностическое сообщение. Отсутствие WP-CLI не означает неисправность WordPress: попросите хостинг проверить cron. Если тест не прошёл, сначала разберите указанную ошибку, не запускайте сразу все просроченные события на рабочем сайте.
  6. Исправьте обнаруженную помехуЕсли диагностика указала на HTTP-ошибку, проверьте правила доступа и петлевые запросы по времени в журналах; если cron отключён, настройте его через «Задания по расписанию» панели хостинга для корректного веб-пути или WP-CLI, после согласования с администратором. Укажите реальный путь и частоту, соответствующую задачам сайта. Проверяйте журналы исполнения: пустая строка журнала не подтверждает успешную публикацию.
  7. Проверьте одиночное запланированное событиеСоздайте тестовую запись без рассылки подписчикам, выберите в редакторе время публикации на несколько минут позже текущего. Дождитесь наступления времени и обновите список записей: статус должен измениться на «Опубликовано», а адрес записи открываться без авторизации. Если задача срабатывает только после визита на сайт, проблема относится к механизму запуска WP-Cron и решается правильной системной задачей.
  8. Восстановите пропущенную публикацию и отслеживайте результатКогда причина устранена, вручную опубликуйте просроченную запись только с согласия автора либо запустите одно нужное событие с помощью WP-CLI после проверки его назначения. Не запускайте все просроченные задания массово: среди них могут быть рассылки, платежи и очистки. Зафиксируйте следующий контрольный запуск и верните любые временно изменённые настройки часового пояса.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Обычная команда WP-CLI из каталога WordPress под владельцем сайта.
    Linux · Терминал (Bash)Команда
    Обычная команда WP-CLI из каталога WordPress под владельцем сайта. Не требует sudo; диагностирует возможность запуска WP-Cron.
    wp cron test
    Вариант 2Откройте SSH в каталоге WordPress, когда WP-CLI уже установлен.
    Linux · Терминал (Bash)Команда
    Откройте SSH в каталоге WordPress, когда WP-CLI уже установлен. Команда только показывает список событий; не запускает задачи. В отдельных версиях набор полей может отличаться.
    wp cron event list --fields=hook,next_run_relative,recurrence

#Как проверить результат и что делать, если не помогло

Успех: контрольная запись публикуется в назначенный момент без ручного открытия страницы, а новые просроченные события не накапливаются. Если cron тестируется успешно, но конкретная публикация не выходит, ищите PHP-ошибку соответствующего обработчика и конфликт дополнения. При отключённом системном расписании верните прежнюю константу только после понимания, что именно будет запускать плановые события.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.