Cron WordPress

0
1340
WordPress
WordPress

Вы когда нибудь замечали что запланированные записи не публикуются вовремя? Или, после работы одного из plugin ов, сайт долго открывается или совсем перестает работать, а быть может перегружает хостинг…

Не смотря на то что в Wordpress есть собственные два крона cron wordpress и alternate cron wordpress, которые отвечают за публикацию записей, обновления на сайте, обеспечивают работу плагинов, они на самом деле не совсем кроны, об этом подробнее.

Cron WordPress и Cron Linux

Cron WordPress это виртуальный крон, который исполняется только при загрузке страницы. Пользователи которые приходят на сайт переходя со страницы на страницу «запускают» крон если его время его выполнения совпало с активным посещением сайта, тогда wp cron будет выполнен. Несмотря на то что это может показаться удобным, есть целый ряд недостатков виртуального крона вордпресс:

  1. Cron WordPress может вызвать конфликт плагинов
  2. Конфликты DNS
  3. Рост числа ошибок на сервере
  4. Проблемы с кэшированием плагинов
  5. Большая нагрузка на хостинг, сервер хостинга

Cron Linux это реальный крон который выполняется на сервере по расписанию, точно вовремя. При наличии высокой нагрузки на сервер, крон линукс выполняется на сервере что одновременно позволяет сайту работать стабильно и при этом CPU сервера не перегружается, и таким образом используется меньше ресурсов сервера.

Отключение cron wordpress

Лучшим для сайта работающем на движке wordpress является отключение internal cron  и настройка его на хостинге с интервалом выполнения каждый час. Как это сделать?

отключение крона вордпресс
отключение крона вордпресс

Откройте файл wp-config.php, он находится в корневой папке где установлен  вордпресс, и добавьте следующий код:

define('DISABLE_WP_CRON', true);
define('ALTERNATE_WP_CRON', false);

Первая запись запретит основному крону постоянно пинговать сервер, вторая запись запретит делать то же самое альтернативному крону.

Настройка и включение real cron на linux

Чтобы настроить реальный крон вам необходимо открыть панель управления хостингом и найти пункт меню Cron job. Затем, должным образом выполнить настройки крона линукс.

Настройка и включение real cron на linux
Настройка и включение real cron на linux

Первое что нужно сделать это определить периодичность запуска крона, на высокнагруженных сайтах, с количеством публикаций в день более 20,  такой интервал может составлять 5 минут или (*/5 * * * *).  На сайте, где в день публикуется около 20 записей такой интервал рекомендуется ставить 15 минут или  (*/15 * * * *). Если меньше то 1 раз в час (0 * * * *). Для большинства сайтов подходит интервал от 15 минут  до 1 часа.

Следующим шагом нужно написать запрос для cron, который будет выполнятся, для wordpress сайта такой запрос имеет вид:

[box_light]wget -q -O — http://yourwebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>& [/box_light]

*yourwebsite.com = доменное имя вашего сайта.

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


Презентация нового самолёта Airbus a320

ОСТАВЬТЕ ОТВЕТ