Как настроить WP-Cron в WordPress и не грузить сервер лишними задачами

wp cron wordpress nastroit cover Без рубрики
WP Crontrol, cron в панели */15, DISABLE_WP_CRON после проверки, тест отложенной записи. Без SSH, простой русский для сайта услуг.

Хостинг пишет, что процессор на пределе, а вы не гоняли рекламу: просто сайт услуг на WordPress с бэкапом, SEO и кэшем. Боитесь отключить WP-Cron и потерять отложенные записи и письма с формы? Алексей, мастер по ремонту техники, увидел в WP Crontrol три плагина с проверками каждые 5 минут плюс ядро, которое дёргает фоновые задачи на каждом заходе. За 30–40 минут можно убрать лишний шум, оставить один вызов wp-cron.php по расписанию и не грузить сервер на каждом клике посетителя.

WP-Cron в WordPress — это не часы на сервере, а очередь задач, которую сайт проверяет при загрузке страницы. После переноса на задание хостинга раз в 15 минут официальная документация рекомендует отключить автозапуск при визите: иначе тратите ресурсы дважды. Сначала настройте cron в панели и проверьте отложенную запись, потом добавьте define(‘DISABLE_WP_CRON’, true) в wp-config.php. Константа не удаляет расписание — меняется только то, что запускает очередь.

Ниже — без лекции про Linux: лишние задачи, когда хватит встроенного режима, чек-лист для cPanel, ISPmanager и RU-хостинга. Полная замена cron — в отдельном гайде; здесь нагрузка и «шумные» плагины. Ещё темы WordPress — в разделе статей.

Разберите, что WP-Cron делает на сайте услуг

Схема на блокноте на кухонном столе: как WP-Cron запускается при визите на сайт услуг

На каждого гостя в ресепшене включают полную уборку — так при активных плагинах PHP на визите проверяет очередь: пост, письмо, бэкап. Задача на 14:00 сработает только после следующего захода после 14:00 — терпимо для маленького блога с трафиком.

Типичная ошибка владельца услуг: поставить пять плагинов с проверкой каждые 5 минут и не заметить, что хостинг считает сотни обращений к wp-cron.php в сутки. На shared-тарифе при росте посещений такой фон грузит CPU, память и базу данных. Например, кэш отдаёт готовую страницу без PHP — и встроенный cron почти не просыпается, а отложенная акция до пятницы может зависнуть. Тогда без вызова wp-cron.php по расписанию не обойтись.

Схема: посетитель открывает сайт → WordPress смотрит очередь cron → плагины запускают свои проверки → нагрузка растёт. Цель B61: оставить уборку по расписанию хостинга и убрать дубли от плагинов.

Найдите лишние задачи через WP Crontrol

Чеклист задач cron на бумаге на кухонной столешнице — аудит через WP Crontrol

Без SSH список фоновых задач смотрят в админке. Установите бесплатный плагин WP Crontrol из каталога WordPress, откройте Инструменты → Cron Events. Там колонки Hook (имя задачи), Next Run, Recurrence (как часто повторяется).

На что смотреть в первую очередь:

  • События чаще, чем раз в час, если бизнесу не нужна такая частота (бэкап, SEO-скан, проверка лицензии).
  • Несколько похожих хуков от разных плагинов — дублирующие напоминалки.
  • Next Run застывший месяцами — задача не выполнялась (часто из-за кэша или нулевого трафика).

В реальном проекте Алексей отключил в настройках легкого плагина лишнее расписание и оставил ядро WordPress нетронутым. Ручной запуск Run now в Crontrol помогает проверить одну задачу без ожидания 15 минут. Не удаляйте события ядра вслепую — сначала поймите, какому плагину принадлежит хук (подсказка в описании или документации плагина).

Выберите: встроенный WP-Cron или задание хостинга

Две карточки-стикера на столе: встроенный WP-Cron или задание панели хостинга

Не всем сразу нужен перенос. Пройдите короткий чек-лист:

  1. Хостинг жалуется на CPU или в статистике видны частые вызовы wp-cron.php — переходите на задание в панели.
  2. Стоит агрессивный кэш или CDN — визиты не доходят до PHP, встроенный cron молчит.
  3. Нужны ночные бэкапы и отложенные публикации по времени — надёжнее фиксированное расписание.
  4. Мало плагинов, трафик есть каждый день, жалоб нет — можно временно оставить как есть, но всё равно просмотрите Crontrol на интервал каждые 5 минут.
  5. Формы и письма должны уходить предсказуемо — системный вызов раз в 15 минут обычно спокойнее, чем надежда на случайного посетителя.
Симптом Что сделать
CPU на пределе, сайт не рекламировали Аудит Crontrol + cron хостинга + DISABLE_WP_CRON после проверки
Отложенный пост не вышел вовремя Задание на wp-cron.php; см. также отложенную публикацию и WP-Cron
После включения кэша задачи замерли Не полагаться на визиты; вызов по URL или PHP-CLI из панели
Страшно править wp-config Сначала cron в панели и тестовая отложенная запись; при сомнениях — напишите в поддержку хостинга

Настройте вызов wp-cron.php в панели хостинга

Ключевой порядок из документации WordPress и практики хостингов: сначала рабочее задание в панели, потом отключение автозапуска при визите. Иначе письма, бэкапы и отложенные посты тихо перестанут выполняться.

