Блокировка поисковых ботов Ahrefs Bot и Semrush Bot или как снизить нагрузку на сервер
На любимом хостинге, в моем недорогом тарифе есть ограничения по нагрузке на сервер, и в один прекрасный день мне пришло письмо от хостера, типа уменьшите нагрузку на сервер, проанализируйте логи, возможно какие-то скрипты работают неправильно. Странно подумал я, вроде ничего не менял, ранее хостер не жаловался на повышенную нагрузку. Думал может опять какой-нибудь вредоносный код теребит процессор, проверил ai-bolitом, вроде все нормально, ничего подозрительного не обнаружено. Полез в логи, как предлагал хостер. И там обнаружил, что очень много запросов от различных поисковых ботов, в том числе от каких то до селе неизвестных: Ahrefs Bot и Semrush Bot, количество запросов составляло до 40% от общего количества запросов. Да еще херовы хакеры ищут, удаленные ранее, вредоносные файлы, да еще с такой периодичностью, как будто бояться что-то пропустить)))
Почитал рекомендации, что с этим делать и вот что накопал:
1. В файле robots.txt необходимо запретить поисковым ботам сканирование сайта:
User-agent: AhrefsBot/5.1 Disallow: / User-agent: AhrefsBot Disallow: / User-agent: SemrushBot Disallow: / User-agent: SemrushBot/1.1~bl Disallow: /
Так как незнаю, в логах указано название ботов, как SemrushBot/1.1~bl и AhrefsBot/5.1, то думаю не будет лишним прописать и эти названия ботов. Конечно жаль, что если блокировка бота происходит по уникальному названию бота типа AhrefsBot/5.1, видимо при смене цифры 5.1 бот необходимо будет заново прописывать в robots.txt
2. Блокировка ботов в htaccess:
RewriteCond %{HTTP_USER_AGENT} AhrefsBot RewriteRule ^.* - [F,L] RewriteCond %{HTTP_USER_AGENT} SemrushBot RewriteRule ^.* - [F,L] RewriteCond %{HTTP_USER_AGENT} AhrefsBot/5.1 RewriteRule ^.* - [F,L] RewriteCond %{HTTP_USER_AGENT} SemrushBot/1.1~bl RewriteRule ^.* - [F,L]
3. Блокировка хакеров и вообще подозрительных ip адресов в файле htaccess:
Данное выражение говорит о том, что доступ разрешен всем, кроме данных ip адресов, причем указав только 163.172. я блокирую доступы для группы ip с 163.172.0.0 – 163.172.255.255. ip адреса перечисляются через пробел.
Order allow,deny allow from all Deny from 103.214.171.35 66.249.66.251 163.172.
[porto_block name=”ads”]
Comments (4)
Спасибо, нужная статья, искал как от этих ботов избавиться, сильную нагрузку создают на сервер
Спасибо за подсказку. Может быть у кого-то уже есть готовая база поисковых ботов, которых можно заблокировать через robots.txt и htaccess?
Спс, за статью, только зачем стоит защита от копирования в .htaccess?
Благодарю за полезный контент