Как исправить проблему с неработающим WP-Cron в Cloudflare?

Для правильной работы WordPress необходимы некоторые базовые требования, такие как MySQL и правильная версия PHP. Кроме того, вам также потребуется дополнительная настройка, необходимая для правильной работы установленных плагинов и темы. WP-Cron — одно из таких требований, необходимых сайтам WordPress для получения обновлений и отчетов на панели инструментов. С другой стороны, Cloudflare — это популярный бесплатный сервис CDN, встроенный во многие хостинговые компании. К сожалению, если вы не настроите его должным образом, это может остановить выполнение заданий WP-Cron и вызвать нежелательные проблемы. Если вы застряли, вот решения, которые вы можете попробовать исправить, если WP-Cron не работает в WordPress с помощью Cloudflare CDN.

Подробнее о WP-Cron

Cron — это команда в Unix для планирования заданий для выполнения задач в фоновом режиме. В мире WordPress WP-Cron похож на задание Unix cron для планирования задач с периодическим интервалом. В отличие от системного задания cron, которое вы можете запланировать на определенное время, WP-Cron запускается при каждой загрузке страницы и запускает запланированные задачи. Вот несколько примеров, чтобы вы поняли, что делает WP-Cron:

  • Обновляйте виджеты панели инструментов WordPress, такие как виджеты продаж в реальном времени.
  • Проверяйте сообщения в запланированном статусе и публикуйте в соответствии с расписанием.
  • Плагины могут выполнять такие задачи, как обновление базы данных, очистка кеша и т. д. в фоновом режиме.

Вы также можете прочитать более подробную информацию о WP-Cron на официальной странице WordPress. здесь.

Поиск проблем с WP Cron

Когда возникает проблема с запуском WP-Cron, это напрямую влияет на выполнение запланированных задач. Вы можете увидеть некоторые уведомления об ошибках на панели инструментов, а также в журнале ошибок вашего сервера. Ниже приведен пример из плагина WP Rocket, который использует WP-Cron для запуска запланированной очистки кеша. Если кеш не очищен, это замедлит работу вашего сайта из-за большого размера устаревшего кэшированного контента.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Проблема с работой WP Rocket CronПроблема с работой WP Rocket Cron

Вы также можете использовать такие плагины, как WP Кротрол для мониторинга и поиска проблем, связанных с cron, на вашем сайте. Как только вы обнаружите проблему с WP-Cron, вам следует проверить последние действия, которые вы выполняли на сайте. если вы включили Cloudflare или изменили какие-либо настройки в CDN, то это первое место, с которого нужно начать устранение неполадок.

Проверка проблем WP Cron в Cloudflare

Настройки безопасности Cloudflare позволяют блокировать вредоносных ботов. К сожалению, это также может блокировать автоматические действия, такие как WP-Cron, как ложное срабатывание. Хорошая часть заключается в том, что вы можете легко найти это на основе IP-адреса и строки запроса из журнала. Поскольку WP-Cron будет запускаться с IP-адреса вашего хостинг-сервера, вы можете проверить заблокированные записи на основе IP-адреса вашего сервера, чтобы найти более подробную информацию.

  • Если вы не знаете IP-адрес своего сервера, вы можете узнать его в панели хостинга. Кроме того, вы можете перейти в раздел DNS своей учетной записи Cloudflare и найти запись A с @, которая будет указывать на IP-адрес вашего сервера.
  • После этого перейдите в раздел «Безопасность > Обзор» и нажмите кнопку «Добавить фильтр».
  • Отфильтруйте журнал на основе IP-адреса, равного IP-адресу вашего сервера.
  • Здесь вы должны найти раздел «Пути», показывающий «/wp-cron.php», как показано на рисунке ниже.
  • Вы также можете найти другие детали, такие как причина блокировки, которая в нашем случае «управление определенными ботами».

Найти сведения о безопасности для IP-адреса сервераНайти сведения о безопасности для IP-адреса сервера

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

Просмотр журнала действий для IP-адреса сервераПросмотр журнала действий для IP-адреса сервера

Нажмите кнопку «Редактировать столбцы», чтобы добавить дополнительные столбцы, которые могут раскрыть больше деталей. Поскольку IP-адрес уже присутствует, установите флажки «Путь» и «Строка запроса».

