Как бороться с наплывом ботов на сайт фиксируемых Я.Метрикой

Цель нашей компании - предложение широкого ассортимента услуг на постоянно высоком качестве обслуживания.
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге
7 марта 2024

Возможно, вы уже сталкивались с обескураживающими данными в отчетах Яндекс.Метрики, отмечая значительное количество посещений с социальных сетей, прямые заходы или интенсивный поток пользователей из Яндекса или Google (или любой другой поисковик) по специфическим ключевым фразам. Этот поток может быть направлен как на главную страницу вашего сайта, так и на конкретные страницы, которые обычно занимают высокие позиции в поисковой выдаче. Сначала это кажется поводом для радости, ведь увеличение трафика кажется полностью органическим. Однако вскоре вы начинаете замечать нелогичность этих переходов и осознаете, что перед вами стоит проблема искусственного влияния на поведенческие факторы: рост отказов, снижение времени нахождения на сайте, доля трафика из соцсетей превосходит другие источники... Независимо от того, улучшились ли позиции вашего сайта или ухудшились, актуальность данных метрики резко падает, превращая ее в бесполезный инструмент.

Откуда берется эта проблема и почему она возникает именно на вашем сайте? Какова позиция Яндекса по этому вопросу? Но самое важное: каковы последствия для вашего сайта и как эффективно бороться с этими манипуляциями? Эти вопросы активно обсуждаются на форумах и в чатах, где каждый имеет возможность поделиться своим мнением и наблюдениями. Проблема не нова, однако недавно она достигла таких масштабов, что игнорировать ее дальше Яндексу становится невозможно, требуется серьезное вмешательство в процесс фильтрации трафика.

Скриншот 07-03-2024 17.54.40.jpg

Фото из сервиса Яндекс Метрика с фиксацией огромного числа ботов


Скриншот 07-03-2024 17.57.45.jpg

Фото из сервиса Яндекс Метрика - Вебмастер с фиксацией огромного числа ботов


Я уже более года сталкиваюсь с наблюдением тревожной тенденции, затрагивающей всё больше сайтов – от коммерческих платформ до новостных порталов и блогов. Любой ресурс, даже минимально присутствующий в поисковой выдаче, рискует стать мишенью. С 2021 года это явление приобрело почти универсальный характер. В моем портфеле в Яндекс.Метрике, насчитывающем около 300 сайтов, паразитный трафик обнаруживается у 80% из них.

С одной стороны, владельцы сайтов ищут способы защиты от таких атак, с другой – некоторые находят способы извлечения выгоды из ситуации, активно торгуя паразитным трафиком. Этот трафик могут продавать как с целью "улучшения" поведенческих факторов сайта – увеличения времени пребывания на страницах, глубины просмотра и снижения отказов, так и для достижения противоположных результатов – сокращения времени на сайте, уменьшения просмотров и увеличения отказов. Спрос есть на оба варианта.

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


Стандартный ответ Яндекса по поводу накрутки ПФ


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

Мы постоянно работаем над улучшением Яндекс.Метрики и в планах имеем дальнейшее совершенствование нашей системы фильтрации.

Важно подчеркнуть, что наш счетчик занимается исключительно учетом посещений вашего сайта. Дополнительных данных о трафике, кроме тех, что представлены в отчетах, у нас нет, а влиять на трафик мы не в состоянии.

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

Учтите, что информация о индексации и факторах ранжирования вашего сайта конфиденциальна. Служба поддержки сможет помочь вам только после заполнения специальной формы на сайте Яндекса под вашим логином, подтверждающим права на сайт.

Для получения более детальной информации о том, как учитываются посещения сайта ботами, ознакомьтесь с разделом Справки на нашем сайте.

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

Желаем вам успешного дня!


В настоящее время рынок интернет-маркетинга сталкивается с серьезными вызовами. С одной стороны, некоторые владельцы сайтов страдают от потери трафика и понижения своих позиций в поисковой выдаче из-за целенаправленных действий конкурентов. С другой стороны, есть жалобы на то, что аналитические данные потеряли свою надежность: статистика больше не отличает реальных посетителей от ботов, делая сбор данных бессмысленным. Некоторые пользователи выражают беспокойство по поводу возможных санкций за манипуляции с поведенческими факторами, хотя Яндекс заверяет, что оснований для волнений нет. Ситуация зашла в тупик.

Корень проблемы заключается в том, что технологии манипуляции трафиком значительно продвинулись вперед, в то время как механизмы фильтрации данных Яндекс.Метрики остались практически без изменений. Сегодня даже школьник может воздействовать на счетчик Яндекса, создавая искаженные данные по своему усмотрению.


