Сышышь ты, выходи сюда,
поговорим !

Отказ в Яндекс Метрике - защита от ботов, нулевые заходы

Опубликовано: 01.09.2018

Отказ в Яндекс Метрике – это просмотр страницы меньше 15 секунд и возвращение пользователя в поиск. В метрике показатель не должен превышать 20%, но каждый вебмастер пытается снизить показатель до минимальных значений.

Отказы считаются одним из важных показателей ранжирования. Если процент большой, поисковая система считает, что сайт не нравится пользователям, а значит, некачественный, и как следствие понижение позиций в выдаче. А значит, меньше посетителей, читателей и клиентов из поиска.

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

Моя история борьбы с отказами выбиваемыми ботами

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

Через неделю после перезапуска этого сайта я зашел на вебвизор, чтобы посмотреть, как идут дела. Картина была просто удручающая, суммарно отказы завалили за красную линию в 20%. Спустя 2 месяца работы над сайтом — просто опускаются руки. Примерно пятая часть заходов — по 0 сек. Яндекс учитывает эти заходы как отказы, и соответственно понижает его в выдаче.

Отказы зафиксированы как одиночные с разных IP, так и по несколько хитов с одних и тех же направлений.

Несколько недель упорного труда просто накрывается медным тазом. И так, далее я расскажу, как мне удалось вернуть отказы в норму и значительно сократить — нулевые заходы.

Как отсечь ботов в «Яндекс метрике»

Вначале я обратился в службу Яндекса. Что-то типа: «Эй, парни, вы тут ботов считаете, как посетителей и лепите отказы». На что мне ответили, что я могу самостоятельно отсечь их в Метрике.

По совету специалиста из службы поддержки я перешел в отчет «Роботы» по пути Отчеты -» Стандартные отчёты -» Мониторинг -» Роботы. Внизу страницы находится подраздел называющийся «Фильтрация роботов». В нем три пункта:

Учитывать визиты всех роботов. Фильтровать роботов по строгим правилам. Фильтровать роботов только по строгим правилам и поведению.

У меня стояла отметка на первом пункте. Она ставится по умолчанию на всех счетчиках Яндекс. Метрики. Я поставил на третью, и нужно признать, часть нулевых отказов ушла. Но только часть.

Фильтрация роботов по User-Agent

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

