Плохие поисковые боты

Материал из ALL
Перейти к: навигация, поиск

Плохие поисковые боты — вредоносные поисковые боты, которые способны существенно увеличить нагрузку на сайт и даже повалить его (в случае, если для его поддержки используется не совсем сильное железо). Так как данные боты не приносят позитивных результатов большинство вебмастеров рекомендуют блокировать их по умолчанию.

Способы предохранения[править]

Самый простой и проверенный способ защиты от поисковых ботов — блокировка их заходов на сайт, которая делается посредством правки файла .htaccess. Есть вариант ручной блокировки через консоль или (как вариант) через панель CloudFlare, в случае, если сайт на этой панели висит.

Среди наиболее агрессивных ботов отмечаются Semrush, AhrefsBot, MJ12bot, Detectify, DotBot, Riddler, LinkpadBot, BLEXBot, FlipboardProxy, aiHitBot, trovitBot.

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

Код для закрытия доступа[править]

Нужно добавить в .htaccess строки:

RewriteCond %{HTTP_USER_AGENT} AhrefsBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} MJ12bot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} Detectify
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} dotbot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} Riddler
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} SemrushBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} LinkpadBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} BLEXBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} FlipboardProxy
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} aiHitBot
RewriteRule (.*) - [F,L]
RewriteCond %{HTTP_USER_AGENT} trovitBot
RewriteRule (.*) - [F,L]

Для nginx следует использовать следующие строки, которые вносятся в конфигурационный файл:

# nginx configuration
location / {
if ($http_user_agent ~ "AhrefsBot"){
return 403;
}
if ($http_user_agent ~ "MJ12bot"){
return 403;
}
if ($http_user_agent ~ "Detectify"){
return 403;
}
if ($http_user_agent ~ "dotbot"){
return 403;
}
if ($http_user_agent ~ "Riddler"){
return 403;
}
if ($http_user_agent ~ "SemrushBot"){
return 403;
}
if ($http_user_agent ~ "LinkpadBot"){
return 403;
}
if ($http_user_agent ~ "BLEXBot"){
return 403;
}
if ($http_user_agent ~ "FlipboardProxy"){
return 403;
}
if ($http_user_agent ~ "aiHitBot"){
return 403;
}
if ($http_user_agent ~ "trovitBot"){
return 403;
}
}

В обоих случаях следует перезагрузить веб-сервер после сохранения изменений

   ±