Зачем и как происходит какрутка поведенческих факторов

С момента внедрения учета поведенческих факторов в процесс ранжирования сайтов, методы их искусственного улучшения постоянно совершенствуются. Сервисы вроде Useraror, Movebo, SERPClick, Seopult, WebEffector продолжают предлагать услуги по улучшению этих показателей, несмотря на уверенности Яндекса в способности своих алгоритмов распознавать такие манипуляции.

SEO-эксперты подчеркивают критическую важность поведенческих факторов для успешного продвижения в Яндексе. Сайты с низкими показателями пользовательской активности рискуют остаться за пределами топовых позиций по конкурентоспособным запросам. В то же время, Яндекс придает большое значение оценкам асессоров, а Google хоть и меньше фокусируется на этих параметрах, тоже учитывает их при определении релевантности страниц запросам.

Методы влияния на поведенческие факторы становятся всё более изощренными, что подтверждается многочисленными экспериментами. Накрутка этих показателей стала настолько распространенной, что её можно обнаружить почти на каждом третьем сайте. Это может быть сделано как по заказу конкурентов, так и в рамках экспериментов или для исключения сайтов из ТОПа по определенным запросам.


Скриншот 07-03-2024 18.03.06.jpg

Фотография предложений накрутки ПФ на биржеKWORK


Современные веб-технологии позволяют симулировать действия реальных пользователей с помощью специально разработанных скриптов. Такие скрипты могут имитировать посещения с реальных устройств и IP-адресов, просмотр страниц и даже чтение текста, создавая иллюзию естественного поведения пользователя на сайте.

Воздействие на поведенческие факторы может осуществляться через:

  • Общую посещаемость сайта, указывающую на его популярность.

  • Клики в поисковой выдаче (CTR), особенно первый и последний.

  • Время пребывания на сайте как индикатор его качества.

  • Глубину просмотра, отражающую количество страниц, просмотренных за один визит.

  • Показатель отказов, когда посещение ограничивается одной страницей и коротким временем.

  • Возвраты пользователей на сайт как знак его полезности.

  • Прямые переходы и переходы со страниц социальных сетей.

Если ваш сайт подвергается атакам с использованием ботового трафика, Яндекс должен учитывать это при оценке вашего ресурса. В лучшем случае это не скажется на посещаемости сайта и его позициях в поиске. В худшем - сайт может быть временно понижен в выдаче на период от 8 до 12 месяцев за нарушения и создание угроз безопасности через накрутку поведенческих факторов.

Скриншот 07-03-2024 18.01.38.jpg

Скриншот критической ошибки и предупреждения из сервиса Я.Вебмастер

Как же защититься от накруток ПФ

Паразитный трафик вызывает массу недовольства и шумихи в SEO сообществе, все профильные форумы забиты обсуждениями накрутки ПФ. Изобретаются всякие способы и методы, доходит до того, что звучат призывы снимать счетчик Метрики с сайта! Дело в том, что все существующие до этого методы фильтрации такого трафика уже не работают! Весь паразитный трафик выглядит на удивление естественным - реальное устройство, активность, страницы входа и выхода, реальные динамичные IP часто мобильных операторов и т.д. Жесткая блокировка подсетей или по типу устройства, или по поведению приведет к тому, что на ваш сайт не смогут зайти реальные посетители.

Скриншот 07-03-2024 18.04.20.jpg

Скриншот из сервиса Я.Вебмастер - Вебвизор


Однако, это не значит, что не нужно защищать Метрику! С учетом всех этих подозрительных переходов, количество и качество которых время от времени варьируется в различную сторону, статистика в целом по сайту становится бессмысленной! Разве есть толк анализировать накрученную ботами метрику и для каких целей она может быть полезной?

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


Модификация счетчика Яндекс Метрики

Видоизменив привычный всем код Яндекс Метрики Вы избавляете себя от множества потенциальных проблем сегодня и в будущем. В первую очередь будет полезным спрятать счетчик от людей и роботов, сканирующих контент, от браузеров без поддержки JavaScript и т.д. Делается это просто:

1. Подключаем Яндекс Метрику в отдельный файл

Код счетчика вставляется в отдельный JS файл. В нашем примере в toolbar.js (ни о чем не говорящее имя), который подключается в шаблоне вашего сайта конструкцией

<script src="сайт.ru/toolbar.js"></script>


2. Удаляем из счетчика признаки метрики

