Разберём пошагово, как это сделать. Это решит проблемы с тайм‑аутами и петлевыми запросами.
Вариант 1. Через панель хостинга (cPanel, ISPmanager и т. п.)
Для cPanel
- Войдите в cPanel → найдите раздел Cron Jobs.
- В поле Common Settings выберите:
Every 15 minutes(каждые 15 мин). - В поле Command вставьте:
wget -q -O - https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron >/dev/null 2>&1Замените
ВАШ-САЙТ.RUна домен вашего сайта. - Нажмите Add New Cron Job.
Для ISPmanager
- Перейдите: Планировщик CRON → Создать.
- В поле Команда укажите:
curl -s https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - В расписании выберите:
- Минуты:
*/15 - Остальные поля:
*(звёздочка).
- Минуты:
- Сохраните.
Вариант 2. Через консоль (SSH)
Если у вас есть доступ к серверу по SSH:
- Откройте терминал и выполните:
crontab -e - В редакторе (обычно
viилиnano) добавьте строку:*/15 * * * * curl -s https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - Сохраните и выйдите:
- В
nano:Ctrl + O→ Enter →Ctrl + X. - В
vi: нажмитеEsc, введите:wq, нажмите Enter.
- В
Что означают параметры
*/15 * * * *— запускать каждые 15 минут;curl -s— тихо выполнить HTTP‑запрос (без вывода в консоль);https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron— URL для запуска WP‑Cron;>/dev/null 2>&1— скрыть вывод и ошибки (чтобы не засорять почту).
Какие команды использовать
Выбирайте одну из этих команд (все работают, но curl предпочтительнее):
- Через
curl(рекомендуется):curl -s https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - Через
wget:wget -q -O - https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cron >/dev/null 2>&1 - Через PHP‑интерпретатор (если нужен полный контроль):
php /путь/к/сайту/wp-cron.php(укажите полный путь к файлу
wp-cron.phpна сервере).
Как проверить работу
- Через лог cron (если есть доступ):
grep CRON /var/log/syslog(ищите строки с
wp-cron). - Через плагин (например, WP Control):
- Установите плагин → перейдите: Инструменты → Cron Events.
- Проверьте, что задачи выполняются по расписанию.
- Вручную — откройте в браузере:
https://ВАШ-САЙТ.RU/wp-cron.php?doing_wp_cronЕсли страница пустая (без ошибок) — скрипт работает.
Важные нюансы
- HTTPS vs HTTP
Используйтеhttps://, если сайт работает через SSL. Иначе запрос может не пройти. - Путь к файлу
Если сайт в подкаталоге (например,example.com/blog/), укажите полный путь:https://example.com/blog/wp-cron.php?doing_wp_cron - Ограничения хостинга
Некоторые хостинги:- блокируют внешние запросы к
wp-cron.php; - требуют использовать только
php‑команды.
Уточните у поддержки, если cron не запускается.
- блокируют внешние запросы к
- Тестирование
После настройки:- подождите 15–30 минут;
- проверьте, выполняются ли запланированные задачи (например, отложенные посты).
Итог
- Отключите WP‑Cron в
wp-config.php:define('DISABLE_WP_CRON', true); - Настройте системный cron одним из способов выше (каждые 15 мин).
- Проверьте работу через плагин или вручную.
Результат:
- исчезнут ошибки REST API (cURL error 28);
- стабилизируется кеширование;
- снизится нагрузка на сервер.
Буду рада, если мои наработки помогут вам в ваших задачах.
Всех обняла, Alla
WP
Пишите вопросы в комментариях или в группе в тг: https://t.me/wordpress71/8

