Некоторые поисковые боты/роботы создают лишнюю нагрузку на СPU сайта и не несут пользы для его индексирования. В данной статье мы расскажем, как вычислить «плохого» бота и заблокировать через файл .htaccess. Прежде всего нужно найти «вредного» робота. Для этого откройте список услуг и перейдите на страницу услуги хостинга, на котором размещен ваш сайт. Кликните по ссылке Статистика:
На открывшейся странице нажмите пункт Статистика запросов по User-Agent. Ниже отобразится ранжированный список юзер-агентов, которые чаще других посещают ваш сайт:
Обратите внимание на то, что существуют полезные поисковые роботы (например, Googlebot, Yandexbot, Mail.RU_Bot и др.), которые влияют на индексацию сайта и его продвижение. Несмотря на то, что они создают нагрузку, блокировать их не нужно. Вы можете ограничить обращения этих поисковых роботов, прописав директиву crawl-delay в файле robots.txt.
Процедура описана в статье: Превышен лимит на использование CPU. Настроить ботов Google и Яндекс через robots.txt не получится. Для этого нужно воспользоваться Инструментами для веб-мастеров Google и Яндекс.Вебмастером.
Однако есть вероятность того, что под именем полезного поискового робота скрывается спам-бот, создающий ненужную нагрузку на сайт. Чтобы исключить возможность «вторжения», проверьте в журнале логов, от какого IP-адреса приходят запросы. Затем воспользуйтесь сервисом whois: вставьте в строку поиска IP и нажмите Проверить, в результате будет указан владелец IP (организация). Например, если вбить IP 66.249.66.1 (один из IP Google), выдача будет выглядеть следующим образом:
Следовательно, обращения по этому IP принадлежат не спам-боту, а настоящему поисковому роботу Google. Если это создает нагрузку на ваш сайт, вы можете повысить тариф хостинга, чтобы увеличить количество ресурсов CPU.
Блокировка через .htaccess
После того как вы определили конкретных юзер-агентов, нагружающих сервер, самое время запретить им вход. Для этого откройте файл .htaccess в каталоге сайта. В случае отсутствия вы также можете создать его, воспользовавшись инструкцией: У меня нет файла .htaccess, что делать.
В .htaccess добавьте строку:
SetEnvIfNoCase User-Agent "Name_of_bot" bad_bot
где на место Name_of_bot подставлен юзер-агент из Подробной статистики.
Таким образом вы укажете серверу, что данные обращения поступают от «плохого бота». Далее задайте правило доступа к вашему сайту, заблокировав плохого бота:
<Limit GET POST HEAD>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Limit>
Сохраните изменения.
Если поисковый бот или IP-адрес заблокирован в файле .htaccess, при попытке обратиться к сайту будет возвращен код ответа 403 Forbidden.
Эти запросы будут зафиксированы в статистике по использованию CPU, но не повлияют на нагрузку процессора, поскольку при получении кода ответа 403 Forbidden сервер прекращает выполнение запроса из-за указанных в .htaccess ограничений.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