8 признаков поведенческих ботов на сайте: как вычислить атаку за 15 минут

Автор: Редакция BotHunt
Время чтения: 12 мин.
Просмотров: 154
Дата публикации: 25 апреля 2026 г.
8 признаков поведенческих ботов на сайте

8 признаков поведенческих ботов на сайте: как вычислить атаку за 15 минут

Резкий рост визитов в Яндекс Метрике, отказы под 90%, странные регионы и график трафика, похожий на ЭКГ — у трёх из пяти сайтов, которые приходят к нам на аудит, причина одна: поведенческие боты. По нашим оценкам в BotHunt, в 2026 году от 8 до 40% трафика из Яндекса на коммерческих запросах создают именно они — конкуренты, накрутчики, спам-сети, AI-парсеры под видом пользователей.

Все восемь признаков, по которым опознаётся бот, можно увидеть глазами — но только если знать, куда смотреть. В этой статье собран рабочий чек-лист: каждый признак с пороговыми значениями, инструментами проверки и описанием того, что именно бот делает, чтобы остаться незамеченным. Без воды — только то, что наши агенты ежедневно фиксируют в дашбордах клиентов.

8 признаков поведенческих ботов на сайте

Что такое поведенческие боты и почему обычная аналитика их не видит

Поведенческие боты — это автоматизированные посетители, которые не парсят страницу и не атакуют форму, а имитируют живого человека: открывают сайт в реальном Chrome, скроллят, кликают, переходят между страницами. Их задача — оставить «правильный» отпечаток поведения в Яндекс Метрике, чтобы повлиять на ранжирование сайта в выдаче. Чаще всего на ваш — в минус, на сайт конкурента — в плюс.

Ещё пять лет назад это были простые скрипты на Python с десятка серверных IP. К 2026 году рынок собрался в индустрию: BAS (Browser Automation Studio), ZennoPoster и специализированные сервисы за 5–15 тысяч рублей в месяц предлагают «реалистичных ботов» с движением мыши, паузами и переходами по внутренним ссылкам. Подробно технологию мы разбирали в статье «Как бот имитирует пользователя».

Хорошая новость: даже самые продвинутые боты оставляют технические следы. Плохая — стандартная Яндекс Метрика фильтрует только базовые сценарии и обычно показывает в отчёте «Роботы» лишь 5–15% от реальной доли ботов. Остальное прячется в основных отчётах под видом нормального трафика.

Подключите BotHunt на 14 дней бесплатно — и за час увидите реальную долю ботов в своём трафике. Запустить защиту →

Признак 1. Скорость скролла и движения мыши вне человеческой нормы

Реальный пользователь скроллит рывками: пролистнул блок, остановился, прочитал, снова прокрутил. Скорость колеблется от 80 до 400 пикселей в секунду, есть микропаузы. Курсор перемещается дугой, иногда уходит за пределы окна, останавливается «не там».

Бот двигается иначе. Базовые сценарии в BAS и ZennoPoster, которые мы видим чаще всего, выдают одну из трёх характерных картин:

  • Идеальная равномерная прокрутка — точно по 200 пикселей каждые 500 мс, без вариации.

  • Мгновенный скролл к концу страницы за один-два кадра.

  • Дёрганые скачки по 800–1000 пикселей с фиксированной паузой между ними.

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

Где смотреть: Вебвизор Яндекс Метрики (бесплатно), Hotjar или Plerdy (платно). Откройте 10 случайных сессий из подозрительных регионов или ночного времени. Если хотя бы три выглядят «как по линейке» — это уже признак атаки.

Признак 2. Аномальные тайминги между событиями

Это второй критичный признак, который мы в BotHunt отдельно учитываем в скоринге. Реальный человек ведёт себя так:

  • Делает паузу перед кликом — 200–800 мс, чтобы прицелиться курсором.

  • Заполняет поле формы 2–8 секунд, с ошибками и backspace.

  • Между загрузкой страницы и первым скроллом проходит 1–4 секунды на ознакомление с экраном.

Бот ведёт себя по таймеру:

  • Пауза перед кликом 0–50 мс или ровно 1000 мс — типовое значение sleep(1) в скриптах.

  • Поле заполняется мгновенно (paste из переменной) или строго по 100 мс на символ — фиксированный ритм.

  • Скролл стартует ровно через 2 или 5 секунд после загрузки — настройка из BAS-сценария.

В отчёте «Глубина и время на сайте» в Метрике это видно как аномально ровные показатели: тысячи сессий ровно по 35 секунд или ровно по 2 минуты. У реальных пользователей время распределено по нормальному закону, у ботов — слипается в столбцы вокруг конкретных значений.

