• WordPress
  • Использование Server CRON вместо WP CRON

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

    Отключаем WP CRON

    Открываем файл wp-config.php и перед строкой:
    /* That's all, stop editing! Happy publishing. */

    добавляем следующий код:

     1define( 'DISABLE_WP_CRON', true );
    

    На этом этапе WordPress перестаёт запускать cron-задачи при каждом HTTP-запросе к сайту.

    Включаем CRON на сервере

    Теперь нужно настроить сервер, чтобы он вызывал wp-cron.php по расписанию.

    cPanel

    1. Заходим в Задания cron ;
    2. В выпадающем списке Общие настройки, выбираем Раз в пять минут(*/5 * * * *);
    3. В поле Команда, вставляем:
     1wget -q -O - 'https://domain.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1
    

    И сохраняем результат .

    Cloudways

    1. Переходим в Cron Job Management Cron Job Management ;
    2. Открываем вкладку Advanced и в поле ADVANCED CRON вставляем:
     1*/5 * * * * wget -q -O - 'https://domain.com/wp-cron.php?doing_wp_cron' >/dev/null 2>&1
    

    И сохраняем результат .

    Итог

    В итоге cron-задачи WordPress будут выполняться по расписанию сервера, а не при каждом заходе пользователя на сайт. Это особенно важно для нагруженных проектов, WooCommerce и сайтов с большим количеством фоновых задач.