Как исправить проблему с неработающим 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 Кротрол для мониторинга и поиска проблем, связанных с 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-адреса сервера
Если вы хотите найти более подробную информацию, прокрутите страницу вниз и проверьте раздел журнала активности. Здесь вы можете найти службу и действия, предпринятые для понимания того, что WP-Cron был заблокирован из-за настроек управляемых правил с управляемым вызовом. Это основано на ваших настройках безопасности, где вы могли выбрать какой-либо вариант с управляемым вызовом.
Просмотр журнала действий для IP-адреса сервера
Нажмите кнопку «Редактировать столбцы», чтобы добавить дополнительные столбцы, которые могут раскрыть больше деталей. Поскольку IP-адрес уже присутствует, установите флажки «Путь» и «Строка запроса».
Выберите путь и строку запроса
Это добавит дополнительные столбцы и покажет вам путь и строку запроса. Как вы можете видеть на скриншоте ниже, путь будет отображаться как /wp-cron.php и строка запроса покажет что-то вроде ?doing_wp_cron.
Найти сведения о пути и строке запроса
Узнать больше:
Исправление проблем WP-Cron с Cloudflare
Теперь понятно, что настройки безопасности Cloudflare блокируют запуск WP-Cron на вашем собственном хостинг-сервере. Попробуйте следующие варианты решения проблемы. Возможно, вам придется проверить свою панель управления WordPress, использовать плагин или проверить журнал сервера, как описано выше, чтобы убедиться, что WP-Cron работает нормально.
1. Отключите полностью автоматических ботов
Бесплатная учетная запись Cloudflare имеет простой «Режим борьбы с ботами» для блокировки автоматических ботов. Вы можете перейти в раздел «Безопасность > Боты», отключить эту опцию и проверить, работает ли WP-Cron на вашем сайте.
Отключить режим боя ботов в бесплатной учетной записи Cloudflare
Если вы используете премиум-планы Cloudflare, нажмите ссылку «Настроить режим Super Bot Fight», когда вы находитесь в разделе «Безопасность > Боты».
Настройте режим Super Bot Fight в Cloudflare
Здесь вы можете увидеть, что «Определенно автоматизированные» боты заблокированы опцией «Управляемый вызов». Это «управляемый вызов», который вы видите в журнале действий, как описано выше. Поскольку WP-Cron определенно автоматизирован в фоновом режиме, Cloudflare будет блокировать и создавать проблемы. Нажмите на раскрывающийся список и выберите «Разрешить», Cloudflare автоматически сохранит ваши настройки.
Разрешить определенно автоматических ботов
В большинстве случаев это решит проблему с тем, что WP-Cron не работает с Cloudflare.
2. Отключить управляемые правила в WAF
Если разрешение ботов не решает проблему, то следующий вариант — отключить управляемые правила, автоматически устанавливаемые Cloudflare. В зависимости от используемой вами платформы Cloudflare автоматически активирует определенный набор правил брандмауэра веб-приложений (WAF) для защиты вашего сайта. Вы можете перейти в раздел «Безопасность > WAF» и найти правила, включенные для вашего сайта, в разделе «Управляемые правила». Просто отключите параметр «Управляемые правила», чтобы отключить его.
Отключить управляемые правила WAF в Cloudflare
В качестве альтернативы, перейдите на страницу и отключите только набор правил Cloudflare WordPress.
Отключить набор правил Cloudflare WordPress
Теперь проверьте, что ваш WP-Cron работает без правил WAF от Cloudflare.
3. Белый список вашего сервера в правилах IP-доступа
Отключение набора правил WAF сопряжено с риском и может нарушить цель безопасности Cloudflare. Хотя вы можете использовать плагины, такие как Wordfence и AIOWPS, для добавления брандмауэра, лучший вариант — разрешить IP-адрес вашего веб-сайта в настройках Cloudflare WAF. Когда вы находитесь в разделе WAF своей учетной записи Cloudflare, перейдите на вкладку «Инструменты». Введите IP-адрес вашего сервера, выберите «Разрешить» и параметры этого веб-сайта и нажмите кнопку «Добавить». Это добавит исключение и позволит избежать блокировки действий вашего собственного сервера, таких как задание WP-Cron.
Добавить IP-исключение для обхода брандмауэра Cloudflare
Заключительные слова
Cloudflare — популярный CDN и сервис безопасности, однако он не может распознать другую популярную работу WP-Cron, необходимую для сайтов WordPress. Это понятно, так как плагины могут запускать WP-Cron по разным причинам и вызывать проблемы с безопасностью вашего сайта. К сожалению, даже ручное планирование задания cron на сервере не решит проблему, поскольку разработчики плагинов могут использовать задание WP-Cron по умолчанию. Решение состоит в том, чтобы отключить защиту от ботов или исключить IP-адрес вашего сервера, что позволит запускать задания WP-Cron.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)