Таблица: типичные тайминги человека и бота

Событие

Реальный пользователь

Поведенческий бот

Время до первого клика

1.5–6 сек

0–0.3 сек или ровно 1.0/2.0 сек

Заполнение поля имени

1.8–4 сек, с правками

0 сек (paste) или 100 мс/символ

Длина сессии

разброс 10–600 сек

кластер вокруг одного значения

Пауза перед кликом по CTA

300–900 мс

0–50 мс

Скорость скролла

80–400 пикс/сек, рваный

равномерно 200 пикс/сек

Признак 3. Miss-click и «нарезание кругов» вокруг элементов

Этот признак почти невозможно сымитировать качественно — и поэтому он самый надёжный. Сценарий бота, который ходит по сайту, обычно реализуется так: «найди ссылку с текстом X, переведи курсор, нажми». Если в HTML появляется выпадающее меню или плавающий блок — координаты сдвигаются. Бот промахивается, после чего исправляется: щёлкает ещё раз рядом, делает несколько кругов вокруг кнопки, иногда кликает по соседней ссылке.

Что искать в Вебвизоре:

  • Курсор «нарезает круги» вокруг кнопки или анкора — характерное поведение фреймворков селективного клика.

  • Клик попадает в пустое место рядом с CTA-кнопкой, после чего идёт повторный успешный клик в радиусе 5–20 пикселей.

  • В развёрнутом меню курсор уходит «выше» нужной ссылки и потом резко вниз — попадание не с первого раза.

  • Курсор появляется сразу в координатах элемента (телепортируется), а не подходит к нему.

В BotHunt этот сигнал отдельно учитывается в скоринге как cursor_misalignment. В среднем 60% подозрительных сессий из ночного трафика на проектах клиентов имеют его в высокой степени. Как мы разбираем такие сессии в боевых атаках — в материале «Накрутка ПФ конкурентами: как определить атаку».

Сравнение траекторий мыши: человек и бот

Признак 4. Дубликаты fingerprint у разных «пользователей»

Браузер каждого реального пользователя уникален: набор шрифтов, версия GPU, разрешение экрана, плагины, рендеринг canvas — всё вместе даёт хеш, который повторяется реже, чем 1 на 100 000 человек.

У ботов всё иначе. Дешёвые сценарии работают на одной сборке Chromium на одной машине → fingerprint у тысяч «разных пользователей» совпадает байт в байт. Средние сценарии используют ротацию профилей через Multilogin или AdsPower, но даже там пул профилей конечный: мы видим, как один и тот же canvas-hash появляется у 50–500 сессий за сутки с разных IP-адресов.

Что проверять: на стороне сервера или CDN — собирать canvas, WebGL и font-fingerprint у всех визитов и считать уникальность. Если у одного хеша больше 10 визитов в сутки с разных IP — это почти наверняка ботнет. Подробно технология описана в статье «Browser fingerprinting: как сервисы защиты опознают ботов».

Признак 5. Несоответствие User-Agent и TLS/JA3-отпечатка

Любой User-Agent в HTTP-заголовке можно подделать одной строкой. Боты этим активно пользуются: представляются «Chrome 132 на Windows», но соединение по TLS открывают так, как это делает curl, python-requests или старый headless Chromium.

JA3 — это хеш набора параметров, которыми клиент устанавливает TLS-соединение: версии TLS, набор cipher suites, расширения. У настоящего Chrome этот хеш стабильный и хорошо известный. У python-requests, golang net/http, curl — другой и тоже известный. Когда User-Agent говорит одно, а JA3 — другое, у нас в системе срабатывает однозначный сигнал «бот».

В обычных логах Nginx без модулей этого не видно — нужен специализированный антибот, WAF или агент. Пошаговый разбор технологии — в статье «TLS/JA3-fingerprinting: как сеть палит ботов до HTTP».

Хотите проверить долю JA3-несоответствий на своём сайте? Подключите BotHunt и получите детальный отчёт за 24 часа →

Признак 6. Подозрительная география и ASN

Здесь два разных сюжета.

Сюжет А — датацентровые IP. Бот ходит с серверов DigitalOcean, OVH, Hetzner, Aeza, Selectel — это датацентры, не жилые сети. ASN таких провайдеров известен и публично доступен. Если у вас сайт регионального бизнеса в Перми, а 30% трафика приходит с ASN AS14061 (DigitalOcean) — это однозначно не клиенты.