Расписание каждые 15 минут в cron пишется как */15 * * * * — компромисс между скоростью публикации и лимитами shared-хостинга (часто нельзя ставить каждую минуту).

  1. Откройте раздел Cron: cPanel — Cron Jobs, ISPmanager — Планировщик, у многих RU-хостингов — раздел Задания cron или Планировщик.
  2. Добавьте интервал */15 * * * *.
  3. В команду подставьте полный https-адрес сайта. Пример из официальной доки: wget —delete-after https://ваш-домен.ru/wp-cron.php — на практике часто добавляют параметр ?doing_wp_cron в конце URL.
  4. Если wget недоступен — curl с тем же адресом; поддержка NetAngels и аналогов иногда даёт путь вида /usr/local/bin/php …/wp-cron.php.
  5. Сохраните, подождите 15–20 минут, в WP Crontrol обновите список: у событий должны сдвинуться Next Run.
  6. Создайте тестовую отложенную запись на время через 20 минут — она должна выйти в пределах одного–двух интервалов cron.

Часто ломается http вместо https и basic auth на тестовом домене. Про кэш и фон — настройка кэширования WordPress.

Отключите автозапуск в wp-config после проверки

Когда убедились, что задание хостинга срабатывает, скачайте копию wp-config.php через файловый менеджер. Перед строкой That’s all, stop editing добавьте одну строку:

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)

define(‘DISABLE_WP_CRON’, true);

После этого при заходе посетителя WordPress больше не пытается сам запускать очередь — но прямой вызов wp-cron.php из cron хостинга продолжает работать. Это не хак, а рекомендуемый шаг после системного расписания: иначе ресурсы тратятся дважды.

Сразу после сохранения снова откройте Cron Events и убедитесь, что события обновляются. В мониторинге хостинга не должно быть всплеска wp-cron.php на каждый клик по сайту.

Обойдите типичные ошибки настройки

Часто ломается порядок шагов: сначала DISABLE_WP_CRON, потом cron в панели — задачи замирают. Другие ловушки: http вместо https, basic auth режет wget, кэш отдаёт HTML вместо PHP. Если нужен разбор только под Missed schedule — см. системный cron вместо WP-Cron.

Уберите шум от плагинов без ломания сайта

Даже с правильным cron лишние задачи грузят сервер при каждом срабатывании. Делайте так:

  • В настройках бэкапа — реже полные копии, если бизнесу хватает ежедневного ночного окна; см. автоматический бэкап WordPress.
  • Отключите ненужные scan, check update, sync по расписанию, если плагин это позволяет.
  • Не ставьте события раз в 1–5 минут без явной нужды — маркетинговому сайту услуг редко нужна проверка чаще, чем раз в 15–60 минут.
  • Heartbeat в админке тоже добавляет фоновые запросы — при тормозах редактора смотрите материал про отключение Heartbeat.

Итог: в Crontrol остаётся понятный список, нагрузка предсказуема, отложенные акции выходят вовремя.

Проверьте, что всё сработало

Вы поймёте, что настройка удалась, если одновременно выполняются критерии из чек-листа:

  • В WP Crontrol события сдвигают Next Run, а не висят месяцами.
  • В wp-config.php стоит DISABLE_WP_CRON true, задание */15 * * * * сохранено в панели.
  • Тестовая отложенная запись опубликовалась в пределах 15–20 минут после времени.
  • В логах или статистике хостинга нет сотен вызовов wp-cron.php на каждый визит посетителя.

Если панель пугает — напишите через контакты (мессенджер) или в Telegram. Сайт под статьи и стабильный фон — на услугах.

Материал проверен: Андрей Дикий (создаёт сайты и продвигает их статьями (SEO/GEO)).
Достоверность данных: WordPress Plugin Handbook (WP-Cron, системный планировщик, wp-config DISABLE_WP_CRON), Kinsta и NetAngels (порядок шагов, нагрузка, PHP-cron), WP Crontrol на GitHub, cPanel Support (wget); LSI-кластер запросов — SERP 27.09.2026 (Wordstat MCP недоступен, точные показы не подтверждены).

Частые вопросы

Можно ли полностью отключить WP-Cron и ничего не ставить вместо?

Нет. Очередь задач WordPress и плагинов всё равно нужна: отложенные записи, письма, бэкапы. Отключают только автозапуск при визите, а замену делают заданием хостинга на wp-cron.php. Иначе сайт замолчит в фоне без красной ошибки на экране.

Чем WP-Cron отличается от cron на хостинге?

WP-Cron просыпается, когда кто-то открывает страницу (или админку). Cron хостинга — будильник сервера: срабатывает по расписанию независимо от посетителей. Для сайта услуг с кэшем и отложенными акциями второй вариант обычно надёжнее и щадит CPU.

Как часто вызывать wp-cron.php?

Официальный пример — каждые 15 минут (*/15 * * * *). Реже — дольше ждёте публикацию и письма; чаще — рискуете упереться в лимиты shared-хостинга. Подстройте под реальные задачи: если достаточно бэкапа раз в ночь, не гоняйте тяжёлые проверки каждые 5 минут в Crontrol.

Влияет ли WP-Cron на скорость сайта для клиента?

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

Что будет с отложенными публикациями после DISABLE_WP_CRON?

Они продолжат работать, если хостинг по расписанию вызывает wp-cron.php. Проверьте тестовым постом сразу после настройки. Если пост завис — смотрите Crontrol и задание в панели, не откатывайте константу вслепую.

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Новый маркетинг с искусственным интеллектом
Добавить комментарий