Боты и парсеры: как чужие роботы жгут ресурсы сайта
4 мин чтения
Боты и парсеры: как чужие роботы жгут ресурсы сайта

Боты и парсеры: как чужие роботы жгут ресурсы вашего сайта

На типичный сайт значительная часть запросов приходит не от людей. Часть роботов полезна, часть безобидна, а часть тихо съедает мощности сервера, искажает аналитику и уносит ваш каталог к конкурентам. Разбираем, как их различать и что с ними делать.

Кто ходит на сайт кроме людей

Кто Зачем приходит Как относиться
Поисковые роботы Индексируют страницы Пускать обязательно, управлять частотой обхода
Роботы сервисов и мониторинга Проверяют доступность, собирают превью ссылок Полезны, нагрузка ничтожная
Парсеры цен Скачивают ваш каталог для сравнения или копирования Ограничивать: нагрузка заметная, пользы нет
Сканеры уязвимостей Перебирают адреса админок и известные дыры Резать, следить за всплесками
Спам-боты Заполняют формы обратной связи Фильтровать на уровне форм
Кликеры по рекламе Расходуют рекламный бюджет Отслеживать через отчёты площадок

Граница между полезными и вредными проходит не по слову «бот», а по соотношению пользы и нагрузки. Поисковый робот тоже создаёт трафик, но взамен приводит посетителей. Парсер цен не приносит ничего.

Чем вредят

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

Искажённая аналитика. Часть роботов исполняет скрипты и попадает в отчёты как посетители. Растёт трафик, падает конверсия, портятся показатели отказов — и вы принимаете решения по цифрам, в которых людей меньше, чем кажется.

Утечка коммерческих данных. Ваш ассортимент, цены и остатки собираются автоматически и оказываются у конкурента, который выставляет цену на рубль ниже вашей. Каталог открыт для всех — в этом и смысл, — но скорость и полнота сбора превращают открытость в проблему.

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

Как отличить своих от чужих

Поле User-Agent, которым робот представляется, — это просто строка, и подделать её тривиально. Поэтому смотреть надо на поведение.

Живой посетитель загружает страницу вместе с картинками, стилями и скриптами, задерживается на ней, переходит по ссылкам непоследовательно. Парсер запрашивает только HTML, идёт по каталогу подряд, страница за страницей, с одинаковыми интервалами, и не трогает статические файлы. Эта разница хорошо видна в логах сервера.

Настоящих поисковых роботов можно проверить по адресу: у Яндекса и Google описана процедура сверки IP через обратный DNS-запрос. Если робот представляется поисковиком, а адрес не подтверждается — это чужак под чужим именем.

Что делать

Ограничить частоту запросов. Базовая и самая полезная мера: лимит на число обращений с одного адреса за промежуток времени. Живому человеку он незаметен, а массовый обход упирается в потолок.

Кэшировать страницы каталога. Если карточка отдаётся из кэша, обход тысячи страниц перестаёт быть проблемой: сервер не считает их заново.

Закрыть тяжёлые места. Внутренний поиск и страницы фильтров — самая дорогая часть сайта. Их разумно закрыть от роботов в robots.txt и ограничить отдельно, даже если остальной каталог открыт.

Защитить формы. Скрытое поле-ловушка, отсечка слишком быстрой отправки и капча при подозрении убирают основную массу спам-заявок без ущерба для живых пользователей.

Отфильтровать роботов в аналитике. В системах аналитики есть встроенная фильтрация известных ботов — её стоит включить, чтобы отчёты отражали людей.

Чего делать не стоит

Не рассчитывайте на robots.txt как на защиту: это рекомендация, которую соблюдают добросовестные роботы и игнорируют все остальные. И не блокируйте адреса списком вручную — они меняются быстрее, чем вы правите конфигурацию. Осторожнее с жёсткой блокировкой по признакам: под неё легко попадают поисковые роботы, и тогда сайт выпадает из индекса.

Как это устроено в Пруфене

Побочный эффект защиты от ботов — можно случайно закрыть сайт и для полезных роботов, и для живых людей. Пруфен проверяет доступность страниц с интервалом от 2 минут из 13 точек и показывает время ответа: по графику видно и наплыв ботов, от которого сайт замедлился, и момент, когда новые правила фильтрации начали отдавать ошибку. Отдельная проверка следит за robots.txt. Уведомления приходят на Email, в Telegram, в Макс или звонком.

Частые вопросы

Можно ли полностью запретить парсинг? Нет. Всё, что видит браузер посетителя, технически доступно и программе. Реальная цель — сделать массовый сбор дорогим и медленным настолько, чтобы он потерял смысл, а не невозможным.

Не навредит ли ограничение частоты поисковикам? При разумных значениях нет: поисковые роботы обходят сайт умеренно и снижают темп при замедлении ответа. Опасны слишком жёсткие лимиты — тогда робот получает ошибки, и это уже бьёт по индексации.

Как понять, что нагрузку создают именно боты? Сравните нагрузку на сервер с посещаемостью в аналитике. Если сервер занят, а счётчик показывает обычные цифры, значит, запросы идут от тех, кто не исполняет скрипты. Дальше подтверждение ищите в логах.

Стоит ли ставить капчу на весь сайт? Нет, это отпугнёт живых посетителей и помешает индексации. Капча уместна точечно: на формах, на входе в личный кабинет, при подозрительной активности — но не как постоянный барьер перед каталогом.

Была ли статья полезна?

Начните мониторинг прямо сейчас

Бесплатный тариф — до 5 проверок. 150 ₽ на баланс при регистрации.

Создать аккаунт