Просмотреть категории

Устранение неполадок: генерация контент-плана или потока контента периодически останавливается

3 мин чтения

Обзор #

Иногда процессы генерации Content Stream и Content Plan могут неожиданно останавливаться. Обычно это происходит из-за того, что плагин использует встроенную в WordPress систему cron (WP‑Cron), которая, в свою очередь, зависит от трафика сайта. В ситуациях с низким трафиком или при вмешательстве плагинов кэширования/оптимизации запланированные задачи могут не выполняться так, как ожидалось.

Ниже вы найдете подробное описание проблемы, а также шаги по ее решению путем настройки настоящего задания cron на вашем сервере и настройки параметров кэширования.


1. Понимание ограничений WP‑Cron #

WordPress использует псевдо-cron-систему (WP-Cron), которая выполняет запланированные задачи во время загрузки страниц. На сайтах с низким трафиком WP-Cron может запускаться недостаточно часто, задерживая или останавливая генерацию контента. Кроме того, плагины кэширования и оптимизации иногда могут блокировать или задерживать запросы к wp-cron.php.


2. Отключение WP‑Cron и настройка настоящего задания Cron #

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

Шаг 1: Отключите WP‑Cron
Редактировать ваш wp-config.php файл и добавьте следующую строку (над комментарием «/* Вот и все, прекратите редактирование! */»):

определить('DISABLE_WP_CRON', true);

Шаг 2: Создайте настоящую задачу Cron
Настройте задание cron на своем сервере для вызова cron-файла WordPress через регулярные интервалы времени (например, каждые 5 минут).

Если вы используете cPanel, выполните следующие действия:

  1. Войдите в панель управления хостингом и откройте раздел «Задания Cron».
  2. Настройте расписание cron на запуск каждые 5 минут с помощью следующей команды:
*/5 * * * * /usr/bin/php /home/имя_пользователя/public_html/wp-cron.php

В качестве альтернативы вы можете использовать wget или curl:

Использование wget:

*/5 * * * * wget -q -O /dev/null https://yourdomain.com/wp-cron.php?doing_wp_cron

Использование curl:

*/5 * * * * curl --silent https://yourdomain.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Заменять вашдомен.com на ваш реальный домен и при необходимости измените путь к файлу.

Шаг 3: Проверьте задание Cron
Проверьте журналы cron или журналы ошибок вашей панели хостинга, чтобы убедиться, что задание выполняется каждые 5 минут. Также следите за журналами плагинов, чтобы убедиться, что задачи выполняются по расписанию.


3. Разрешение конфликтов кэширования и оптимизации #

Плагины кэширования и оптимизации (например, AutoOptimize, WP Rocket, LiteSpeed Cache) могут мешать задачам cron, блокируя запросы к wp‑cron.php. Если у вас возникают периодические остановки:

  • Временно отключите плагины кэширования/оптимизации чтобы увидеть, решена ли проблема.
  • Исключить запросы wp‑cron.php или admin‑ajax из кэширования в настройках вашего плагина.
  • В частности, пользователи сообщали о проблемах с AutoOptimize. Рассмотрите возможность его временного отключения и проверьте, возобновится ли нормальное создание контента.

4. Дополнительные способы устранения неполадок #

Другие потенциальные факторы включают в себя:

  • Ограничения ресурсов сервера:
    Ваш хостинг-провайдер может накладывать строгие ограничения на процессор или память, которые убивают процессы cron. Проверьте журналы ошибок или свяжитесь с вашим хостом для получения подробной информации о ресурсах.
  • Проблемы с SSL или перенаправлением:
    Убедитесь, что ваш cron URL использует правильный протокол (https://) и что никакие проблемы перенаправления или SSL не блокируют запрос.
  • Настройки PHP:
    Проверьте конфигурацию PHP, особенно такие параметры, как максимальное_время_выполнения, ограничение_памяти, и другие настройки, связанные с производительностью. Увеличьте их при необходимости.

5. Заключительные рекомендации #

  • Используйте настоящую задачу cron, запускаемую каждые 5 минут, чтобы гарантировать выполнение запланированных задач независимо от трафика сайта.
  • Настройте параметры кэширования или временно отключите плагины оптимизации, если они конфликтуют с WP‑Cron.
  • Проверьте настройки PHP вашего сервера, чтобы убедиться, что процессы не завершаются преждевременно.

Выполняя эти шаги, вы сможете свести к минимуму неожиданные остановки в создании контента и поддерживать стабильный поток контента через процессы Content Stream и Content Plan.