Выберите путь и строку запросаВыберите путь и строку запроса

Это добавит дополнительные столбцы и покажет вам путь и строку запроса. Как вы можете видеть на скриншоте ниже, путь будет отображаться как /wp-cron.php и строка запроса покажет что-то вроде ?doing_wp_cron.

Найти сведения о пути и строке запросаНайти сведения о пути и строке запроса

Узнать больше:

Исправление проблем WP-Cron с Cloudflare

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

1. Отключите полностью автоматических ботов

Бесплатная учетная запись Cloudflare имеет простой «Режим борьбы с ботами» для блокировки автоматических ботов. Вы можете перейти в раздел «Безопасность > Боты», отключить эту опцию и проверить, работает ли WP-Cron на вашем сайте.

Отключить режим боя ботов в бесплатной учетной записи CloudflareОтключить режим боя ботов в бесплатной учетной записи Cloudflare

Если вы используете премиум-планы Cloudflare, нажмите ссылку «Настроить режим Super Bot Fight», когда вы находитесь в разделе «Безопасность > Боты».

Настройте режим Super Bot Fight в CloudflareНастройте режим Super Bot Fight в Cloudflare

Здесь вы можете увидеть, что «Определенно автоматизированные» боты заблокированы опцией «Управляемый вызов». Это «управляемый вызов», который вы видите в журнале действий, как описано выше. Поскольку WP-Cron определенно автоматизирован в фоновом режиме, Cloudflare будет блокировать и создавать проблемы. Нажмите на раскрывающийся список и выберите «Разрешить», Cloudflare автоматически сохранит ваши настройки.

Разрешить определенно автоматических ботовРазрешить определенно автоматических ботов

В большинстве случаев это решит проблему с тем, что WP-Cron не работает с Cloudflare.

2. Отключить управляемые правила в WAF

Если разрешение ботов не решает проблему, то следующий вариант — отключить управляемые правила, автоматически устанавливаемые Cloudflare. В зависимости от используемой вами платформы Cloudflare автоматически активирует определенный набор правил брандмауэра веб-приложений (WAF) для защиты вашего сайта. Вы можете перейти в раздел «Безопасность > WAF» и найти правила, включенные для вашего сайта, в разделе «Управляемые правила». Просто отключите параметр «Управляемые правила», чтобы отключить его.

Отключить управляемые правила WAF в CloudflareОтключить управляемые правила WAF в Cloudflare

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

Отключить набор правил Cloudflare WordPressОтключить набор правил Cloudflare WordPress

Теперь проверьте, что ваш WP-Cron работает без правил WAF от Cloudflare.

3. Белый список вашего сервера в правилах IP-доступа

Отключение набора правил WAF сопряжено с риском и может нарушить цель безопасности Cloudflare. Хотя вы можете использовать плагины, такие как Wordfence и AIOWPS, для добавления брандмауэра, лучший вариант — разрешить IP-адрес вашего веб-сайта в настройках Cloudflare WAF. Когда вы находитесь в разделе WAF своей учетной записи Cloudflare, перейдите на вкладку «Инструменты». Введите IP-адрес вашего сервера, выберите «Разрешить» и параметры этого веб-сайта и нажмите кнопку «Добавить». Это добавит исключение и позволит избежать блокировки действий вашего собственного сервера, таких как задание WP-Cron.

Добавить IP-исключение для обхода брандмауэра CloudflareДобавить IP-исключение для обхода брандмауэра Cloudflare

Заключительные слова

Cloudflare — популярный CDN и сервис безопасности, однако он не может распознать другую популярную работу WP-Cron, необходимую для сайтов WordPress. Это понятно, так как плагины могут запускать WP-Cron по разным причинам и вызывать проблемы с безопасностью вашего сайта. К сожалению, даже ручное планирование задания cron на сервере не решит проблему, поскольку разработчики плагинов могут использовать задание WP-Cron по умолчанию. Решение состоит в том, чтобы отключить защиту от ботов или исключить IP-адрес вашего сервера, что позволит запускать задания WP-Cron.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

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

Ваш адрес email не будет опубликован.