Go to content Go to menu Go to search

Отключаем wp-cron в Wordpress

Постановка задачи

В CMS Wordpress есть встроенный планировщик (wp-cron.php). Планировщик вызывается каждый раз при доступе к любой из страниц сайта. При запуске он проверяет следует пришла ли пора выполнить те или иные действия (например проверка выхода новой версии, рассылки уведомлений и т.п.).

В том случае, если на сайте большой поток посетителей скрипт слишком часто отрабатывает впустую.
В том случае, если на сайте редкие посетители скрипт будет отрабатывать слишком редко.

В двух перечисленных случаях имеет смысл отключить автоматический запуск скрипта при каждом посещении сайта, и запускать скрипт с нужной нам периодичностью.

Решение

Для отключения wp-cron в файле wp-config.php добавляем строку:

define('DISABLE_WP_CRON', true);

Вручную механизм wp-cron запускается путем загрузки http://yourwebsite.com/wp-cron.php?doing_wp_cron. Будем загружать этот url с периодичностью 5минут.

Как это сделать есть три варианта:
1). Использовать системный cron (понадобится shell/ssh доступ к серверу)
2). Использовать бесплатные cron-сервисы (www.setcronjob.com; www.onlinecronjobs.com; cronless.com; и т.п.)
3). Использовать настройки хостинга (хостинг должен поддерживать эту возможность)

Рассмотрим вариант 1:

Создать файл /etc/cron.d/wp-cron с таким содержанием:

1  */1 * * * root /usr/bin/wget -q -O - http://yoursite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Готово.


при публикации материалов с данного сайта обратная ссылка на сайт обязательна.
valynkin.ru © no rights reserved