Как отключить автозапуск WP-Cron в WordPress и настроить системный cron

|

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

Почему стоит отключить автозапуск WP-Cron

Автоматический запуск WP-Cron при каждом запросе приводит к следующим проблемам:

Поэтому на большинстве производственных сайтов рекомендуется отключить автозапуск WP-Cron и запускать задачи через системный cron.

Как отключить автозапуск WP-Cron через wp-config.php

Для начала нужно запретить выполнение WP-Cron при каждом запросе. Для этого добавьте в корневой файл wp-config.php следующую строку, желательно перед строкой /* That's all, stop editing! Happy publishing. */:

define('DISABLE_WP_CRON', true);

Эта константа отключит автозапуск, но не сам механизм WP-Cron — задачи останутся, но их придется запускать вручную или через системный cron.

Настройка системного cron для запуска WP-Cron

Теперь нужно настроить системный cron, чтобы он запускал WP-Cron с нужным интервалом. Это позволит выполнять задачи WordPress независимо от посещаемости сайта.

Пример команды для cron

Откройте crontab пользователя, под которым работает ваш веб-сервер, командой:

crontab -e

Добавьте строку, которая будет запускать скрипт WP-Cron каждые 15 минут:

*/15 * * * * wget -q -O - https://ваш-сайт.ru/wp-cron.php?doing_wp_cron >/dev/null 2>&1
<

Или используя curl:

*/15 * * * * curl -s https://ваш-сайт.ru/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Если доступ к команде wget или curl ограничен, можно запускать PHP напрямую:

*/15 * * * * php /путь/до/сайта/wp-cron.php >/dev/null 2>&1

Убедитесь, что путь к PHP и к файлу wp-cron.php указан правильно.

Проверка работы системного cron

После настройки cron можно проверить логи сервера или установить плагин Clearfy Pro, который умеет мониторить задачи WP-Cron и выводить статус их выполнения.

Также можно добавить простой код для отладки в functions.php вашей темы:

function yelly_log_wp_cron() {
    error_log('WP-Cron запущен: ' . current_time('mysql'));
}
add_action('wp_loaded', 'yelly_log_wp_cron');
<

Это позволит фиксировать в логах время запуска WP-Cron.

Дополнительные советы по оптимизации WP-Cron

Отключение ненужных задач

Иногда полезно отключить некоторые задачи, которые вы не используете, чтобы уменьшить нагрузку. Например, можно удалить задачи из очереди:

function yelly_clear_cron_jobs() {
    $crons = _get_cron_array();
    foreach ($crons as $timestamp => $cronhooks) {
        foreach ($cronhooks as $hook => $events) {
            if ($hook === 'wp_version_check' || $hook === 'some_other_hook') {
                wp_clear_scheduled_hook($hook);
            }
        }
    }
}
add_action('init', 'yelly_clear_cron_jobs');

Использование плагина для управления WP-Cron

Для удобства можно использовать плагин Clearfy Pro, который позволяет управлять задачами WP-Cron, отключать ненужные и контролировать расписание.

Это особенно полезно на больших проектах с множеством отложенных задач.

Итоги

Отключение автозапуска WP-Cron и переход на системный cron — важный шаг для оптимизации производительности WordPress-сайта. Такой подход позволит избежать задержек при генерации страниц, повысит стабильность выполнения задач и снизит нагрузку на сервер.

Не забудьте после внесения изменений проверить работу отложенных задач и корректность cron-заданий.

Как создать отзывы с экспертной оценкой в WordPress: практические примеры и плагины
27.01.2026
Как удалить или скрыть адрес email в WordPress от спама: практические решения
29.12.2025
Как полностью удалить остаточные файлы и записи после удаления продуктов в WooCommerce
26.05.2026
Как создать автоматические списки в WordPress с помощью PHP и JavaScript
11.03.2026
Как использовать хуки и фильтры в WordPress для изменения выводимых данных
11.12.2025
×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