Плохие поисковые боты
Плохие поисковые боты — вредоносные поисковые боты, которые способны существенно увеличить нагрузку на сайт и даже повалить его (в случае, если для его поддержки используется не совсем сильное железо).
Способы предохранения
Самый простой и проверенный способ защиты от поисковых ботов — блокировка их заходов на сайт, которая делается посредством правки файла .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;
}
}
В обоих случаях следует перезагрузить веб-сервер после сохранения изменений