В коде счетчика есть атрибуты, по которым счетчик распознается роботами. В частности, это комментарий <!-- Yandex.Metrika counter -->, домен загрузки mc.yandex.ru/metrika/tag.js, а также конструкция в <noscript>. Все это можно безболезненно модифицировать: все комментарии из счетчика можно вырезать, <noscript> можно удалить целиком (он создан для подсчета браузеров в котором отключена поддержка JavaScript), а домен Яндекса можно заменить альтернативным CDN (он создавался для учета посещения из регионов, в которых ограничен доступ к ресурсам Яндекса).

2.1 Обычный счетчик:

<!-- Yandex.Metrika counter --> <script > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js&quot;, "ym"); ym(12345678, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/12345678&quot; style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter -->

2.2 Модифицированный счетчик:
<script> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js&quot;, "ym"); ym(12345678, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });</script>


2.3 Загрузка в отдельном файле

Если мы загружаем счетчик Яндекс Метрики отдельным файлом (как в примере выше toolbar.js), то код пишется без <script>... </script>

(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js&quot;, "ym"); ym(12345678, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });


2.4 Запускаем метрику для живых людей

Загрузку метрики можно сделать умной. Для начала дождаться, чтобы пользователь дождался прогрузки страницы и проскролил ее. Так вы минимизируете нулевые заходы, когда пользователь/бот зашел и сразу же вышел. Данный скрипт загружает счетчик Яндекс Метрики через секунду (цифра 1000 в конце) после скролинга страницы пользователем. Естественно, такая конструкция позитивно влияет и на показатель скорости "Google PageSpeed Insights".

В результате всех вышеописанный манипуляций, код Яндекс Метрики для вставки в toolbar.js выглядит следующим образом:

var mscroll = false;
window.addEventListener('scroll', () => {
if (mscroll === false) { mscroll = true; setTimeout(() => {
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://cdn.jsdelivr.net/npm/yandex-metrica-watch/tag.js&quot;, "ym"); ym(12345678, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });
}, 1000)}});

Все вышеописанные процедуры никаким образом не отразятся на работе Яндекс Метрики: данные по-прежнему в нее будут поступать практически в полном объеме, но без учета определенного мусорного трафика! Также ваш счетчик будет защищен от целого ряда ПО, которые сканируют сайты в поисках номера счетчика, чтобы впоследствии организовать на него прямую атаку!

Переосмысление стратегий блокировки вредоносного трафика


Защита счетчика Яндекс.Метрики – это лишь начало борьбы с вредоносным трафиком. Ключевым моментом является глубокий анализ методов, которыми пользуются манипуляторы посещаемостью сайтов, и разработка эффективных стратегий их нейтрализации. Стоит подчеркнуть, что универсального рецепта противостояния не существует из-за высокого уровня сложности имитации действий реальных пользователей, что затрудняет их идентификацию даже для продвинутых фильтров Яндекса.

Определение общих характеристик атак позволяет выявлять и блокировать ботов.


Переходы с Facebook

Аналитические системы иногда фиксируют направленные атаки, исходящие из конкретных социальных сетей. Примером служит мобильный трафик с m.facebook.com, который характеризуется международным охватом и распределением по различным страницам сайта. Несмотря на наличие признаков активности, таких как скроллинг, поведение зачастую не соответствует действиям реальных пользователей. Вывод - такой трафик следует блокировать.


В файл .htaccess (в корне вашего сайта) добавить:

RewriteCond %{HTTP_REFERER} m.facebook.com [NC]
RewriteRule .* – [F]

 Контрольный выстрел - не учитывать такой трафик в Яндекс Метрике и выключить во вкладке: Настройка - Фильтры. Тип фильтра - Исключить трафик, Поле - Url страницы, Условие - содержит, Значение - ?fbclid= (как правило, все переходы из FB помечаются таким идентификатором).

FB_filtr.png
Пример блокировки переходов с facebook в Метрике



Пример блокировки подсетей IP

Во вкладке "IP-сеть" Вебвизора можна найти подсети атакующих. Очень часто это мобильные операторы:

Metropolitan branch of OJSC MegaFon AS25159 31.173.80.0/21
Metropolitan branch of OJSC MegaFon AS25159 31.173.0.0/18
Metropolitan branch of OJSC MegaFon AS25159 178.176.64.0/19
Center Branch of OJSC MegaFon, GPRS/UMTS Pool 2.
Mobile subscribers pool

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

Для ограничения доступа к сайту по диапазону IP-адресов через файл .htaccess, необходимо определить CIDR (Бесклассовая междоменная маршрутизация). Это можно сделать с помощью любого Whois-сервиса, имея на руках конкретный IP-адрес.

