Боты-парсеры могут за часы скопировать каталог, цены и описания товаров. Узнайте, как закрыть данные без вреда для SEO и клиентов. Разберём защиту WordPress.
Конкуренту не всегда нужно нанимать копирайтера. Иногда достаточно написать парсер. Он обходит сайт, собирает карточки товаров и сохраняет данные. Затем эти данные появляются на другом ресурсе.
Для интернет-магазина проблема серьёзнее обычного копирования текста. Парсер может собирать цены, остатки, характеристики и изображения. Он также создаёт нагрузку на сервер.
По данным Imperva, автоматизированный трафик составил 51% всего веб-трафика в 2024 году, 53% в 2025. На долю вредоносных ботов пришлось 37%.
Поэтому защита от парсинга — часть технической защиты сайта. Она должна учитывать SEO, продажи и удобство пользователей.
Боты-парсеры: что именно они забирают с сайта
Парсер работает автоматически. Он отправляет HTTP-запросы к страницам сайта. Затем программа извлекает нужные данные.
В интернет-магазине бот обычно собирает:
- название товара;
- описание;
- цену;
- старую цену;
- характеристики;
- артикул;
- остаток;
- категории;
- изображения;
- URL карточек;
- мета-теги;
- данные из открытых API.
Особенно ценны цены и уникальные описания.
Цена помогает конкуренту быстро сравнивать ассортимент. Описание позволяет сократить расходы на контент. Структура каталога показывает, какие товары магазин продвигает.
Как выглядит атака на практике
Представим интернет-магазин на WordPress + WooCommerce.
Вы вложили деньги в SEO и подготовили 3000 уникальных карточек. Через несколько дней конкурент публикует похожий каталог.
Сценарий может выглядеть так:
- Бот получает список URL.
- Открывает карточки товаров.
- Извлекает HTML.
- Находит цену и описание.
- Сохраняет данные.
- Переходит к следующему URL.
- Повторяет процесс тысячи раз.
Проблема не только в копировании.
Если бот делает несколько запросов каждую секунду, сервер начинает тратить ресурсы. Растёт нагрузка на PHP, базу данных и серверные процессы.
Почему robots.txt не защищает от парсеров
Файл robots.txt полезен для управления поведением поисковых роботов. Но это не технический барьер.
Директива:
User-agent: *
Disallow: /catalog/
сообщает роботу о ваших правилах.
Но злоумышленник может их проигнорировать. Cloudflare прямо указывает, что соблюдение robots.txt является добровольным. Файл не блокирует crawler на техническом уровне.
Поэтому не стоит считать такой подход защитой от парсинга.
Что происходит без дополнительной защиты
Вы столкнулись с копированием каталога. Добавили Disallow. Через неделю данные снова украли.
Причина проста.
robots.txt рассчитан на добросовестных роботов. Парсер конкурента к ним не относится.
Правильная стратегия использует несколько уровней защиты.
Как защитить сайт от ботов-парсеров
Надёжная схема состоит из нескольких компонентов.
| Уровень | Задача | Что применяем |
|---|---|---|
| Аналитика | Найти подозрительные запросы | Логи, статистика |
| Rate limit | Ограничить частоту запросов | Nginx, CDN, WAF |
| WAF | Фильтровать автоматические запросы | Cloudflare, серверный WAF |
| Bot protection | Определять ботов | Bot Management |
| Авторизация | Закрыть чувствительные данные | Login, API-токены |
| Архитектура | Снизить ценность HTML | API-контроль, серверная логика |
| Контент | Защитить уникальные материалы | Мониторинг копирования |
Важно не ставить один барьер и считать задачу решённой.
Шаг 1. Найдите признаки парсинга
Сначала нужно понять, кто именно сканирует сайт.
В логах ищем:
- тысячи запросов с одного диапазона IP;
- одинаковый User-Agent;
- быстрый перебор URL;
- последовательный обход каталога;
- запросы без обычного поведения пользователя;
- частые обращения к страницам товаров;
- подозрительные обращения к API;
- скачивание большого числа изображений.
Особенно интересен паттерн поведения.
Один запрос ничего не значит. Две тысячи последовательных карточек за час — уже другой сигнал.
Шаг 2. Ограничьте частоту запросов
Один из простых методов — rate limiting.
Например, сервер может разрешать определённое количество запросов за интервал. После превышения лимита пользователь получает временную блокировку.
Упрощённая логика выглядит так:
IP → запрос → проверка лимита
↓
лимит не превышен → сайт
↓
лимит превышен → 429
HTTP-код 429 Too Many Requests сообщает клиенту о превышении лимита.
Для Nginx можно использовать зону ограничения запросов:
limit_req_zone $binary_remote_addr zone=catalog:10m rate=2r/s;
server {
location /catalog/ {
limit_req zone=catalog burst=10 nodelay;
}
}
Это только пример настройки.
Точные значения зависят от нагрузки. Интернет-магазин с 100 посетителями и магазином с 100 000 посетителей требуют разных лимитов.
Боты-парсеры и WAF: когда простой лимит уже не помогает
Парсеры давно умеют менять IP и User-Agent. Поэтому блокировка одного IP редко решает проблему.
Современный WAF анализирует больше признаков.
Например:
- частоту запросов;
- IP-репутацию;
- сигнатуры бота;
- поведение сессии;
- заголовки;
- JavaScript-признаки;
- характер навигации;
- повторяемость действий.
Cloudflare использует несколько механизмов обнаружения автоматического трафика. В Bot Management применяется бот-скоринг от 1 до 99. Низкие значения указывают на высокую вероятность автоматического запроса.
Это позволяет принимать решение не только по IP.
Что можно сделать через Cloudflare
Cloudflare предоставляет несколько уровней защиты.
В зависимости от тарифа доступны:
- Bot Fight Mode;
- Super Bot Fight Mode;
- Bot Management;
- WAF-правила;
- JavaScript Detection;
- ограничения для автоматического трафика;
- защита контента от определённых ботов.
Cloudflare также поддерживает правила для блокировки AI-crawler и автоматического контентного трафика.
Главный плюс такого подхода — защита работает до вашего сервера.
Запрос сначала проходит через защитный слой. Это снижает нагрузку на WordPress.
Почему нельзя просто закрыть весь каталог
Такой подход кажется логичным.
«Парсят каталог — значит, запретим доступ к каталогу».
Но каталог нужен клиентам и поисковикам.
Если заблокировать всех ботов, можно потерять:
- поисковую индексацию;
- переходы из Google и Яндекса;
- превью страниц;
- работу разрешённых интеграций;
- полезных crawler;
- часть органического трафика.
Поэтому задача состоит не в полном запрете автоматизации.
Нужно отделить полезных роботов от подозрительных.
Как защитить цены от массового сбора
Цена особенно чувствительна для конкурентной разведки.
Полностью скрывать цену обычно нельзя. Пользователь должен её видеть.
Поэтому лучше защищать не сам факт наличия цены, а массовый автоматический сбор.
Рабочие меры:
- Ограничить частоту запросов.
- Контролировать подозрительные сессии.
- Защитить API.
- Включить WAF.
- Отслеживать резкие всплески запросов.
- Использовать challenge для подозрительного трафика.
- Ограничить массовую загрузку карточек.
Не стоит делать цену доступной только после сложного JavaScript без необходимости.
Это может ухудшить UX и индексацию.
Как защитить уникальные описания товаров
Уникальный текст имеет коммерческую ценность.
Но технически невозможно гарантированно запретить чтение текста, который браузер уже получил.
Если пользователь видит описание, его можно сохранить.
Поэтому цель защиты другая.
Нужно сделать массовое копирование дорогим и неудобным.
Что помогает
1. WAF и Bot Management
Они блокируют автоматизированные запросы ещё до обработки WordPress.
2. Rate limiting
Парсер не сможет быстро пройти тысячи страниц.
3. Защита API
Если каталог отдаётся через API, нельзя оставлять его полностью открытым.
4. Мониторинг
Регулярно проверяйте новые копии контента.
5. Канонические URL
Они помогают поисковым системам понимать основную версию страницы. Но canonical не является защитой от копирования.
А если парсер имитирует обычный браузер?
Это более сложный случай.
Современный бот может использовать headless-браузер. Он способен выполнять JavaScript. Он может менять IP и User-Agent.
Поэтому правило вида:
if ($_SERVER['HTTP_USER_AGENT'] === 'BadBot') {
exit;
}
не является полноценной защитой.
User-Agent легко изменить.
Лучше оценивать совокупность сигналов.
Например:
$requests = get_requests_for_ip($ip);
if ($requests > 500) {
http_response_code(429);
exit('Too Many Requests');
}
Этот код также условный.
На реальном проекте лимит нужно считать с учётом пользователя, сессии, IP и URL.
Самописная блокировка без анализа может заблокировать настоящих клиентов.
Кейc: конкурент копирует каталог
Рассмотрим типовую ситуацию.
Проблема.
Интернет-магазин получает скачки нагрузки. В логах видно много запросов к карточкам.
Диагностика.
Мы анализируем access-логи и User-Agent. Видим последовательный обход каталога. Один клиент запрашивает сотни страниц подряд.
Решение.
- ставим rate limiting;
- подключаем WAF;
- включаем bot detection;
- защищаем API;
- настраиваем исключения для поисковых роботов;
- отслеживаем повторные атаки.
Результат.
Парсер перестаёт быстро выгружать весь каталог. Сервер получает меньше лишних запросов. При этом обычные посетители продолжают пользоваться сайтом.
Именно такой подход безопаснее глобального запрета.
Чек-лист защиты WordPress от парсинга
Проверьте сайт по этому списку.
- Есть доступ к access-логам.
- Анализируется автоматический трафик.
- Настроен rate limiting.
- Используется WAF.
- Защищены публичные API.
- Проверяются подозрительные User-Agent.
- Учитывается поведение клиента.
- Настроены исключения для поисковых роботов.
robots.txtне используется как единственная защита.- Есть мониторинг нагрузки.
- Проверяется копирование контента.
- Есть план реакции на повторный парсинг.
Что делать, если каталог уже украли
Не стоит сразу менять весь контент.
Сначала соберите доказательства:
- дату обнаружения;
- URL оригинальных страниц;
- URL копий;
- скриншоты;
- совпадающие тексты;
- совпадающие изображения;
- данные о ценах;
- технические признаки парсинга.
Затем проверьте масштаб.
Иногда конкурент скопировал несколько страниц вручную. В другом случае бот выгрузил весь каталог.
От масштаба зависит дальнейшая стратегия.
Для технической части важно определить источник запросов. Для юридической части стоит получить консультацию профильного специалиста.
Какой уровень защиты нужен вашему сайту
Небольшой сайт.
Достаточно начать с логирования, rate limiting и базового WAF.
Интернет-магазин.
Нужны WAF, ограничения запросов, защита API и мониторинг.
Большой каталог.
Стоит добавить продвинутый bot management и детальную аналитику.
Проект с ценами в реальном времени.
Особое внимание нужно уделить API и частоте обращений.
Главный принцип прост: защищать нужно не страницу, а доступ к данным.
Заключение
Боты-парсеры нельзя надёжно остановить одной строкой в robots.txt. Они могут копировать описания, цены и структуру каталога. Они также способны создавать серьёзную нагрузку на WordPress.
Надёжная защита объединяет WAF, rate limiting, анализ поведения и контроль API. При этом поисковые роботы и реальные посетители должны продолжать получать доступ к сайту.
Если вы заметили резкий рост запросов или копирование каталога, не ждите новой атаки. Компьюти может провести технический аудит WordPress, найти признаки парсинга и настроить защиту без ущерба для SEO.
Оставьте заявку на аудит. Сначала найдём источник проблемы. Затем подберём защиту под нагрузку и архитектуру вашего сайта.



