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