Примеры защиты сайтов от негативной накрутки поведенческих факторов в 2024 году
После того как я написал статью на Яндекс Дзене ко мне стали обращаться люди с проблемами негативной накрутки поведенческих факторов (ПФ). Я решил почему бы не применять все свои знания на практике и приступил к работе.
Содержание статьи
1 сайт. Накрутка прямых заходов и отказов используя прокси других стран
Ко мне обратился директор интернет-магазина замков и фурнитуры из Челябинска с проблемой аномальной активности на сайте. Открываю Яндекс Метрику и что я вижу:
Прямые заходы растут, отказы растут. Смотрю дальше отчет Источники-> Источника,сводка
Далее смотрю отчет Визиты в которых -> География -> Местоположение
Какие работы я провел?
Блокировка доступа к сайту из США
Переговорил с директором о том, чтобы заблокировать трафик из США, рассказал о всех тонкостях и если будут жалобы от клиентов, что сайт недоступен, то блокировку уберу. Договорился, чтобы блокировка действовала 1 месяц.
Скрытие счетчика Яндекс Метрики
На сайте был установлен счетчик Яндекс Метрики прямо в тело сайта. Я модифицировал счетчик и убрал его в отдельный скрипт и подключил к сайту.
Блокировка доступа из сети Битерика Group
Был заблокирован доступ к сайту из сети Битерика Group, которая немало приносит бед сайтам. В этой статье я подробно рассказывал как это сделать.
Результат моих работ
Прямых заходов стало гораздо меньше, отказы сократились и в течении месяца вышла на прежние показатели
Клиент доволен моей работой, а я доволен, что сайт больше никуда не будет падать в поиске Яндекса.
2 сайт. Накрутка отказов прямыми заходами
Ко мне обратился директор брачного агентства из Москвы с проблемой большого числа отказов.
Я получил доступ к счетчику Яндекс Метрики и картина мягко скажем удручающая:
В конце октября 2023 года произошел резкий скачок прямых заходов
Смотрим отчет откуда приходят посетители сайта и опять как с первым сайтом большое количества трафик из США
Какие работы я провел?
Блокировка трафика из США
Переговорил с владельцем сайта о том, чтобы заблокировать трафик из США, рассказал о всех тонкостях и если будут жалобы, что сайт недоступен, то блокировку уберу. Договорился, чтобы блокировка действовала 1 месяц.
В файл .htaccess
внес соответствующие правила:
Order Allow,Deny
Allow from all
deny from 2.56.8.0/24
...
Блокировка трафика из сети Битерика Group
Паразитный трафик из данной сети я блокирую на всех сайтах в обязательном порядке. Также внес изменения в файл .htaccess
Order Allow,Deny
Allow from all
deny from 2.56.8.0/24
...
Готовый файл htaccess вы можете скачать в этой статье.
Скрытие счетчика Яндекс Метрики и Google Analitics
Убрал вывод счетчиков напрямую в коде, модифицировал их и убрал в отдельный файл. Загрузку Яндекс Метрики сделал с таймаутом в 1500 мс после начала скролла сайта.
Яндекс Метрика стала такой:
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", "ym"); ym(0000000, "init", { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });
}, 1500)}});
Google Analitics:
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.googletagmanager.com/gtag/js?id=G-0000000', 'gtag');
gtag('js', new Date());
gtag('config', 'G-0000000');
Результат моих работ
Практически на следующей день показатели прямых заходов и отказы значительно стали снижаться
Поисковые заходы на сайте стали преобладать над прямыми заходами, а это очень хорошо для Яндекса.
Количество отказов после истечения месяца пришло в норму. Клиент доволен и я тоже.
Что такое внутренний переход?
На скриншоте выше показатель внутренние переходы 33%. С чем это связано?
Ответ Яндекса:
Есть две основные причины, порождающие ситуацию, описанную выше:
Посетитель пришёл на страницу (contacts.html из примера выше) и затем не совершал на сайте никаких действий в течение времени, превышающего тайм-аут визита, заданный в настройках счётчика (по умолчанию это 30 минут). Тогда следующий его переход на сайте (на страницу page1.html) будет новым визитом, но при этом источником трафика будет тот же сайт — т. е. внутренний переход.
Посетитель пришёл из внешнего источника на страницу сайта, на которой не было счётчика (ту же contacts.html) и с неё сразу (в рамках того же визита) перешёл на страницу сайта со счётчиком (page1.html). Всё те же два условия выполнены: визит начался с page1.html (т.к. о просмотре contacts.html Метрика ничего не знала из-за отсутствия на этой странице счётчика), но страница, с которой был переход (contacts.html) принадлежит тому же сайту, что указан в настройках счётчика — http://mysite.example/.
Таким образом, чтобы исключить внутренние переходы нужно:
- Проверить наличие счетчика на всех страницах.
- Увеличить таймаут счетчика. Например до 60 минут.
3 сайт. Атака со всех сторон
Интересный сайт, который попал мне на разбор и внедрение защиты от ботов. По началу выглядело все стандартно. Прямые заходы с отказами и большинство из сети Битерика Group.
Вношу в .htaccess
правила блокировки Битерики Group
Order Allow,Deny
Deny from 185.2.30.241
Deny from 146.120.158.19
Deny from 45.134.253.0/24
Deny from 46.8.14.0/23
Deny from 95.182.124.0/24
Deny from 45.142.253.0/24
Deny from 45.84.177.0/24
Deny from 77.83.148.0/24
....
И вроде бы становится все хорошо, но нет. Изначально не обратил внимание, что всплеск активности прямых заходов произошел со всплеском переходов с других сайтов.
Первое предположение - это переходы из РСЯ, у клиента подключена реклама Яндекс Директ, но оказывается, что нет. Второе предположение, что сайт продвигался в поиске и это переходы по ссылкам, но и это опроверг клиент.
В интернете есть мнение, что это проделки накрутчиков поведенческих факторов, которые создают ботов и они "нагуливают" историю посещений сайтов и с этим ничего делать не надо. Надо! Потому что такие заходы часто с отказами, а это негативно влияет на SEO.
Ситуация становится сложная. Беру статистику переходов с других сайтов за 3 месяца, а это порядка 350 сайтов и вношу правила блокировки в htaccess:
RewriteCond %{HTTP_REFERER} n-katalog.ru [NC,OR]
RewriteCond %{HTTP_REFERER} starline93.ru [NC,OR]
RewriteCond %{HTTP_REFERER} gadgetplay.ru [NC,OR]
RewriteCond %{HTTP_REFERER} bolshoyvopros.ru [NC,OR]
RewriteCond %{HTTP_REFERER} metarankings.ru [NC,OR]
....
RewriteCond %{HTTP_REFERER} отели.дети [NC]
RewriteRule .* – [F]
Наблюдаю за посещаемостью и на следующий день появляются все новые переходы с других сайтов и они только увеличиваются.
Наводит на мысль, что атака целенаправленная. Что ж. Смотрим в IP, с которых идут переходы, а там они практически одинаковые:
Проверяем каждый подозрительный IP в сервисе 2ip.ru/whois
О, что я вижу. IP адреса из Финляндии.
Вношу в htaccess правила для блокировки сразу пулы IP адресов.
Order Allow,Deny
Deny from 94.25.168.0/21
Deny from 195.112.114.0/25
Deny from 65.108.0.0/15
Deny from 178.176.64.0/19
Deny from 89.112.0.0/15
Deny from 31.12.94.0/24
Что касаемо блокировок - это временная мера. С клиентом обсудил все эти моменты. Буду продолжать вести наблюдение. Посмотрим, что будет дальше.
В интернете есть мнение, что такие блокировки приведут к тому, что реальные пользователи не смогут попасть на сайт. Все это чушь и такие случаи единичные.
Статья дополняется...