Сюжет Б — резидентные прокси. Дорогие боты ходят через 911.re, BrightData, Iproyal — пулы реальных IP домашних роутеров и мобильных операторов. Здесь ASN выглядит «чисто», но появляются другие сигналы: десктопный User-Agent на мобильном IP, странная связка «частный IP в Сибири + Chrome для Linux 96», скачкообразная смена IP в рамках одной сессии.

Таблица: что считать нормой по географии и ASN

Параметр

Норма для RU-сайта

Признак бота

Доля датацентровых ASN

менее 1%

свыше 5%

Доля иностранного трафика

1–3%

свыше 15%

Доля одного города

5–15%

свыше 40% (часто — Москва)

Mobile-IP + desktop-UA

0%

5–30%

Смена IP внутри сессии

0–1%

свыше 10%

Подробно про резидентные прокси и фильтрацию по ASN — в статье «Резидентные прокси и ASN: как боты маскируют IP».

Признак 7. Аномалии в Яндекс Метрике и Вебмастере

Метрика — самый доступный инструмент диагностики. Что смотреть в первую очередь:

  1. Отчёт «Роботы». Стандартные → Мониторинг → Роботы. Если доля > 5% — это уже много, > 15% — серьёзная атака. Подробнее про методику — в официальной справке Яндекса.

  2. Прямые заходы. Доля 70%+ при коммерческой тематике — почти всегда боты, маскирующиеся под прямой трафик.

  3. Глубина просмотра + время на сайте. Аномалия: 5–10 страниц за 10–15 секунд. Реальный человек так не читает.

  4. Отказы. Свыше 60% при средней раньше 25–30% и без изменений на сайте — фейковый трафик.

  5. Аффинити-индекс. Резкий рост >150% по нерелевантным интересам (например, «жители Бразилии» на сайте российских окон) — пул ботов прокачивает аффинити.

В Яндекс Вебмастере параллельно проверьте раздел «Безопасность и нарушения» — там появляется предупреждение о подозрительной активности, если Яндекс зафиксировал накрутку. Подробный разбор — в статье «Яндекс Вебмастер прислал предупреждение о накрутке: что делать».

Аномалии в Яндекс Метрике: признаки атаки ботов

Признак 8. Логи сервера: типовые сессии и всплески по таймеру

Если у вас есть доступ к access.log Nginx или Apache — это самый честный источник правды. Метрику и Вебвизор бот при желании может обмануть, логи — нет: он там обязательно оставляет след в виде запросов на статические ресурсы и последовательностей URL.

На что смотреть в логах:

  • Всплески по таймеру. 100 запросов ровно каждые 30 секунд с разных IP, но с одинаковым набором URL — типичный признак скриптовой накрутки.

  • Цепочки URL длиной 2–3 страницы. Бот заходит на главную → карточку товара → контакты, и так в каждой сессии. Реальные пользователи ходят хаотичнее.

  • Совпадающие User-Agent — например, тысячи сессий с одной редкой версией Chrome без обновлений минорной версии.

  • Пустой Referer при глубине 5+ страниц. В норме внутренние переходы дают Referer на ваш же домен.

  • Отсутствие подгрузки CSS и JS. Лёгкие боты дёргают только HTML — в логе у такого «пользователя» один запрос на страницу и ноль на ассеты.

Готовые однострочники для awk и goaccess мы собрали в материале «Логи Nginx: как найти ботов за 10 минут».

Чек-лист диагностики: проверьте свой сайт за 15 минут

Пройдите по пунктам в любом порядке. Каждое «да» — плюс к вероятности, что у вас идёт атака.

  1. Доля «Роботов» в Яндекс Метрике превышает 5%.

  2. Прямые заходы выросли за неделю на 30%+ без видимой причины.

  3. Среднее время на сайте упало вдвое или, наоборот, выросло до ровного значения (35 сек, 1 мин).

  4. В Вебвизоре нашлось хотя бы 3 сессии с прямолинейным курсором или мгновенным скроллом.

  5. Доля одного города (часто — Москва) превышает 40% при региональном бизнесе.

  6. В access.log есть всплески запросов по таймеру (раз в 10–60 секунд).

  7. Аффинити-индекс по нерелевантным интересам резко вырос.

  8. В Яндекс Вебмастере появилось предупреждение в разделе «Безопасность и нарушения».

3+ совпадения — повод подключить мониторинг. 5+ — атака с высокой вероятностью идёт прямо сейчас. Не ждите фильтра Яндекса: санкции за накрутку держатся 8–18 месяцев, и снять их проактивно в разы сложнее, чем предотвратить.

