Защищаем сайт от нежелательных роботов

Различные боты и роботы способны создавать существенную нагрузку на хостинг, особенно при их одновременном посещении сайта.

Если у вас виртуальный хостинг, то обычно этого не замечаешь, но если вы пользуетесь сервером ВПС то при нехватке его мощностей сайты в лучшем случае начинают работать медленно, а в худшем, сервер просто перестает работать.

Увидеть перегрузки сервера вы можете в панели управления хостингом, а чтобы понять, что именно за «посетители» привели к перегрузкам необходимо проверить лог обращений к сайту.

Закрываем по юзерагенту

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

Из строки выше можно понять, что это YandexMobileBot. Известные боты поисковых систем от yndex, google, bing и т.п., конечно, не стоит блокировать. А вот для большинства прочих сайт можно закрыть, если они мешают его нормальной работе.

Например, нам нужно блокировать 2 бота: ahrefsbot и mj12bot. Для этого в файл htaccess помещаем следующие строчки:

Вместо первых 2-х строк можно написать любое количество, указав там нужные имена роботов. После этого они не смогут зайти на ваш ресурс.

Закрываем по IP

Также бывает полезно уметь заблокировать бота по его ip адресу. Для этого указывает следующие инструкции в htaccess:

Здесь мы закрыли сайт для 2-х ip. Чтобы указать диапазон адресов указываем начало и конец диапазона через «/». Например, команда Deny from 91.109.19.0/24 заблокирует ip с 91.109.19.0 до 91.109.19.24.

Нужно отметить, что увеличение файла htaccess приводит к снижению скорости работы сайта, то есть не стоит им злоупотреблять.

Добавьте комментарий