Как правильно настроить защиту BotBlocker для вашего магазина WooCommerce

Введение

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

Часть 1: Базовая настройка WooCommerce

Почему WooCommerce требует специальных правил

WooCommerce использует динамические пути для процесса оформления заказа, управления корзиной и AJAX-запросов. Если эти пути заблокированы, покупатели не смогут завершить покупку, и ваш магазин потеряет продажи.

Шаг 1: Добавьте необходимые пути

Перейдите в BotBlocker → Rules → Paths и добавьте следующие пути со статусом «Allow» (Разрешить):

Для стандартного WooCommerce:

  • /checkout/ — страница оформления заказа
  • /cart/ — корзина покупок
  • /my-account/ — личный кабинет покупателя
  • /?wc-ajax= — AJAX-запросы

Для WooCommerce Blocks (современный checkout):

  • /wp-json/wc/store/ — Store API для блоков

Шаг 2: Активируйте правила

Важно: После добавления путей убедитесь, что они активны. Неактивные правила подсвечены красным. Кликните на каждое правило, чтобы активировать его — активные правила станут зелёными.

Шаг 3: Обновите плагин

Установите BotBlocker версии 1.6.8 или новее, которая исправляет проблемы с cookies, способные вызвать сбои при оформлении заказа.

Примечание о безопасности

Разрешение этих путей не ставит под угрозу безопасность вашего сайта. BotBlocker пропускает по этим путям только проверенных пользователей, обеспечивая корректную работу сессий, cookies и обработки заказов.

Часть 2: Настройка защиты REST API для интеграций

Проблема

Многие магазины WooCommerce интегрируются с внешними сервисами: службами доставки, системами управления складом, CRM-платформами и мобильными приложениями. Эти сервисы используют WooCommerce REST API. По умолчанию BotBlocker может блокировать эти запросы, нарушая работу ваших интеграций.

Решение: умный белый список

BotBlocker предлагает гибкую систему белых списков, позволяющую предоставить доступ к API только конкретным доверенным сервисам без публичного открытия API.

Пошаговая настройка API

Шаг 1: Временно разрешите путь API

Перейдите в BotBlocker → Rules → Paths и добавьте:

  • /wp-json/wc/v3/ (или версию, которую использует ваша интеграция)

Отметьте этот путь как Allowed (Разрешённый).

Шаг 2: Сгенерируйте реальный трафик

Инициируйте реальный API-запрос от вашей интеграции:

  • Для служб доставки: распечатайте тестовую транспортную этикетку
  • Для других интеграций: выполните тестовое действие, вызывающее API
  • Альтернативно: оформите тестовый заказ

Это создаст записи в логе, которые BotBlocker сможет проанализировать.

Шаг 3: Проанализируйте полный лог

Перейдите в BotBlocker → Full Log и найдите запросы к разрешённому пути API.

Ищите идентификационные характеристики вашей интеграции:

User-Agent (наиболее надёжно):

Пример: "ShipStation/1.0" или "MyShippingApp/2.5"

PTR/Обратный DNS (очень надёжно для крупных провайдеров):

Пример: "mail.fedex.com" или "api.shipstation.com"

IP-адрес (менее надёжно, используйте только в крайнем случае):

Пример: "192.168.1.100"
Примечание: IP могут меняться, проверьте, использует ли провайдер статический IP или диапазон IP

Шаг 4: Создайте постоянное правило разрешения

Из записи лога создайте правило, идентифицирующее вашу интеграцию:

Лучший вариант — по User-Agent:

  • Кликните на значение User-Agent в логе
  • Создайте правило: «Разрешить запросы с этим User-Agent»
  • Установите срок действия +10 лет (фактически постоянное)

Альтернатива — по PTR:

  • Используйте, если у провайдера стабильный обратный DNS
  • Надёжнее, чем IP-адреса

Крайний случай — по IP:

  • Только если провайдер гарантирует статический IP
  • Менее надёжно из-за возможных изменений IP

Шаг 5: Удалите открытый путь API

После того как ваше постоянное правило активно и протестировано:

  1. Убедитесь, что интеграция всё ещё работает
  2. Отключите или удалите открытый путь API (/wp-json/wc/v3/)
  3. Протестируйте интеграцию снова

Результат

✅ WooCommerce REST API остаётся полностью защищённым
✅ Только ваша доверенная интеграция может получить к нему доступ
✅ Нет публичного или анонимного доступа к API
✅ Обновления статуса заказа и письма с трекингом работают корректно
✅ Максимальная безопасность без потери функциональности

Распространённые проблемы и решения

Проблема: оформление заказа всё ещё не работает

Решение:

  1. Очистите кэш браузера и cookies
  2. Убедитесь, что все правила активированы (зелёный статус)
  3. Проверьте, что плагин обновлён до версии 1.6.8+
  4. Временно отключите другие плагины безопасности, чтобы исключить конфликты

Проблема: мобильное приложение не может подключиться к API

Решение:

  1. Следуйте процессу добавления API в белый список, описанному выше
  2. Проверьте, что ваше приложение отправляет постоянный User-Agent
  3. Если приложение использует несколько IP-адресов, рассмотрите белый список по User-Agent

Проблема: некоторые AJAX-запросы блокируются

Решение: Добавьте конкретное AJAX-действие в разрешённые пути:

/?wc-ajax=action_name

Лучшие практики

  1. Всегда тестируйте после изменений — оформите тестовый заказ, чтобы убедиться, что checkout работает
  2. Используйте User-Agent для белых списков когда возможно — это самый надёжный метод
  3. Регулярно мониторьте полный лог — проверяйте заблокированный легитимный трафик
  4. Держите плагин обновлённым — новые версии исправляют ошибки и улучшают совместимость
  5. Документируйте ваши правила — ведите список, какие интеграции используют какие правила

Будущие улучшения

В предстоящих версиях BotBlocker плагин будет автоматически создавать правила для WooCommerce при установке, делая начальную настройку ещё проще.

Заключение

Правильная настройка BotBlocker обеспечивает надёжную защиту от вредоносного трафика при сохранении бесперебойной работы вашего магазина WooCommerce. Следуя этому руководству, вы сохраните максимальную безопасность без ущерба для функциональности или пользовательского опыта.

Помните: безопасность и удобство использования не обязательно взаимоисключающи. При грамотной настройке можно добиться и того, и другого.