Что делать, если признаки подтвердились

Алгоритм действий — без паники, по шагам:

  1. Сохраните access.log и сделайте скриншоты Метрики (Роботы, География, Источники, Глубина) — это будет доказательная база, если придётся обращаться в Яндекс.

  2. Подключите антибот-агент на сайт (BotHunt ставится одной строкой кода или плагином для WordPress) — это закроет атаку в реальном времени, не дожидаясь ручной модерации.

  3. Снимите видимые срабатывания фильтров через корректировки в Метрике и список нежелательных IP — но это полумера, она не остановит ротацию резидентных прокси.

  4. Если в Вебмастере уже висит предупреждение — отвечайте через форму обратной связи, прикладывая логи и скриншоты атаки. Срок снятия — от 3 до 60 дней.

Полный разбор стратегии защиты — в pillar-статье «Защита от накрутки поведенческих факторов: гайд 2026».

Подключите BotHunt бесплатно на 14 дней. Установка — 1 минута, агент сразу покажет реальную долю ботов в трафике и начнёт их блокировать. Попробовать бесплатно →

Часто задаваемые вопросы

Почему Яндекс Метрика сама не блокирует всех ботов?

Метрика фильтрует только базовые сценарии: запросы без JavaScript, известные краулеры, явные паттерны. Поведенческие боты последнего поколения проходят все эти проверки — они открывают страницу в реальном Chrome с включённым JS, кликают и скроллят. По нашим оценкам, отчёт «Роботы» в Метрике показывает в среднем 5–15% от реальной доли ботов.

Сколько процентов ботов — норма для российского сайта в 2026?

На обычном коммерческом сайте без активной атаки доля ботов в трафике — 3–7%. Это поисковые краулеры, мониторинг доступности, легитимные сервисы (Метрика, аналитика, RSS-агрегаторы). Свыше 10% — повод проверить источники. Свыше 20% — почти всегда атака или активный парсинг.

Можно ли определить ботов без платных сервисов?

Да, но частично. Бесплатно доступны: отчёт «Роботы» и Вебвизор в Метрике, разделы «Запросы» и «Безопасность» в Вебмастере, ручной анализ access.log. Эти инструменты покрывают 4–5 признаков из 8. JA3-отпечатки, fingerprint-дубликаты и поведенческий скоринг в реальном времени без специализированного агента увидеть нельзя.

Боты конкурентов реально опасны или это страшилка?

Опасны. Мы видели проекты, где из-за накрутки конкурентов сайт терял 40–70% трафика из Яндекса за 2–4 недели и попадал под алгоритмический фильтр на 8–18 месяцев. Бюджет атаки на одного конкурента в нише — 5–25 тысяч рублей в месяц, что делает её доступной даже для мелких игроков.

Что делать, если боты только из Москвы, а у меня региональный бизнес?

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

Помогает ли смена IP сайта или переезд на новый домен?

Не помогает. Боты идут на ваш сайт по URL, который видят в выдаче Яндекса. Смените домен — за 1–2 апдейта индекса они перенастроятся. Защищаться надо на уровне приложения (агент или WAF с поведенческим скорингом), а не сети.

На маленьком сайте с 50 визитами в день это вообще актуально?

Актуально. На малом сайте даже 20–30 ботов в сутки переворачивают всю статистику Метрики и провоцируют срабатывание алгоритмических фильтров Яндекса. Парадокс: чем меньше реального трафика, тем заметнее эффект накрутки и проще атаковать.

Как BotHunt отличает бота от пользователя в реальном времени?

Агент за 4–12 миллисекунд считает 200+ сигналов: fingerprint (canvas, WebGL, шрифты), JA3-отпечаток TLS, поведенческие метрики (мышь, скролл, тайминги), репутацию IP и ASN, согласованность User-Agent и реального стека. Решение «пускать или блокировать» принимается до того, как страница начала рендериться. Точность — 99,9%, ложные срабатывания — менее 0,1%.

О BotHunt

BotHunt — российский сервис защиты сайтов от поведенческих ботов, парсеров, спама и брутфорса. Подключается через DNS (без изменений на сервере) или одной строкой кода — плагином для WordPress, PHP-агентом или через Bitrix/OpenCart. Срабатывает в реальном времени и блокирует ботов до того, как они попадут в Метрику и повлияют на позиции в Яндексе. Точность детекции — 99,9%, ложных срабатываний — менее 0,05%.

Начать
14 дней бесплатно