SetEnvIfNoCase User-Agent "^Black Hole" bad_bot SetEnvIfNoCase User-Agent "^Titan" bad_bot SetEnvIfNoCase User-Agent "^WebStripper" bad_bot SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot SetEnvIfNoCase User-Agent "^CopyRightCheck" bad_bot SetEnvIfNoCase User-Agent "^Crescent" bad_bot SetEnvIfNoCase User-Agent "^Wget" bad_bot SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot SetEnvIfNoCase User-Agent "^CheeseBot" bad_bot SetEnvIfNoCase User-Agent "^Teleport" bad_bot SetEnvIfNoCase User-Agent "^TeleportPro" bad_bot SetEnvIfNoCase User-Agent "^NetMechanic" bad_bot SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot SetEnvIfNoCase User-Agent "^WebBandit" bad_bot SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot SetEnvIfNoCase User-Agent "^MIIxpc" bad_bot SetEnvIfNoCase User-Agent "^Telesoft" bad_bot SetEnvIfNoCase User-Agent "^Website Quester" bad_bot SetEnvIfNoCase User-Agent "^WebZip" bad_bot SetEnvIfNoCase User-Agent "^moget/2.1" bad_bot SetEnvIfNoCase User-Agent "^WebZip/4.0" bad_bot SetEnvIfNoCase User-Agent "^WebSauger" bad_bot SetEnvIfNoCase User-Agent "^WebCopier" bad_bot SetEnvIfNoCase User-Agent "^NetAnts" bad_bot SetEnvIfNoCase User-Agent "^Mister PiX" bad_bot SetEnvIfNoCase User-Agent "^WebAuto" bad_bot SetEnvIfNoCase User-Agent "^TheNomad" bad_bot SetEnvIfNoCase User-Agent "^WWW-Collector-E" bad_bot SetEnvIfNoCase User-Agent "^spanner" bad_bot SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot SetEnvIfNoCase User-Agent "^Harvest/1.5" bad_bot SetEnvIfNoCase User-Agent "^Bullseye/1.0" bad_bot SetEnvIfNoCase User-Agent "^Mozilla/4.0 (compatible; BullsEye; Windows 95)" bad_bot SetEnvIfNoCase User-Agent "^Crescent Internet ToolPak HTTP OLE Control v.1.0" bad_bot SetEnvIfNoCase User-Agent "^CherryPickerSE/1.0" bad_bot SetEnvIfNoCase User-Agent "^RMA" bad_bot SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot SetEnvIfNoCase User-Agent "^asterias" bad_bot SetEnvIfNoCase User-Agent "^httplib" bad_bot SetEnvIfNoCase User-Agent "^turingos" bad_bot SetEnvIfNoCase User-Agent "^CherryPicker /1.0" bad_bot SetEnvIfNoCase User-Agent "^WebBandit/3.50" bad_bot SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot SetEnvIfNoCase User-Agent "^Microsoft URL Control - 5.01.4511" bad_bot SetEnvIfNoCase User-Agent "^DittoSpyder" bad_bot SetEnvIfNoCase User-Agent "^Foobot" bad_bot SetEnvIfNoCase User-Agent "^WebmasterWorldForumBot" bad_bot SetEnvIfNoCase User-Agent "^SpankBot" bad_bot SetEnvIfNoCase User-Agent "^BotALot" bad_bot SetEnvIfNoCase User-Agent "^lwp-trivial/1.34" bad_bot SetEnvIfNoCase User-Agent "^lwp-trivial" bad_bot SetEnvIfNoCase User-Agent "^Wget/1.6" bad_bot SetEnvIfNoCase User-Agent "^BunnySlippers" bad_bot SetEnvIfNoCase User-Agent "^humanlinks" bad_bot SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot SetEnvIfNoCase User-Agent "^Offline Explorer" bad_bot SetEnvIfNoCase User-Agent "^Mata Hari" bad_bot SetEnvIfNoCase User-Agent "^LexiBot" bad_bot SetEnvIfNoCase User-Agent "^Web Image Collector" bad_bot SetEnvIfNoCase User-Agent "^The Intraformant" bad_bot SetEnvIfNoCase User-Agent "^True_Robot/1.0" bad_bot SetEnvIfNoCase User-Agent "^True_Robot" bad_bot SetEnvIfNoCase User-Agent "^Microsoft URL Control - 6.00.8169" bad_bot SetEnvIfNoCase User-Agent "^URLy Warning" bad_bot SetEnvIfNoCase User-Agent "^Wget/1.5.3" bad_bot SetEnvIfNoCase User-Agent "^LinkWalker" bad_bot SetEnvIfNoCase User-Agent "^cosmos" bad_bot SetEnvIfNoCase User-Agent "^moget" bad_bot SetEnvIfNoCase User-Agent "^hloader" bad_bot SetEnvIfNoCase User-Agent "^BlowFish/1.0" bad_bot SetEnvIfNoCase User-Agent "^JennyBot" bad_bot SetEnvIfNoCase User-Agent "^MIIxpc/4.2" bad_bot SetEnvIfNoCase User-Agent "^BuiltBotTough" bad_bot SetEnvIfNoCase User-Agent "^ProPowerBot/2.14" bad_bot SetEnvIfNoCase User-Agent "^BackDoorBot/1.0" bad_bot SetEnvIfNoCase User-Agent "^toCrawl/UrlDispatcher" bad_bot SetEnvIfNoCase User-Agent "^WebEnhancer" bad_bot SetEnvIfNoCase User-Agent "^TightTwatBot" bad_bot SetEnvIfNoCase User-Agent "^suzuran" bad_bot SetEnvIfNoCase User-Agent "^VCI WebViewer VCI WebViewer Win32" bad_bot SetEnvIfNoCase User-Agent "^VCI" bad_bot SetEnvIfNoCase User-Agent "^Xenu's Link Sleuth 1.1c" bad_bot SetEnvIfNoCase User-Agent "^Xenu's" bad_bot SetEnvIfNoCase User-Agent "^Zeus" bad_bot SetEnvIfNoCase User-Agent "^RepoMonkey Bait & Tackle/v1.01" bad_bot SetEnvIfNoCase User-Agent "^RepoMonkey" bad_bot SetEnvIfNoCase User-Agent "^Zeus 32297 Webster Pro V2.9 Win32" bad_bot SetEnvIfNoCase User-Agent "^Webster Pro" bad_bot SetEnvIfNoCase User-Agent "^EroCrawler" bad_bot SetEnvIfNoCase User-Agent "^LinkScan/8.1a Unix" bad_bot SetEnvIfNoCase User-Agent "^Keyword Density/0.9" bad_bot SetEnvIfNoCase User-Agent "^Szukacz/1.4" bad_bot SetEnvIfNoCase User-Agent "^QueryN Metasearch" bad_bot SetEnvIfNoCase User-Agent "^Openfind data gathere" bad_bot SetEnvIfNoCase User-Agent "^Openfind" bad_bot SetEnvIfNoCase User-Agent "^Kenjin Spider" bad_bot SetEnvIfNoCase User-Agent "^Cegbfeieh" bad_bot <Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad_bot </Limit>

Буквально спустя 3-4 часа поток нулевых заходов, которые выбивают отказ в поисковой системе, снизился вдвое! А что делать с остальными? Можно конечно побанить их через .htaccess добавив в файл следующие строки:

# BLACK LIST order allow,deny allow from all # далее прописать IP с которых идут отказы deny from 37.142.162.181 deny from 37.142.152.101

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

Модификации Яндекс счетчика для отображения IP адресов

Для начала необходимо создать php файл, например ip.php в котором будет размещена функция, возвращающая IP посетителя, далее предлагаю исходный код функции:

Теперь остаётся только модифицировать код счетчика Яндекса, чтобы он отображал IP в отдельную колонку. В моем случае код счетчика размещён в отдельном файле metrika.php, который просто инклудится в файле header.php директивой include, <?php include(“metrika.php”);?>.

Это очень удобно, разместил код в одном файле, а потом с помощью вставки прописал его там, где нужно и все. Далее я покажу что должно быть в файле metrika.php для того, чтобы все работало. Первым делом вставляем php код, который будет определять IP посетителя и присваивать его значение переменной $ip, в строке $ip=getClientIP().

Далее, код самого Яндекс счетчика

XXXXX – это код вашего счетчика, он естественно у вас свой, вместо YYYYY вставляем var yaParams={ip_adress:”<?php echo $ip ?>”}; , а вместо ZZZZZ params:window.yaParams

В итоге должно получиться так:

Теперь можно подключить счетчик в хедере header.php и настроить отображение столбцов в Яндекс вебмастере. Для этого в вебвизоре нажимаем «Настроить столбцы»

В левой части открывшегося окошка устанавливаем галочку напротив строчки «Параметры визитов».

А в левой хватаем мышкой появившейся блок и переносим в начало, как показано на рисунке. Это для того, чтобы отображение IP адресов шло сразу за колонкой «Время на сайте»

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

Надеюсь статья смогла вам помочь. Если не получается выполнить задачу самостоятельно, обращайтесь , я помогу.

МАТЕРИАЛЫ ПО ТЕМЕ

rss