Поисковые и вредоносные боты. Как снизить нагрузку на сервер

Майор

Администратор
Команда форума
04.09.14
2.635
1.777
38
dnrschool-145.ru
#1
Поисковые боты

Снижать нагрузку от поисковых ботов будем через файл robots.txt.

Нам необходимо настроить задержку индексирования, т.е. разрешить поисковым ботам Baidu, Bing, Mail, Яндекс и т.д. обращаться к сайту только через определенные временные интервалы. Для этого создадим файл robots.txt (если его нет) в корневой директории сайта с таким содержимым:
Код:
User-agent: *
Crawl-delay: 5
Готово! Мы выставили интервал для поисковых ботов в 5 секунд, т.е. только раз в 5 секунд боты смогут проиндексировать сайт.

Тем не менее, это не панацея, т.к. некоторые боты (например Google) игнорируют директиву Crawl-delay. Для Google задержку можно настроить в webmaster tools. К слову, подобные настройки для вебмастеров есть у многих поисковых систем.

Вредоносные боты: запрет на уровне конфигурации сервера

Теперь поговорим про ситуацию, когда сайт упал из-за большого количества трафика и боты крупных поисковых систем здесь ни при чем.

Для начала нужно выяснить, действительно ли это были боты. Для этого нужно проверить логи сервера, на котором расположен сайт. Проверять нужно, есть ли запросы с одним и тем же user agent. Например, уже больше десяти лет в сети бродит известный многим сисадминам MauiBot. Его можно блокировать без колебаний. В этот же список попадают MJ12bot, SEMrushBot, AhrefsBot. По запросу “blocking bad bots” можно найти списки с тысячами таких ботов.


Блокировка в данном случае будет происходить через файл конфигурации nginx. Для примера заблокируем вышеуказанных ботов. Если на сервере установлена панель управления хостингом ISPmanager, то для каждого юзера создаются свои файлы конфигурации для каждого домена отдельно. Находятся они здесь: /etc/nginx/vhosts/user/domenname.ru.conf
Вот в этот файл нам и нужно будет добавить в секцию server следующие строки:

Код:
if ($http_user_agent ~* (MauiBot|MJ12bot|SEMrushBot|AhrefsBot)){ return 403;
}
Хотя при установленной ISPmanager можно поступить еще проще. Заходим в раздел WWW-домены, жмем на копку Конфиг и вносим нужные изменения. Так даже надежнее, так как панель управления в этом случае проверит синтаксис файла и не даст сохранить его при ошибке.

При такой блокировке боты не смогут попасть на Ваш сайт и создать дополнительную ненужную нагрузку.
 

stream

Premium
Premium
09.09.14
906
570
sun-smiles.ru
#2
Весьма полезная статья) ..Несколько лет назад озаботили подобные проблемы, искал решения. Среди найденых было такое: Я НЕ РобоF9r. На практике самых злобных забанил посредством переменной окружения $_SERVER["HTTP_USER_AGENT"] в комплеске с блокировкой самых используемых ip. Можно еще по разрешению браузера, но активность этих бяк сошла почти к нулю, и недостаток времени не дали продолжить задуманное)
 

Майор

Администратор
Команда форума
04.09.14
2.635
1.777
38
dnrschool-145.ru
#3
Весьма полезная статья) ..Несколько лет назад озаботили подобные проблемы, искал решения. Среди найденых было такое: Я НЕ РобоF9r. На практике самых злобных забанил посредством переменной окружения $_SERVER["HTTP_USER_AGENT"] в комплеске с блокировкой самых используемых ip. Можно еще по разрешению браузера, но активность этих бяк сошла почти к нулю, и недостаток времени не дали продолжить задуманное)
Юзер-агента должно быть достаточно
 

Майор

Администратор
Команда форума
04.09.14
2.635
1.777
38
dnrschool-145.ru
#5
Подделывают запросто) ..На харде софтина валяется, пробовал когда-то, там даже Калькулятор Микроша в юзер-агент ставится)
очень сомневаюсь, что поисковые боты будут агента подделывать
 

Rain

Администратор
Команда форума
04.09.14
334
277
27
#6
очень сомневаюсь, что поисковые боты будут агента подделывать
Поисковики да, но помимо поисковых роботов есть еще куча других пауков, которые как раз таки UA и подделывают. Но, в большинстве случаев можно их легко по логам посмотреть.
 

Майор

Администратор
Команда форума
04.09.14
2.635
1.777
38
dnrschool-145.ru
#7
Поисковики да, но помимо поисковых роботов есть еще куча других пауков, которые как раз таки UA и подделывают. Но, в большинстве случаев можно их легко по логам посмотреть.
Вот эти точно не подделывают))
MauiBot|MJ12bot|SEMrushBot|AhrefsBot
А другие да, может быть