...

четверг, 13 октября 2016 г.

[Из песочницы] Как мы отфильтровали ботов и понизили показатель отказов с 90% до 42%

Несколько месяцев назад у нас сильно вырос показатель отказов по Google Analytics. Мы сделали стандартный набор действий, который рекомендуют делать в Сети: создали в аналитике представление «без пауков и ботов» (настройка «Фильтрация роботов» в представлении), проверили качество настройки кода Analytics, проверили и настроили длительность сессии и так далее. Все это заняло время, но не дало результатов. Показатель отказов в некоторые дни превышал 90%. При этом качество контента на нашем сайте или структура входящего трафика никак очевидным образом не менялась. Это просто «случилось в одночасье» и всё. Поскольку ничего подобного описанного в Сети я не нашел, решил описать как мы нашли и исправили проблему и снизили показатель отказов до приемлемых 42-55%.

Приведу скриншот для иллюстрации исходной проблемы:

image

Поскольку все стандартные схемы результата не дали, пришлось думать самим и искать проблему. Analytics ничем не помог, и я начал проверять через Яндекс.Метрика. Общие показатели по Метрики были довольно приемлемые (до 10% отказов). Прочитав несколько статей о том почему отказы в Метрике могут быть приемлемые, а в Analytics зашкаливать, стало понятно где искать проблему. Если коротко: Метрика считает отказами все посещения, которые длились меньше 15 секунд, а Analytics – все, после которых не было других посещений страницы. Таким образом я начал смотреть отчет по длительности посещений в Метрике и Аналитиксе и понял, что у меня нереально большой процент посещений с длительностью 0:00 секунд, до 50% дневных сеансов. Еще несколько прочитанных статей позволили отбросить гипотезу о не срабатывающем коде и ботах, которые пробираются через фильтр Аналитикса. Никаких признаков реферального спама у меня тоже не было.

В итоге я просто отфильтровал в Вебвизоре посещения с длительностью 0:00 и решил попробовать найти закономерность. Вот что я получил:

image

Каждый «посетитель» заходил со своей подсети, с явно указанным User Agent, разрешением экрана и операционной системой, то есть для Метрики и Analytics он никак не воспринимался как бот.

image

image

Единственное, что его выдавало это ритмичный характер посещений каждые 1 час 1 минуту и 0 длительность просмотра. Я скинул скриншоты нашему сисадмину Андрею и попросил посмотреть, что это такое, по логам сервера. Первый же IPшник заставил нас удивиться: к нам ходил кто-то из подсети Лига.Закон.

есть айпишник за 4:56, сейчас проверю другие заходы
inetnum: 193.150.7.0 — 193.150.7.255
netname: LIGA-UA-NET2
remarks: LIGA ZAKON

Всего по логам нашлось 43 IP-адреса, которые обращались к разным страницам нашего сайта с разных провайдеров, с разными User Agent.

По RIPE ничего интересного мы не нашли, ничем не примечательные IP из обычных подсетей. Кроме того, что боты ходили с интервалом 1:01 больше ничего явно общего в них не было.

Весь найденный список мы заблокировали в iptables.

В течении суток мы еще выловили несколько новых IP, набросали алгоритм автоматической фильтрации подобного бот-трафика на случай, если после блокировки одних ботов, им на смену придут новые. Однако больше никого подобного не нашли. Было только пара любопытных User Agent, но никого с интервалом 1:01.

Еще через сутки показатель отказов по Google Analytics начал приходить в норму и резко упал с 89% до 42,75%.

На сегодня, спустя почти неделю после описанных событий, показатель отказов держится в приемлемых рамках 42-55%, общую динамику можно посмотреть на графике. Там, где резкое снижение — это мы отфильтровали ботов.

image

Гипотезы о том «что это было» у нас всего две.

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

Вторая гипотеза: это какая-то неизвестная широкой общественности форма бот-атаки, возможно направленная как раз на повышение показателя отказов и, как следствие, пессимизации в поисковой выдаче Google.

Если вы тоже с таким сталкивались, буду рад комментариям. Если вам будут нужны более подробные инструкции о том, как мы это искали и блокировали, пишите тоже.

Комментарии (0)

    Let's block ads! (Why?)

    Комментариев нет:

    Отправить комментарий