Создание, продвижение сайтов
компьютерная поддержка
40-33-54

Как заблокировать Semrush и других ботов на сайте

18 декабря 2019

Почти каждый владелец сайта сталкивается с активностью ботов на своем сайте. Активность ботов известных поисковых систем обычно не создает существенной нагрузки и не сильно влияет на скорость работы сайта.

Однако есть и другие боты, например DotBot или Semrush. Наши клиенты сталкивались с тем, что эти боты отправляли настолько много запросов на сайт, что это было подобно эффекту небольшой DDoS-атаки. Это приводило к большой нагрузке на сайт и сервер, и недоступности сайта для других посетителей.

Мы расскажем, как заблокировать DotBot, Semrush и других ботов.

Блокировка ботов на хостинге и VDS

На многих хостингах есть поддержка правил вебсервера Apache. Если вы размещаетесь на таком хостинге, то перейдите в каталог с сайтом. Найдите файл .htaccess. Добавьте в начало файла следующие строки:


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (SemrushBot|MJ12bot|AhrefsBot|bingbot|DotBot|LinkpadBot|SputnikBot|statdom.ru|MegaIndex.ru|WebDataStats|Jooblebot|Baiduspider|BackupLand|NetcraftSurveyAgent|openstat.ru) [NC]
RewriteRule .* - [F,L]

Вот как это можно сделать в NetAngels на Облачном хостинге:

  • откройте панель управления
  • кликните по нужному сайту
  • откройте вкладку "Файлы"
  • выберите "Открыть файловый менеджер".
  • перейдите в каталог www
  • найдите файл .htaccess, правым кликом из контекстного меню выберите "правка".
  • добавьте в начало файла строки выше
  • сохраните файл

Готово!

Как заблокировать ботов, если ваш сайт на VDS

На VDS в качестве вебсервера часто используются:

  • Только apache. Воспользуйтесь инструкциями для htaccess
  • nginx + apache. Можно использовать инструкции для htaccess
  • Только nginx. Инструкции по настройке через htaccess не подойдут. Подробнее смотрите ниже.

Блокировка через nginx

Мы предполагаем, что у вас есть доступ root на VDS сервер. Зайдите через SSH на сервер от имени пользователя root. Можно подключиться через SSH по нашей статье.

Если вы не уверены какой вебсервер используется на VDS, то выполните команду

netstat -ntlp | grep 80 | grep -v '127.0.0.1' | cut -d / -f 2 | cut -d ':' -f1

Если результат будет такой:

apache2

То выполните инструкции для htaccess.

Если же команда вернула

nginx

То перейдите в каталог с конфигурацией nginx:

cd /etc/nginx

Создайте файл, в котором будут правила блокировки

mcedit bots-block.conf

Вставьте в этот файл текст:

if ($http_user_agent ~* SemrushBot|MJ12bot|AhrefsBot|bingbot|DotBot|LinkpadBot|SputnikBot|statdom.ru|MegaIndex.ru|WebDataStats|Jooblebot|Baiduspider|BackupLand|NetcraftSurveyAgent|openstat.ru) {
return 444;
}

Сохраните изменения нажав F2, затем Enter.

Перейдите в каталог с сайтами

cd sites-enabled

Просмотрите содержимое каталога

ls .

Определите сайты, где вы хотите заблокировать ботов.

Например, если нужно заблокировать ботов на сайте vm-79395343.na4u.ru:

root@vm-79395343:/etc/nginx/sites-enabled# ls .
000-default vm-79395343.na4u.ru.conf

То отредактируйте файл с его конфигурацией:

root@vm-79395343:/etc/nginx/sites-enabled# mcedit vm-79395343.na4u.ru.conf

В блок server добавьте строку

include /etc/nginx/bots-block.conf

На нашем сервере конфигурация стала выглядеть вот так:

server {
include listen.conf;
include /etc/nginx/bots-block.conf; # добавленная строка

server_name vm-79395343.na4u.ru;
access_log off;

proxy_read_timeout 200s;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript applicat
gzip_comp_level 5;

location ~* ^(?!/mysql/).+\.(jpg|jpeg|gif|png|svg|js|css|mp3|bmp|swf|ogg|mpe?g|avi|zip|gz|bz2?|rar|ico|html|htm|txt|woff)$ {
root /home/web/vm-79395343.na4u.ru/www/;
expires 30d;
try_files $uri @apache2;
}
location @apache2 {
proxy_pass http://backend;
include proxy_params;
}
location / {
proxy_pass http://backend;
include proxy_params;
}
}

Сохраните изменения нажав F2, затем Enter.

Проверьте конфигурацию:

service nginx configtest

Если тестирование прошло успешно, то перезапустите веб-сервер для применения изменений:

service nginx restart

Проверьте, что все в порядке после перезапуска:

service nginx status

Проверка показывает, что если представляться ботом SemrushBot, то запрос блокируется:

$ curl -I -A "SemrushBot" vm-79395343.na4u.ru
curl: (52) Empty reply from server

$ curl -I -A "Yandex" vm-79395343.na4u.ru
HTTP/1.1 403 Forbidden
Server: nginx/1.14.1
Date: Thu, 04 Jul 2019 09:28:48 GMT
Content-Type: text/html; charset=iso-8859-1
Connection: keep-alive
Vary: Accept-Encoding

Готово!

Узнайте о нас больше:

Мы предлагаем широкий спект услуг по сайтам и компьютерной поддержке

Создание сайтов

Мы разрабатываем как простые сайты - визитки, так и индивидуальные проекты. Основная система разработки - CMS Drupal.

Узнать подробнее

Продвижение сайтов

Одно из основных направлений работы нашей компании - продвижение сайтов в Саратове и области. Мы поможем Вам с SEO - продвижением сайтов и настройкой и ведением контекстной рекламы в Яндекс Директ.

Бесплатная SEO-консультация

Компьтерная поддержка

Мы оказываем услуги компаниям и частным лицам в области настройки компьютерного оборудования:

  • Настройка роутеров и локальных сетей
  • Установка Windows
  • Оптимизация работы компьютеров
  • Лечение вирусов
  • Восстановление данных с жестких дисков
Узнать подробнее
Сделайте заказ с сайта и получите 10% скидку на услугу

Заказ услуги с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Заказать бесплатную SEO-консультацию

Запрос бесплатной SEO - консультации с сайта raybin.ru

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Письмо в компанию Райбин

Письмо в компанию RAYBIN

Нажимая на кнопку "Получить консультацию", я даю согласие на обработку персональных данных и соглашаюсь c условиями политики конфиденциальности
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.