Большие значения Crawl-delay в robots.txt
#1 Месяц назад сайт lermont.ru поперли с виртуального хостинга Петерхоста:Наша компания постоянно следит за стабильностью работы серверов и старается не допускать повышенной нагрузки, чтобы обеспечить равномерную и стабильную работу сайтов. Пользователь Вашей базы данных был отвязан от базы данных из-за высокой нагрузки, создаваемой им на сервере баз данных и мешающей работе других сайтов. Как показали логи, база не выдержала массированного наплыва индексирующих ботов. На новом хостинге первым делом после переезда занялся настройкой robots.txt, а точнее директивой Crawl-delay. Как известно из теории, большинство современных поисковиков поддерживают эту директиву. Правда, во всех поисковых мануалах указаны какие-то детские максимальные задержки (10 секунд максимум). Я решил рискнуть и забабахал вот так: Crawl-delay: 50 50 секунд, без дробных значений (т.к. кто-то их не понимает) и на всякий случай меньше минуты. Подождав несколько недель, чтобы все боты наконец-то смогли перечитать robots.txt, решил проверить, как же боты ее придерживаются. Анализировал логи Апача за сегодня (по выходным боты особенно любят заходить на сайты). Как анализировал? Шаг 1 — формировал файлик с сырой статистикой: cat access_log | grep "Yahoo! Slurp/3" | grep "24/Oct/2009" > yahoo.csv Шаг 2 — скачивал его, в текстовом редакторе приводил в CSV-подобный вид Шаг 3 — обсчитывал времена в OpenOffice Что получилось. Ну во первых, даже по сырой статистике видно, что ни один бот строго директивы не придерживается. Т.е. не было ни одного бота, у которого бы минимальное время между двумя визитами было бы 50 секунд. Но ничего, мы не расстраиваемся, возможно боты понимают величину Crawl-delay как некую усредненную величину, все-таки ходят с разных ip-адресов, значит живут на разных машинах, значит должна быть какая-то сетевая синхронизация. Смотрим на усредненные значения времени между запросами от поисковых ботов:
msnbot — 77 запросов со средним интервалом 837 секунд; Yahoo! Slurp — 435 запросов со средним интервалом 150 секунд; Googlebot — 1799 запросов со средним интервалом 36 секунд; Mail.Ru/1.0 — 3683 запроса со средним интервалом 16.7 секунды; Yandex/1.01.001 (compatible; Win16; I) — 3601 запрос со средним интервалом 16.2 секунды;
Для Яндекса отдельно посчитал среднее время запросов с одного ip-адреса — таких запросов у меня было около 80%, получилось 17.5 секунд. Какие делаем выводы. Либо я запутался в нескольких строчках и ужасно накосячил в своем robots.txt с Crawl-delay, либо никакие боты таких больших значений не понимают. Решил продолжить эксперимент, уменьшив время с 50 секунд до 9. Через недельку проверю еще раз. |
robots.txt 1
боты 6
статистика 5
|
NULL, 2009-10-24 20:36 |
#2 Жесть. выгнали с хоста из-за нагрузки, а причина в robots.txt... Мда.... |
|
Shtirlitz, 2009-11-05 06:48 |
|
|