Ровно неделю назад на нескольких сайтах настроил сбор статистики посещения. Требовалось оценить нагрузку сайтов от поисковых ботов и прочих роботов. Поэтому, собирались только строки из USER_AGENT, которые заносились в общую таблицу БД.
Честно говоря, результаты меня удивили. Приведу их:
HTTP_USER_AGENT | Кол-во запросов |
---|---|
Mozilla/5.0 (compatible; AhrefsBot/5.2; +http://ahrefs.com/robot/) | 15187 |
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) | 12193 |
Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) | 7589 |
Mozilla/5.0 (compatible; MJ12bot/v1.4.7; http://mj12bot.com/) | 7110 |
BitrixCloud Monitoring/1.0 | 2734 |
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) | 2466 |
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 | 2168 |
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 YaBrowser/17.3.1.840 Yowser/2.5 Safari/537.36 | 2051 |
Mozilla/5.0 (compatible; SemrushBot/1.2~bl; +http://www.semrush.com/bot.html) | 1881 |
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 | 1737 |
При этом, общее количество запросов - 127865.
Расчеты в данном случае несложные. Например, только из первой десятки поисковые и другие роботы (не включая BitrixCloud Monitoring/1.0) создают более 30% нагрузки. Думаю, если подсчитать всех роботов, то нагрузка будет около 50%, может быть и выше. Также, некоторых ботов просто невозможно учесть, т.к.они маскируются под обычные браузеры.
Вывод однозначный: нагрузка на сайт от ботов не такая уж и маленькая, чтобы на это не обращать внимания. Поэтому, в целях снижения нагрузки советую поставить блокировку сайта для ботов. Это можно сделать разными способами - через .htaccess, nginx, либо на крайний случай php. Есть еще один интересный способ - создать отдельный php-файл для блокировки (можно реализовать любые типы блокировок [по User-Agent, Referer, IP и др], сделать интиспам, и выполнять любые другие действия без привязки к CMS) и подключать его в .htaccess через php_value auto_prepend_file, где необходимо указать полный путь к данному файлу.
Спасибо за внимание! При появлении вопросов - обращайтесь.
Подскажите, пожалуйста, что за роботы такие:
Riddler
Spider/Bot
Stratagems Kumo
Go-http-client/1.1
ia_archiver
Needle/1.6.0 (Node.js v6.5.0; linux x64)
Для чего они нужны и можно ли их заблокировать? Они создают значительную нагрузку, а толку от них пока не вижу.
По остальным подсказать не могу, т.к. не знаю точно.