Вступ
BotBlocker - потужний плагін безпеки для WordPress, який захищає ваш сайт від ботів і шкідливого трафіку. Однак під час роботи з WooCommerce неправильне налаштування може блокувати законних покупців під час оформлення замовлення або заважати стороннім інтеграціям. У цьому посібнику показано, як правильно налаштувати BotBlocker, щоб зберегти максимальний рівень безпеки і забезпечити безперебійну роботу магазину.
Частина 1: Базове налаштування WooCommerce
Чому WooCommerce потребує особливих правил
WooCommerce використовує динамічні шляхи для процесу оформлення замовлення, керування кошиком і AJAX-запитів. Якщо ці шляхи заблоковані, покупці не зможуть завершити покупку, і ваш магазин втратить продажі.
Крок 1: Додайте обов’язкові шляхи
Перейдіть до BotBlocker → Rules → Paths і додайте наведені нижче шляхи зі статусом «Allow»:
Для стандартного WooCommerce:
/checkout/- сторінка оформлення замовлення/cart/- кошик/my-account/- акаунт покупця/?wc-ajax=- AJAX-запити
Для WooCommerce Blocks (сучасне оформлення замовлення):
/wp-json/wc/store/- API Store для блоків
Крок 2: Увімкніть правила
Важливо: після додавання шляхів переконайтеся, що вони активні. Неактивні правила підсвічуються червоним. Натисніть на кожне правило, щоб увімкнути його, - активні правила стануть зеленими.
Крок 3: Оновіть плагін
Встановіть BotBlocker версії 1.6.8 або новішої: у ній виправлено проблеми з cookie, які могли спричиняти збої під час оформлення замовлення.
Примітка щодо безпеки
Дозвіл цих шляхів не послаблює безпеку сайту. BotBlocker пропускає ними лише перевірених користувачів, завдяки чому сесії, cookie й обробка замовлень працюють коректно.
Частина 2: Налаштування захисту REST API для інтеграцій
Проблема
Багато магазинів WooCommerce інтегруються із зовнішніми сервісами: службами доставки, системами керування запасами, CRM-платформами та мобільними застосунками. Ці сервіси використовують REST API WooCommerce. За замовчуванням 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 (найнадійніша ознака):
Example: "ShipStation/1.0" or "MyShippingApp/2.5"
PTR/Reverse DNS (дуже надійно для великих провайдерів):
Example: "mail.fedex.com" or "api.shipstation.com"
IP-адреса (менш надійно, використовуйте лише як останній засіб):
Example: "192.168.1.100"
Note: IPs can change, check if your provider uses a static IP or IP range
Крок 4: Створіть постійне правило дозволу
На основі запису в лозі створіть правило, яке ідентифікує вашу інтеграцію:
Найкращий варіант - за User-Agent:
- Натисніть на значення User-Agent у лозі
- Створіть правило: «Allow requests with this User-Agent»
- Установіть термін дії +10 років (фактично назавжди)
Альтернатива - за PTR:
- Використовуйте, якщо провайдер має стабільний зворотний DNS
- Надійніше, ніж IP-адреси
Останній засіб - за IP:
- Лише якщо провайдер гарантує статичну IP
- Менш надійно через можливі зміни IP-адрес
Крок 5: Приберіть відкритий шлях API
Після того як постійне правило активне й перевірене:
- Переконайтеся, що інтеграція досі працює
- Вимкніть або видаліть відкритий шлях API (
/wp-json/wc/v3/) - Перевірте інтеграцію ще раз
Результат
✅ REST API WooCommerce залишається повністю захищеним
✅ Доступ має лише ваша довірена інтеграція
✅ Немає публічного або анонімного доступу до API
✅ Оновлення статусів замовлень і листи з відстеженням працюють коректно
✅ Максимальна безпека без втрати функціональності
Типові проблеми та їх вирішення
Проблема: оформлення замовлення досі не працює
Рішення:
- Очистіть кеш і cookie браузера
- Переконайтеся, що всі правила увімкнені (зелений статус)
- Перевірте, що плагін оновлено до версії 1.6.8+
- Тимчасово вимкніть інші плагіни безпеки, щоб виключити конфлікти
Проблема: мобільний застосунок не може підключитися до API
Рішення:
- Виконайте описане вище додавання API до білого списку
- Перевірте, що застосунок надсилає стабільний User-Agent
- Якщо застосунок використовує кілька IP-адрес, додайте до білого списку за User-Agent
Проблема: частина AJAX-запитів блокується
Рішення: додайте конкретну AJAX-дію до дозволених шляхів:
/?wc-ajax=action_name
Найкращі практики
- Завжди перевіряйте після змін - розмістіть тестове замовлення, щоб переконатися, що оформлення працює
- Використовуйте User-Agent для білого списку всюди, де це можливо, - це найнадійніший метод
- Регулярно переглядайте Full Log - перевіряйте, чи не блокується законний трафік
- Тримайте плагін оновленим - нові версії виправляють помилки й покращують сумісність
- Документуйте свої правила - ведіть список, які інтеграції використовують які правила
Майбутні покращення
У наступних версіях BotBlocker плагін автоматично створюватиме правила для WooCommerce під час встановлення, що зробить початкове налаштування ще простішим.
Висновок
Правильне налаштування BotBlocker забезпечує надійний захист від шкідливого трафіку й водночас безперебійну роботу вашого магазину WooCommerce. Дотримуючись цього посібника, ви збережете максимальну безпеку без шкоди для функціональності та зручності користувачів.
Пам’ятайте: безпека й зручність не обов’язково мають виключати одна одну. Завдяки розумному налаштуванню можна мати і те, і те.
