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

Материал из 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;
}
}

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

   ±