Отключение внутреннего крона WordPress

Причины отключения внутреннго крона: не всегда срабатывает, срабатывает многократно для посещаемых ресурсов, протухают запланированные публикации, задачи не успевают выполниться за отведенное им сервером время (обычно 30 секунд). Серверный же крон лишен всех этих недостатков.

Переходим от слов к делу

Первым шагом мы отключаем внутренний крон WordPress. Для этого в файле конфигурации wp-config.php добавляем строку:


define( 'DISABLE_WP_CRON', true );

Затем создаём задачу для серверного крона. В директорию /etc/cron.d/ добавляем файл wp-cron с таким содержимым:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# WordPress Cron Task:
*/15 * * * * $USER wget -O - -q -t 1 "https://www.kobzarev.com/wp-cron.php?doing_wp_cron=1" > /dev/null 2>&1

# Или через Curl
*/15 * * * * $USER curl https://www.kobzarev.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

# Можно также напрямую через PHP:
*/15 * * * * $USER php /home/$USER/public_html/wp-cron.php > /dev/null 2>&1

Теперь задачи WordPress будет запускать серверный крон каждые 15 минут.

Источник: https://www.kobzarev.com/wordpress/otklyuchenie-vnutrennego-krona-wordpress/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

1 комментарий к “Отключение внутреннего крона WordPress”

  1. А что делать, если на сайте установлены плагины, которым нужен крон 1 раз в минуту?
    Если ли способ отключить впшный крон и заменить его серверным с нужным интервалом?

    Ответить

Добавить комментарий

%d такие блоггеры, как: