Написать нам в Telegram

Защита сайта от ботов: как отличить ботов и что с ними делать

Безопасность
19 сентября 2026 г.
Фото Максим Козлов
Максим КозловРуководитель отдела разработки

Защита сайта от ботов — это набор мер, которые отделяют автоматический трафик от живых посетителей и отсекают вредный, не мешая полезному. По данным Imperva Bad Bot Report 2025 (трафик за 2024 год), автоматические запросы впервые за десять лет превысили половину веб-трафика — 51%, а на вредоносных ботов пришлось около 37%. Для бизнеса это спам в заявках, перебор паролей к админке, скопированный каталог, слитый рекламный бюджет и испорченная аналитика.

Разберём, какие боты бывают, как увидеть их в Метрике и логах, что работает на формах, в админке, на сервере и в рекламе — и как при этом не заблокировать поисковых роботов.

Какие боты заходят на сайт: полезные и вредные

Бот — программа, которая открывает страницы и выполняет действия без участия человека. Задача защиты — не «убрать всех ботов», а пропускать нужных и останавливать вредных.

Полезные: поисковые роботы (YandexBot, Googlebot и их специализированные роботы), мониторинги доступности и SSL, роботы Метрики и Вебмастера, webhook-и платёжных систем и CRM, загрузчики товарных фидов, превью ссылок в мессенджерах. Отдельно — ИИ-краулеры, собирающие тексты для нейросетей: пускать их или нет, решает бизнес, но запрет снижает шансы попасть в ответы ИИ-ассистентов.

Вредные всегда преследуют экономическую цель — получить данные, деньги или навредить конкуренту:

БотКак проявляетсяЧем вредитЧем защищаться
Спам формЗаявки с мусором, ссылками, несуществующими телефонами, десятки в часМенеджеры тратят время, настоящие заявки теряютсяКапча, honeypot, проверка токена, лимиты на отправку
Брутфорс админкиСотни запросов к странице входа с разных IPВзлом, заражение сайта, утечка базы клиентовДвухфакторная авторизация, доступ по IP, fail2ban
ПарсерыРавномерный обход каталога, много страниц за минуту, без CSS и картинокКопирование цен и контента, нагрузка на серверRate limiting, антибот-сервис, JS-проверка
Скликивание рекламыКлики без действий, 100% отказов, подозрительные площадки РСЯСлив бюджета, обучение стратегий на мусореАнтифрод Директа, исключение площадок, цели для оптимизации
Накрутка ПФВсплеск визитов из поиска по одному запросу, короткие сессииИскажение аналитики, риск санкций поисковикаМониторинг Метрики, фиксация аномалий, обращение в поддержку
Кардинг и скальперыСерии мелких оплат с разных карт, выкуп лимитированного товара за секундыЧарджбэки, штрафы эквайера, пустой склад3-D Secure, лимиты попыток оплаты и на заказ
Фейковые регистрацииАккаунты на одноразовую почту, всплеск SMS-подтвержденийЗлоупотребление бонусами, счета за SMSПодтверждение телефона с лимитами, капча, проверка доменов почты

Массированные атаки, цель которых — положить сайт, относятся уже к DDoS, и меры там другие: фильтрация трафика до вашего сервера. Подробно — в статье что такое DDoS-атака и как защитить сайт.

Как понять, что на сайте боты: признаки, Метрика и логи

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

  • отказы у источника или страницы близки к 100%, время на сайте — секунды;
  • всплеск прямых заходов или переходов из поиска без связи с рекламой или сезоном;
  • много визитов из одной подсети или от одного хостинг-провайдера, пики ночью, равномерные интервалы между запросами;
  • трафик растёт, а заявок нет — или заявок много, но дозвониться невозможно;
  • User-Agent называет себя Googlebot или YandexBot, а IP-адрес им не принадлежит.
Один признак — повод присмотреться, а не блокировать. Ночной трафик бывает у магазина с аудиторией во всех часовых поясах, а сотня визитов с одного IP — у офиса крупного клиента за общим шлюзом.

Боты в Яндекс Метрике: роботность и фильтры

По умолчанию Метрика исключает из отчётов только роботов, определённых по строгим правилам (представились, известный User-Agent или IP). Роботы, выявленные по поведению, в статистике остаются.

  1. Отчёт «Роботы» (группа «Мониторинг») — какие роботы приходят и по каким правилам отфильтрованы.
  2. Метрика «Роботность» в отчёте «Источники, сводка» — источник с резко повышенной роботностью и есть кандидат на разбор.
  3. Фильтр в настройках счётчика «по строгим правилам и по поведению» удаляет роботов из исходных данных — вернуть эти визиты в статистику потом нельзя.
  4. Вебвизор — мгновенный скролл до конца, клики в одну точку, форма заполнена за долю секунды — типичный почерк бота.

Метрика и Директ используют разные системы определения роботов: визит-робот в Метрике не означает, что Директ взял за него деньги.

Как найти ботов в логах сервера

Метрика видит только тех, кто выполнил JavaScript-счётчик. Брутфорс, спам через прямой POST-запрос и простые парсеры видны лишь в access-логе:

# топ-20 IP по числу запросов
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

# кто долбит страницу входа
grep -E "POST /(wp-login\.php|bitrix/admin|admin/login)" /var/log/nginx/access.log \
  | awk '{print $1}' | sort | uniq -c | sort -rn | head

# самые частые User-Agent
awk -F'"' '{print $6}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20

По подозрительным адресам дальше смотрят принадлежность сети (whois) и распределение запросов по времени и страницам. Такой разбор входит в аудит безопасности сайта — там же проверяют, насколько формы, админка и API уязвимы к автоматическим атакам.

Как не заблокировать поисковых роботов: проверка YandexBot и Googlebot

User-Agent подделывается одной строкой, поэтому парсеры часто представляются роботами Яндекса или Google. Проверять нужно IP — методика у обоих поисковиков одна:

  1. Обратный DNS-запрос по IP из лога: host IP-адрес.
  2. Проверка окончания имени хоста. У Яндекса — yandex.ru, yandex.net или yandex.com; у Google — googlebot.com, google.com или googleusercontent.com.
  3. Прямой DNS-запрос по полученному имени: IP должен совпасть с исходным, иначе имя поддельное.

Google дополнительно публикует IP-диапазоны своих роботов в JSON — их удобно подгружать в конфигурацию автоматически.

Если после «чистки» ботов в Вебмастере выросли ошибки обхода или страницы выпадают из индекса — первым делом проверьте, не попали ли под блокировку сети Яндекса. Робот, получающий 403 или капчу, перестаёт видеть сайт.

Защита форм от спама и фейковых регистраций

Яндекс SmartCaptcha

Российская альтернатива reCAPTCHA: большинству людей достаточно нажать «Я не робот», задание показывается только при подозрительном поведении. Первые 10 000 запросов проверки в месяц бесплатны, дальше — оплата за каждую тысячу по прайсу Yandex Cloud. Для формы обратной связи корпоративного сайта бесплатного объёма обычно хватает.

Ответ капчи обязательно проверяется на сервере: бэкенд отправляет токен в API проверки и принимает заявку только при статусе «ok». Капча без серверной проверки не защищает — бот шлёт POST-запрос прямо в обработчик формы.

Honeypot, токены и лимиты

  • Honeypot — скрытое поле: человек его не видит, простой бот заполняет. Заполнено — заявка молча отбрасывается.
  • Одноразовый токен формы — выдаётся при загрузке страницы и сверяется при отправке; отсекает ботов, которые не открывают страницу.
  • Проверка времени заполнения — форму, отправленную через секунду после загрузки, заполнил не человек.
  • Серверная валидация — формат телефона и почты, запрет ссылок в поле «Имя», одноразовые почтовые домены.
  • Лимиты — число отправок с одного IP и на один номер за период.

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

Не ставьте капчу на каждую форму «на всякий случай». Начните с honeypot, токена и лимитов: они невидимы для клиента и отсекают большую часть примитивного спама.

Защита админки от брутфорса

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

  • Двухфакторная авторизация для всех, у кого есть доступ в админку.
  • Доступ по IP — админка открывается только из офиса или через корпоративный VPN.
  • Fail2ban — читает логи и временно блокирует IP после N неудачных входов, для SSH и страницы входа сайта.
  • Лимит попыток в приложении — задержка или блокировка учётной записи после серии ошибок.

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

Защита на сервере: лимиты nginx, подсети, антибот

Rate limiting ограничивает число запросов с одного адреса за единицу времени. В nginx это стандартный модуль limit_req:

http {
    # 10 МБ хватает примерно на 160 тысяч адресов
    limit_req_zone $binary_remote_addr zone=site:10m  rate=10r/s;
    limit_req_zone $binary_remote_addr zone=forms:10m rate=5r/m;
    limit_req_status 429;

    server {
        location / {
            limit_req zone=site burst=20 nodelay;
            proxy_pass http://app;
        }
        location = /api/feedback {
            limit_req zone=forms burst=3 nodelay;
            proxy_pass http://app;
        }
    }
}

На весь сайт — 10 запросов в секунду с IP с запасом на всплеск в 20 (страница с картинками и скриптами — пачка запросов сразу), обработчик формы — не больше 5 отправок в минуту. Превысившие лимит получают 429. Значения подбирают по логам: слишком жёсткий лимит ударит по живым посетителям.

За CDN, облачной защитой или балансировщиком nginx видит IP прокси, а не посетителя. Без set_real_ip_from (адреса прокси) и real_ip_header (например, X-Forwarded-For) лимит сработает на всех посетителей сразу.

Блокировка подсетей и ASN хостинг-провайдеров эффективна против парсеров из дата-центров: живые покупатели редко приходят с серверных адресов. Как и зачем конкуренты собирают цены и каталоги, разобрано в статье что такое парсинг сайтов. Но в тех же сетях работают мониторинги, платёжные уведомления, корпоративные VPN и роботы поисковиков, поэтому безопаснее не блокировать их целиком, а показывать проверку или ставить жёсткий лимит. Лимиты и исключения — стандартная часть настройки nginx.

Следующий уровень — WAF, анализирующий содержимое запросов и репутацию адресов; о нём — в статье что такое WAF.

Облачные сервисы защиты от ботов в России

Против ботов, которые эмулируют браузер и распределяют запросы по тысячам домашних прокси, правил nginx мало. Облачный антибот стоит перед сайтом: посетители проходят невидимую JavaScript-проверку и оценку поведения, подозрительным показывается капча или отказ, поисковые роботы пропускаются. На российском рынке антибот-защиту предлагают, в частности, Servicepipe (Cybert), Curator (бывший Qrator Labs), DDoS-Guard и StormWall.

Цены зависят от объёма легитимного трафика, числа доменов и модулей и обычно называются после заявки. Для небольшого сайта со спамом в формах это избыточно; для магазина, который парсят конкуренты, или сервиса с личным кабинетом — часто оправдано. Подключение меняет DNS, SSL и схему получения реальных IP, поэтому его планируют вместе с настройкой серверной инфраструктуры.

Защита от скликивания рекламы в Яндекс Директе

Антифрод Директа работает до показа (если система уверена, что перед ней бот, объявление не показывается), при клике (подозрительного пользователя проверяет капчей) и после перехода.

  • Расходы за недействительный трафик автоматически возвращаются на баланс общего счёта, такие клики удаляются из статистики и не участвуют в обучении стратегий.
  • Объём отсеянного — в отчёте «Недействительный трафик» Библиотеки отчётов Директа.
  • В Вебвизоре видны все визиты, включая отфильтрованные. Сверяйтесь с отчётами группы «Директ» в Метрике — там статистика уже очищена антифродом.
  • Если подозрительные клики прошли фильтр, напишите в поддержку: номер объявления, период, номер счётчика Метрики и ссылки на отчёты. Конверсии на фрод Яндекс проверяет только за последние 30 дней — не откладывайте.

Сами: в отчёте Метрики «Директ, площадки» регулярно ищите площадки РСЯ со 100% отказов и нулём конверсий и добавляйте их в запрещённые; оптимизируйте стратегии по заявкам и звонкам, а не по микроцелям, которые бот выполняет легко; защитите форму на посадочной — спам-заявки портят обучение конверсионных стратегий.

Накрутка поведенческих факторов: как заметить и что делать

Боты накрутки ПФ имитируют «хороших» пользователей из поиска; бывает и «скрутка», когда на ваш сайт гонят ботов с плохим поведением. Признаки в Метрике: всплеск переходов из поиска по одному-двум запросам, волны прямых заходов, короткие одинаковые сессии, рост роботности. Заблокировать их сложно — они ходят через мобильные прокси. Практичный порядок: зафиксировать аномалии (скриншоты, даты, запросы) и при просадке позиций написать в поддержку Яндекс Вебмастера.

Защита от ботов и 152-ФЗ: IP-адреса и отпечатки браузера

Антибот обрабатывает IP-адреса, cookie, отпечатки браузера и данные о поведении. В сочетании с другими сведениями они могут быть отнесены к персональным данным, поэтому:

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

Это не юридическая консультация: при большом объёме ПДн требования стоит сверить с юристом.

Типичные ошибки при защите сайта от ботов

  • Капча на всём сайте — снижает конверсию и может мешать роботам. Её место — формы, регистрация, вход, поиск.
  • Блокировка по User-Agent как основная мера — строку подделать проще всего.
  • Бан роботов Яндекса или Google подсетью или жёстким лимитом — проверяйте по обратному DNS до блокировки.
  • Капча без серверной проверки токена — виджет есть, защиты нет.
  • Лимиты без учёта прокси — реальные IP за CDN не настроены, лимит режет всех.
  • Разовая настройка — боты меняют тактику, нужен регулярный просмотр логов и отчётов.

Чек-лист: как защитить сайт от ботов

  • В Метрике просмотрены отчёт «Роботы» и роботность по источникам
  • Из логов выгружены топ IP и User-Agent, подозрительные адреса проверены через whois и обратный DNS
  • Формы защищены honeypot, токеном и лимитом отправок; SmartCaptcha проверяется на сервере
  • Подтверждение телефона ограничено по номеру, IP и странам
  • В админке включена двухфакторная авторизация, доступ ограничен по IP или VPN, работает fail2ban
  • В nginx настроен limit_req, реальные IP за CDN определяются корректно
  • Поисковые роботы не блокируются: проверено по Вебмастеру и логам
  • В Директе регулярно проверяются площадки РСЯ и отчёт «Недействительный трафик»
  • В политике обработки ПДн указан сбор технических данных для безопасности

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

Частые вопросы
Нет, и это не нужно: поисковые роботы, мониторинги и платёжные уведомления — тоже боты. Цель защиты — отсечь вредных ботов на формах, входе и в каталоге и не мешать полезным. Сложные боты с домашними прокси проходят даже облачные фильтры, поэтому защиту строят слоями и регулярно пересматривают.
Базовые меры — honeypot, проверка токенов, лимиты в nginx, fail2ban — делаются силами разработчика и администратора без абонентской платы. В Яндекс SmartCaptcha первые 10 000 проверок в месяц бесплатны. Облачные антибот-сервисы тарифицируются по объёму трафика и набору модулей и считаются индивидуально, поэтому начинать стоит с диагностики, а не с покупки сервиса.
В большинстве случаев Директ сам возвращает расходы за недействительные клики на баланс — объём видно в отчёте «Недействительный трафик». Если подозрительные клики прошли фильтр, напишите в поддержку с номером объявления, периодом, номером счётчика Метрики и ссылками на отчёты. Конверсии на фрод проверяются только за последние 30 дней.
Напрямую ранжирование страдает, когда боты накручивают или скручивают поведенческие факторы или нагружают сервер так, что поисковый робот получает ошибки. Косвенно боты искажают аналитику, и решения по сайту принимаются по неверным данным. Больший риск для SEO — неаккуратная защита, которая блокирует роботов Яндекса и Google.
Для сайта с российской аудиторией практичнее Yandex SmartCaptcha: данные обрабатываются в России, есть бесплатный лимит, большинству пользователей достаточно нажать кнопку. reCAPTCHA означает передачу данных посетителей в Google, то есть трансграничную передачу, которую нужно учитывать в политике обработки ПДн. В обоих случаях токен обязательно проверяется на сервере.
Зависит от задач бизнеса. Запрет в robots.txt не даст ИИ-сервисам собирать ваши тексты, но снизит шансы, что сайт будут цитировать в ответах нейросетей. Если ИИ-краулер создаёт ощутимую нагрузку, мягче ограничить частоту запросов, чем закрывать доступ полностью.
Аудит безопасности сайта
Поможем с этой задачей под ключ — от идеи до результата. Рассчитаем стоимость и сроки под вашу задачу.
Читать подробнее
Услуги по теме
Проводим превентивный аудит безопасности сайта до того, как вас взломали: ищем уязвимости по методологии OWASP — SQL-инъекции, XSS, дыры в правах и доступах, разбираем устаревшую CMS, плагины и настройки хостинга, делаем пентест-лайт «чёрным» и «белым» ящиком. На выходе — понятный отчёт с уязвимостями, оценкой риска и приоритизированным планом устранения. Работаем на фикс-смете.
Настраиваем Nginx на Ubuntu и Debian: reverse proxy, бесплатный SSL по Let's Encrypt, кэширование, gzip и brotli, балансировку и тюнинг под высокую нагрузку — чтобы сайт открывался мгновенно и держал пики. Конфигурации ваши.
Настраиваем Linux-серверы, поднимаем CI/CD, контейнеры, мониторинг и бэкапы — чтобы инфраструктура работала 24/7, релизы выкатывались в один клик, а вы спали спокойно. DevOps под ключ от студии с 2008 года.

Заявки из Яндекс Директа с отчётностью до выручки — первые обращения в течение двух недель