Прямые заходы на сайт в Яндекс Метрике и как бороться с ботами, маскирующимися под поисковый и рекламный трафик
В феврале 2024 года, после шести месяцев плодотворной работы был запущен обновленный сайт. Первые недели после редизайна сайта — критически важны. Неправильная склейка может привести к падению позиций в поисковой выдаче, а технические баги, ошибки в скриптах, некорректная настройка сервера и DNS, могут отразиться на работе сайта.
Анализируя Яндекс. Метрику наткнулись на рост ботов ещё за неделю до запуска нового сайта.
Борьба с ботами: от чтения логов до правил в robots.txt
Чтобы понять, как боты маскируются под прямой трафик, мы начали с анализа логов сервера (frontend.access.log).
Пример анализа строки из логов:
5.255.231.43 - - [20/Mar/2024:06:39:09 +0000] "GET /products/skandi-0-75/ HTTP/1.1" 200 105373 "-" "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
Расшифровка:
- 5.255.231.43 — IP-адрес посетителя
- [20/Mar/2024:06:39:09 +0000] — дата и время запроса
- GET /products/skandi-0-75/ — тип запроса и запрашиваемый ресурс
- HTTP/1.1 — протокол, по которому прошёл запрос
- 200 — код ответа сервера (успешный)
- 105373 — количество байт, полученных посетителем
- Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) — информация о браузере (в данном случае — Яндекс бот)
Обратите внимание в примере бот Яндекс - это ПОЛЕЗНЫЕ БОТЫ. Ни в коем случае не блокируем IP поисковых ботов.
Не забудьте предварительно перед блокировкой IP проверить не боты ли это поисковых систем, Applebot, боты ПС которые кушают картинки и другие полезные боты для сайта, который в бан категорически нельзя отправлять.
Анализируя логи, вы можете определить ботов по следующим признакам:
- Необычные IP-адреса. Например, если ваш сайт ориентирован на русскоязычную аудиторию, а в логах преобладают запросы с IP-адресов из Китая или Индии, это может свидетельствовать о наличии ботов.
- Частота запросов. Если один и тот же IP-адрес отправляет запросы с очень высокой частотой, это может быть признаком ботов.
- Нестандартные заголовки User-Agent. Многие боты используют уникальные или нестандартные заголовки User-Agent.
Веб-аналитика
Инструменты веб-аналитики, такие как Яндекс Метрика и Google Analytics, предоставляют более глубокую информацию о поведении пользователей на вашем сайте. Анализируя данные веб-аналитики, вы можете определить ботов по следующим признакам:
- Низкая продолжительность сессии. Ботов часто отличают короткие сессии с быстрым переходом от одной страницы к другой.
- Низкая глубина просмотра. Ботов также можно определить по тому, что они просматривают только ограниченное количество страниц на вашем сайте.
- Отсутствие действий. Ботов может отличать отсутствие взаимодействия с контентом сайта — они не нажимают на ссылки, не вводят текст в форму, не просматривают видео и т.д.
Мы обнаружили, что в нашем файле логов было много "иностранцев", поэтому решили заблокировать их по ASN (Autonomous System Number).
Что такое ASN и как его найти
ASN - это аббревиатура, которая расшифровывается как Autonomous System Number - Номер автономной системы.
Простыми словами, ASN - это уникальный номер, который присваивается каждой сети, управляемой одной организацией.
Представьте себе Интернет как огромную сеть, состоящую из множества меньших сетей, управляемых разными организациями.
Каждая из этих сетей имеет свой собственный ASN, который позволяет идентифицировать ее в глобальной системе маршрутизации.
Зачем нужен ASN
- Для маршрутизации трафика. Когда вы заходите на сайт, ваш компьютер отправляет запрос через маршрутизаторы разных сетей. ASN помогает определить, какой маршрут должен пройти ваш запрос, чтобы добраться до нужного сайта.
- Для фильтрации трафика. ASN может использоваться для блокировки или ограничения доступа к определенным сайтам или ресурсам.
Для отслеживания трафика. ASN может использоваться для отслеживания происхождения трафика и выявления проблем с сетью.
Как найти ASN
Переходим на сайт 2ip.ru - Информация об IP адресе или домене
- Введите IP-адрес. В поле ввода введите IP-адрес, который вы хотите проверить.
- Введите капчу, чтобы подтвердить, что вы не бот.
- Просмотрите результаты. На странице найдете информацию об IP-адресе, включая ASN.
Блокировка по ASN — это эффективный метод борьбы с ботами, но он может также заблокировать доступ к вашему сайту для реальных пользователей.
Используйте этот метод с осторожностью и регулярно проверяйте, что вы не заблокировали живых юзеров.
Просмотрев IP cоставили список ASN и добавили в файрволл (готовый модуль для блокировки по ASN для сайтов на битрикс).
Однако, скоро стало ясно: блокировка по ASN не идеальна. Мы решили дополнить ее правилами в файле robots.txt.
Вот пример того, какие правила мы добавили в конце файла robots.txt:
User-Agent: Bytespider
Disallow: /
User-Agent: grapeshot
Disallow: /
User-Agent: MegaIndex
Crawl-delay: 5
User-Agent: MJ12bot
Disallow: /
User-Agent: Python-urllib/2.6
Disallow: /
User-Agent: DISCo Pump
Disallow: /
User-Agent: Wget
Disallow: /
User-Agent: Teleport Pro
Disallow: /
User-Agent: psbot
Disallow: /
User-Agent: Twiceler
Disallow: /
User-Agent: NetinfoBot
Disallow: /
User-Agent: UbiCrawler
Disallow: /
User-Agent: DOC
Disallow: /
User-Agent: Zao
Disallow: /
User-Agent: sitecheck.internetseer.com
Disallow: /
User-Agent: Zealbot
Disallow: /
User-Agent: MSIECrawler
Disallow: /
User-Agent: SiteSnagger
Disallow: /
User-Agent: WebStripper
Disallow: /
User-Agent: WebCopier
Disallow: /
User-Agent: Fetch
Disallow: /
User-Agent: Offline Explorer
Disallow: /
User-Agent: Teleport
Disallow: /
User-Agent: linko
Disallow: /
User-Agent: HTTrack
Disallow: /
User-Agent: Microsoft.URL.Control
Disallow: /
User-Agent: Xenu
Disallow: /
User-Agent: larbin
Disallow: /
User-Agent: libwww
Disallow: /
User-Agent: ZyBORG
Disallow: /
User-Agent: Download Ninja
Disallow: /
User-Agent: grub-client
Disallow: /
User-Agent: NPBot
Disallow: /
User-Agent: WebReaper
Disallow: /
User-Agent: GPTBot
Disallow: /
User-Agent: SemrushBot
Disallow: /
User-Agent: DotBot
Disallow: /
User-Agent: CCBot
Disallow: /
User-Agent: GeedoProductSearch
Disallow: /
User-Agent: keys-so-bot
Disallow: /
User-Agent: Amazonbot
Disallow: /
В итоге, блокировка по ASN и правила в robots.txt дали следующие результаты.
Июнь 2024 - аномальные переходы из поисковых систем и рекламы: неожиданное решение
Часть ботов маскировалась под переходы из поисковых систем и рекламы. Спам был на одну конкретную страницу из десятка тысяч страниц на сайте. Ранее схема по которой мы боролись с прямыми заходами в данном случае помогла незначительно.
Решение оказалось неожиданным: мы отключили рекламу в Яндекс.Директ для этой страницы и заходы ботов прекратились.
Не стоит недооценивать ботов
Борьба с ними — непростая задача. Многие советуют не обращать внимания, рано или поздно им надоест. Мое мнение, бороться с ними нужно.
И не стоить забывать о главном: создавать качественный контент, который будет интересен реальным пользователям!