К примеру, при обнаружении серии атак с IP 158.166.64.0, мы вводим этот адрес в сервис, такой как https://2ip.ru/whois/, и получаем CIDR: 158.166.0.0/16, что позволяет нам эффективно блокировать атакующие подсети.

Скриншот 07-03-2024 18.41.30.jpg
Вычисление CIDR IP на 2ip.ru


Осталось в файл .htaccess (в корне вашего сайта) добавить:

Order Deny,Allow

Deny from 158.166.0.0/16

Эта строчка кода приведет к блокировке множественных IP адресов лежащий в диапазоне 158.166.0.0 - 158.166.255.255

Будьте предельно осторожны при блокировке CIDR диапазонов, используйте их как вынужденную меру, краткосрочное решение и т.д., так как за бортом могут остаться и потенциальные посетители вашего сайта!


Блокировка соцсетей и сайтов по списку

В поисках значительного увеличения посещаемости, многие веб-сайты стремятся привлечь трафик из различных социальных сетей и других платформ. Обычно список этих источников не широк, но они способны генерировать значительный объем трафика, который часто выглядит неестественно. Если такой тип трафика не соответствует ожиданиям владельца сайта или не подходит под его маркетинговую стратегию, существует возможность блокировки этих источников путем их указания. Это позволяет контролировать качество и происхождение трафика, обеспечивая его соответствие целям и задачам сайта.

В файл .htaccess (в корне вашего сайта) добавить:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} ok.ru [NC,OR]
RewriteCond %{HTTP_REFERER} t.co [NC,OR]
RewriteCond %{HTTP_REFERER} vk.com [NC,OR]
RewriteCond %{HTTP_REFERER} youtube.com [NC,OR]
RewriteCond %{HTTP_REFERER} instagram.com [NC,OR]
RewriteCond %{HTTP_REFERER} facebook.com [NC,OR]
RewriteCond %{HTTP_REFERER} zen.yandex.ru [NC,OR]
RewriteCond %{HTTP_REFERER} click.my.mail.ru [NC]
RewriteRule .* - [F]
</ifModule>

Список сайтов и социальных сетей, переходы с которых планируется заблокировать, дополняете под свои конкретные нужды.


Показ Яндекс Метрики избранным


Возможно настроить отображение Яндекс.Метрики таким образом, чтобы она активировалась только для определенной аудитории: например, для пользователей, пришедших через поисковые системы или с конкретных веб-сайтов. Для этого используется PHP-скрипт, который анализирует HTTP_REFERER. В случае обнаружения совпадения с одним из доменов, указанных в списке разрешенных ($domains), скрипт инициирует загрузку счетчика Яндекс.Метрики на странице, выполняя команду echo $metrika. Это позволяет точно настроить аналитику, сосредоточив внимание на целевой аудитории и повышая эффективность отслеживания взаимодействий на сайте.

<?php
//скрипт метрики предварительно загружен в файл toolbar.js
$metrika = '<script src="https://ваш_сайт.ру/toolbar.js"></script>';
//списки разрешенных доменов, можно без указания доменной зоны
$domains = [
'100zona.com', //не забываем указать свой собственный домен
'google',
'yandex',
'rambler',
'mail',
'bing',
'ukr.net',
];
foreach ($domains as $item) {
$res = strripos($_SERVER['HTTP_REFERER'], $item);
if ($res) {
session_start();
setcookie("metrik", $metrika);
echo $_COOKIE['metrik'];
}
}
//А также обязательно показываем метрику всем ботам Яндекса
function isBot(&$botname = ''){
$bots = array(
'YandexBot', 'YandexAccessibilityBot', 'YandexMobileBot', 'YandexDirectDyn', 'YandexScreenshotBot',
'YandexImages', 'YandexVideo', 'YandexVideoParser', 'YandexMedia', 'YandexBlogs', 'YandexFavicons',
'YandexWebmaster', 'YandexPagechecker', 'YandexImageResizer', 'YandexAdNet', 'YandexDirect',
'YaDirectFetcher', 'YandexCalendar', 'YandexSitelinks', 'YandexMetrika', 'YandexNews',
'YandexNewslinks', 'YandexAntivirus', 'YandexMarket', 'YandexVertis',
'YandexForDomain', 'YandexSpravBot', 'YandexSearchShop', 'YandexMedianaBot', 'YandexOntoDB',
'YandexOntoDBAPI', 'YandexTurbo', 'YandexVerticals'
);
foreach($bots as $bot)
if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
$botname = $bot;
return true;
}
return false;
}
if( isBot($bname) ){
session_start();
setcookie("metrik", $metrika);
echo $_COOKIE['metrik'];
}
?>




Заказать услугу
Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.