Перейти к основному контенту

Как заблокировать поисковых ботов через .htaccess

Некоторые поисковые боты/роботы создают лишнюю нагрузку на СPU сайта и не несут пользы для его индексирования. В данной статье мы расскажем, как вычислить «плохого» бота и заблокировать через файл .htaccess. Прежде всего нужно найти «вредного» робота. Для этого откройте список услуг и перейдите на страницу услуги хостинга, на котором размещен ваш сайт. В блоке Краткая сводка кликните по ссылке Подробная статистика по нагрузке CPU:

блокировка ботов через htaccess 1

На открывшейся странице нажмите пункт Статистика запросов по User-Agent. Ниже отобразится ранжированный список юзер-агентов, которые чаще других посещают ваш сайт:

блокировка ботов через htaccess 2

Обратите внимание на то, что существуют полезные поисковые роботы (например, Googlebot, Yandexbot, Mail.RU_Bot и др.), которые влияют на индексацию сайта и его продвижение. Несмотря на то что они создают нагрузку, блокировать их не нужно. Вы можете ограничить обращения этих поисковых роботов, прописав директиву *crawl-delay* в файле *robots.txt*.

Процедура описана в статье: Превышен лимит на использование CPU (ищите подзаголовок Статистика запросов по User-Agent). Настроить ботов Google и Яндекс через robots.txt не получится. Для этого нужно воспользоваться Инструментами для веб-мастеров Google и Яндекс.Вебмастером.

Однако есть вероятность того, что под именем полезного поискового робота скрывается спам-бот, создающий ненужную нагрузку на сайт. Чтобы исключить возможность «вторжения», проверьте в журнале логов, от какого IP-адреса приходят запросы. Затем воспользуйтесь сервисом whois: вставьте в строку поиска IP и нажмите Проверить, в результате будет указан владелец IP (организация). Например, если вбить IP 64.68.82.7 (один из IP Google), выдача будет выглядеть следующим образом:

блокировка ботов через htaccess 3

Следовательно, обращения по этому 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>

Сохраните изменения.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0