Как китайский робот превратился в тысячи "посетителей" сайта
Всё началось с необычной статистики в Google Analytics. Региональный новостной сайт внезапно получил заметный рост аудитории с настольных компьютеров. Само по себе это выглядело странно: современные новостные ресурсы обычно посещают преимущественно со смартфонов.
Дополнительное внимание привлёк географический отчёт. Значительная часть новых пользователей якобы находилась в китайском городе Ланьчжоу. За анализируемый период Google Analytics насчитал более 18 тысяч активных пользователей из этого региона. Для сравнения, аудитория из Миасса, Челябинска и Екатеринбурга вела себя привычно: среди неё преобладали мобильные устройства, а распределение визитов соответствовало реальной географии сайта.
Китайские "читатели" выглядели почти одинаково. Почти все они использовали настольный компьютер под управлением Windows 10 и браузер Chrome. Большинство заходило напрямую, без указания источника перехода, а вовлечённость оставалась крайне низкой.
Подозрительно выглядела и динамика трафика. Несколько дней сайт получал стабильный поток таких визитов, после чего он почти мгновенно прекращался. Затем активность могла возобновиться через некоторое время. Для реальных пользователей подобные синхронные всплески нетипичны.
При этом система не ограничивалась загрузкой одной страницы. "Посетители" открывали разные публикации, переходили между материалами и формировали картину, внешне напоминающую поведение обычной аудитории. Чтобы понять, что происходит, пришлось обратиться к серверным журналам.
Что показали серверные логи
Серверные логи фиксируют каждое обращение к сайту: IP-адрес, запрошенный URL, тип запроса, данные о браузере и другие технические параметры. Именно анализ этих записей позволил обнаружить закономерность, которую не было видно в стандартной аналитике.
В логах нашлась группа китайских IP-адресов из диапазона 202.46.62.0/24. За исследуемый период с 120 адресов этой сети поступило 61 162 запроса. Почти все они - 59 918 обращений - использовали один и тот же профиль: Windows 10 и Chrome версии 133.0.6943.141.
Такое совпадение практически полностью соответствовало данным Google Analytics. Однако особенности запросов говорили о том, что это не обычный скрипт, скачивающий HTML-код страницы.
Автоматическая система загружала изображения, таблицы стилей и JavaScript-файлы, выполняла динамические операции и обращалась к внутренним механизмам WordPress. Из общего числа запросов 32 964 были POST-запросами. Ещё 14 391 обращение пришлось на `/wp-admin/admin-ajax.php` - служебный компонент WordPress, отвечающий за выполнение динамических действий без полной перезагрузки страницы.
Иными словами, робот имитировал работу полноценного браузера. Он не просто получал исходный код, а запускал клиентские сценарии. Благодаря этому на странице, вероятно, исполнялся код Google Analytics, и автоматический трафик регистрировался как посещения реальных пользователей.
При чём здесь Baidu
Следующий этап расследования был связан с определением владельца сетевой инфраструктуры. Диапазон адресов оказался связан с китайской сетью, маршрутизируемой через AS55967 Beijing Baidu Netcom Science and Technology.
Baidu - крупнейшая поисковая компания Китая, сопоставимая по масштабу с Google или Яндексом. Поэтому первой возникла очевидная версия: сайт посещает поисковый робот Baidu, который индексирует публикации.
Однако эта гипотеза не подтвердилась. Официальный поисковый робот Baidu обычно указывает в User-Agent идентификатор Baiduspider или Baiduspider-render. В исследованных логах таких обозначений не было. Вместо этого запросы маскировались под обычный Chrome на Windows 10.
Связь с инфраструктурой Baidu действительно прослеживается, но считать обнаруженный поток стандартной поисковой индексацией оснований нет. Вероятнее, речь идёт о другой автоматизированной системе, использующей адресное пространство или вычислительные ресурсы, связанные с китайской сетевой инфраструктурой.
Почему Google Analytics и "Метрика" показали разный результат
Особенно наглядным стало сравнение Google Analytics с Яндекс.Метрикой. В стандартном отчёте Метрики та же сеть 202.46.62.xxx дала лишь 117 визитов. При этом их характеристики выглядели явно ненормально:
- около 97% отказов;
- глубина просмотра - одна страница;
- среднее время на сайте - менее секунды.
Но в специальном отчёте "Роботы" картина была гораздо масштабнее. За месяц Яндекс.Метрика зарегистрировала 74 516 роботных событий. Из них 74 441 событие система отфильтровала по поведенческим признакам.
Разница объясняется принципами работы аналитических платформ. Google Analytics получает данные из браузерного окружения. Если робот запускает JavaScript, загружает нужные элементы страницы и отправляет аналитические события, GA4 может принять его за пользователя.
Яндекс.Метрика использует дополнительные алгоритмы распознавания автоматического поведения. Она оценивает скорость действий, последовательность переходов, параметры сессии и другие признаки. Поэтому один и тот же поток в Google Analytics мог выглядеть как тысячи активных пользователей, а в Метрике - как роботная активность.
Зачем роботу имитировать человека
У подобного поведения может быть несколько причин. Самая безобидная версия - тестирование автоматизированной системы, которая должна проверять, как сайты отображаются в реальном браузере. Для этого робот загружает страницы, выполняет скрипты и анализирует полученный результат.
Другой вариант - массовый сбор контента. Если система умеет открывать материалы, загружать изображения и выполнять JavaScript, она может извлекать не только текст из HTML, но и данные, доступные после выполнения сценариев.
Не исключён и сбор статистической информации. Имитируя обычных пользователей, робот может проверять рекламные блоки, работу аналитики, структуру страниц, доступность контента или эффективность антибот-защиты.
Иногда подобная активность связана с подготовкой к более масштабным атакам. Робот изучает архитектуру сайта, находит динамические точки WordPress, проверяет доступность AJAX-механизмов и оценивает реакцию сервера на разные типы запросов. Само по себе это ещё не доказывает злонамеренность, но игнорировать такие сигналы не стоит.
Почему один IP-адрес не всегда означает одного робота
Большое количество адресов в пределах одной подсети не обязательно говорит о наличии тысяч независимых устройств. Такие запросы могут выполняться из облачной инфраструктуры, прокси-пула или распределённой сети, где адреса выдаются разным процессам автоматически.
Кроме того, использование одинакового User-Agent не означает, что все запросы отправлял один и тот же браузер. Робот может задавать заранее прописанную строку, чтобы выглядеть как распространённая версия Chrome. Поэтому при анализе важно сопоставлять не только IP и User-Agent, но и временные интервалы, заголовки, cookies, последовательность запросов и особенности TLS-соединения.
Как отличить искусственный трафик от настоящих пользователей
Одного признака обычно недостаточно. Подозрение усиливается, если одновременно наблюдаются несколько факторов:
- необычное сочетание страны и типа устройства;
- одинаковая версия браузера у большого числа посетителей;
- резкие включения и отключения трафика;
- слишком высокая доля прямых заходов;
- одинаковые маршруты по сайту;
- массовые обращения к служебным адресам;
- выполнение JavaScript без нормального пользовательского поведения;
- отсутствие естественных пауз между действиями;
- чрезмерное количество POST-запросов.
Полезно сравнивать данные сразу в трёх источниках: аналитических системах, серверных логах и инструментах мониторинга инфраструктуры. Если Google Analytics показывает рост аудитории, а логи фиксируют тысячи однотипных обращений из одной подсети, это почти наверняка не органический трафик.
Что делать владельцу сайта
Первый шаг - сохранить логи и определить временные рамки активности. Не стоит сразу блокировать весь диапазон: часть адресов может принадлежать легитимным сервисам или пользователям.
Затем можно временно ограничить подозрительную подсеть на уровне веб-сервера, CDN или WAF. Более аккуратный вариант - установить лимиты на частоту запросов, особенно для POST-обращений и `/wp-admin/admin-ajax.php`.
Следует проверить, действительно ли сайту необходимы все публичные AJAX-операции WordPress. Неиспользуемые функции лучше отключить, а административную часть защитить дополнительной авторизацией и ограничением доступа.
В аналитике рекомендуется включить фильтрацию известных роботов, помечать подозрительные сегменты и не использовать сырые показатели посещаемости для оценки рекламной эффективности. В противном случае автоматическая активность может искусственно завысить число пользователей, сессий и просмотров.
Важно также проверить нагрузку на сервер. Даже если робот не пытается взломать сайт, десятки тысяч запросов способны увеличить расход CPU, памяти и трафика. Особое внимание стоит уделить динамическим страницам и обращениям, которые запускают PHP или запросы к базе данных.
Главный вывод этой истории прост: современные роботы научились вести себя достаточно правдоподобно, чтобы обманывать отдельные системы веб-аналитики. Красивый график роста аудитории ещё не доказывает, что сайт стали читать новые люди. Реальную картину можно получить только при сопоставлении статистики, логов, сетевой инфраструктуры и поведения посетителей.
