Кроме полезных роботов, существует масса «пауков», сканеров, которые создают лишь избыточную нагрузку на ваш сайт, увеличивая время отклика сервера на запросы реальных пользователей.
Более менее приличные боты сообщают о том, кто они, представляясь в заголовках запроса User-Agent. Например:
1 |
Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/) |
Обычно заголовки содержат имя бота и url сайта, где назначение робота описано более подробно.
Если вы используете varnish в качестве кеша, то благодаря этой информации можно настроить фильтр, запрещающий определенным роботам получать информацию с вашего сайта. Вместо этого вы будете возвращать, к примеру, код 403 — доступ запрещен.
Отключить ahrefs бота из примера выше (используя синтаксис varnish v4) можно вот так:
1 2 3 4 5 |
sub vcl_recv { if (req.http.user-agent ~ "ahrefs\.com") { return(synth(403, "Forbidden Bots")); } } |
Посмотрите логи собственного сервера, чтобы найти кандидатов для фильтрации, но в качестве хорошего старта можно воспользоваться готовым решением — проект bad_bot_detection.
Здесь уже собраны более 120 фильтров, а вы можете всегда дополнить список собственными кандидатами.