Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
Россия +7 (495) 139-20-33
12 Февраля 2008 в 10:00

Исследование состояния файла robots.txt сайтов Яндекс.Каталога

Россия +7 (495) 139-20-33
0 6265
Подпишитесь на нас в Telegram
Олег Сахно
руководитель направления исследований,
Rookee

В марте прошлого года (запись в блоге автора от 03.12.2007, [1]) программный инженер компании Apple, Эндрю Вустер, провёл исследование файлов управления поисковыми роботами (robots.txt ). Исследование проводилось для сайтов, включённых в каталог DMOZ. Главным выводом исследования стало то, что каждый четвёртый сайт имеет ошибки в файле robots.txt. При этом у 65% сайтов в данном каталоге этот файл вообще отсутствовал.

Исследований русскоязычного сегмента Интернет на предмет корректности файла robots.txt ранее не проводилось. В качестве источника сайтов мы выбрали самый большой русскоязычный каталог – каталог сайтов поисковой системы Яндекс.

Цели исследования

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

Определить, насколько профессионально используется файл управления индексацией сайта robots.txt.

Сравнить полученные результаты с аналогичными для сайтов, описанных в каталоге DMOZ.

Методы и средства

На момент исследования в каталоге Яндекса было зарегистрировано 86534 сайта. Посредством автоматического сбора был составлен список из 77643 уникальных доменных имён из 75 доменных зон.

Файл robots.txt – это текстовый файл, находящийся в корневой директории сайта, в котором записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации некоторые разделы или страницы на сайте, указывать главный домен, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т.д. ([3]).

Исследовались следующие параметры файла robots.txt:

- статус коды ответов серверов,

- mime типы для файлов robots.txt,

- наличие и правильность указания кодировки в заголовке ответа сервера,

- проверка корректности синтаксиса и орфографии при написании директив,

- использование специализированных команд.

Статус-коды

HTTP коды статуса (возвращаемые сервером заголовки) говорят веб-браузерам и роботам поисковых систем, какого рода ответ они получают при загрузке страницы. Например, код 200 (ОК) значит, что все нормально, а 404 (file not found) - что веб-сервер не смог найти файл по заданному адресу.

Для оценки того, насколько активно вебмастера используют возможность управлением индексацией своего сайта, соберём статус-коды для файлов robots.txt для обозначенного выше списка сайтов.

Для сайтов нашей выборки распределение выглядит следующим образом:

Класс

Число сайтов

В % от всех

5xx

119

0,15

4xx

45732

59,00

3xx

72

0,09

2xx

31593

40,76

1xx

0

0,00

В исследовании [1] статистика распределения статус-кодов для файлов robots.txt имеет следующий вид:

Класс

Число сайтов

В % от всех

5xx

4,338

0,09

4xx

3,035,454

65,86

3xx

350,946

7,61

2xx

1,217,559

26,42

1xx

12

0,00

Доля сайтов в Яндекс.Каталоге, ответивших 2xx ответом сервера, значительно выше, чем у сайтов в каталоге DMOZ: 41% в сравнении с 27%. При этом разница достигается не за счёт сокращения числа файлов, ответивших 4xx кодом, а сокращением количества сайтов с заголовком перенаправления на другой домен(3xx). При разнице 2xx кодов на 14%, разница 4xx кодов всего 7%.

Иногда сервер настроен таким образом, что и для страницы с ошибкой отдаёт код 200( 1, 2, 3). Однако вероятности возникновения этого события приблизительно равны, в связи с чем данные можно считать сопоставимыми.

MIME типы

MIME типы (типы содержания) возвращаются веб-серверами в HTTP заголовках, чтобы сообщить клиентам, какой документ передается. Они состоят из типов (text, image и так далее), подтипов (html или jpeg) и некоторых необязательных параметров, таких как кодировка документа. Единственный MIME тип, который должен возвращать файл robots.txt - это текст (text/plain).

В каталоге Яндекса после сбора статус-кодов, осталось 31593 сайтов, ответивших заголовком 2xx, у 29055 из которых MIME тип соответствует «text/plain». Соответственно, 2538 (8,03%) сайтов возвращают MIME тип, отличный от верного (в исследовании [1] - 109 780 (9,01%) сайтов имели MIME тип, отличный от text/plain).

Исследуемые серверы ответили следующими различными значениями MIME типов:

application/octet-stream

application/x-empty

application/x-httpd-php

download/octet-stream

plain/text

text

text/html

text/plain

text/plane

text/text

text/txt

Кодировка

Кодировка символов определяет, какие знаки соответствуют определенным наборам бит. Сайты определяют кодировку, устанавливая ее в переменной content-type в заголовке ответа сервера.

Мало сайтов возвращают в заголовке кодировку документа. При этом, в связи со специфичностью каталога Яндекса (в нём расположены только русскоязычные сайты), проблемы с кодировкой возникают достаточно редко. Список различных кодировок выглядит следующим образом:

charset=

charset=iso-8859-1

charset=koi8-r

charset=ru

charset=utf -8

charset=utf8

charset=utf-8

charset=win

charset=windows-1251

Явных ляпов не замечено, однако стоит отметить, что многие вебмастера не могут договориться, как правильно писать название универсальной кодировки UTF-8.

Комментарии

В robots.txt для Яндекса и других поисковых систем можно использовать только один вид комментариев. Комментарием считается строка после знака “#”. При этом среди исследованных файлов были найдены HTML комментарии ““(16 файлов), комментарии в стиле C++ “//”(20 файлов).

Обычные синтаксические ошибки

Спецификация говорит о том, что записи должны разделяться пустыми строками, и большинство ошибок вращаются вокруг этого.

Во-первых, многие вебмастера вставляют дополнительную пустую строку между строкой User-agent и правилами для этого робота. Для нашей выборки эта доля равна 1,6% (498 сайтов), в исследовании [1] таких сайтов 6,1% (74 043).

Второй частой ошибкой является то, что между User-Agent и правилами для индексации пропущен символ начала новой строки. Сайтов, содержащих подобную ошибку, - 1,07% (340), сайтов с аналогичной ошибкой в каталоге DMOZ - 5,33% (64921).

Третий тип ошибок: часто пишут строку с агентом после правила Disallow, не разделяя их пустой строкой. В каталоге Яндекса 1,45% (457) таких сайтов. При этом доля аналогичных ошибок в исследовании [1] в 2 раза больше: 2,68% (32 656 файлов).

Задержка сканирования

Роботы некоторых поисковых систем обращают внимание на директивы управления, например, Crawl-delay (задержка сканирования, чтобы робот не положил сервер). MSN, Yahoo! и Ask поддерживают эту директиву. Файлов, в которых встречается данная директива, всего 725.

Небольшое количество файлов, содержащих такую директиву, обуславливается тем, что 3 крупнейшие поисковые системы в российском интернете (Яндекс, Рамблер и Google) не поддерживают эту директиву. Поэтому вебмастера не придают значения этой настройке.

Опечатки

Очень часто причиной того, что робот поисковой системы игнорирует инструкции в файле robots.txt, являются банальные опечатки. В указанном списке сайтов встречается 18 различных написаний директивы Disallow:

1disallow

diasllow

disaalow

disalljw

disallos

disallov

disallowed

disallowing

disallows

disalow

disaoolw

dissallow

dissalow

dosallow

nodisallow

ppdisallow

robotsdisallow

При этом написание директивы user-agent вызывает значительно меньше сложностей. Найдено 7 различных вариантов:

user_agent

useragent

user-agent="yandex"

user-agents

user-agernt

user-aget

user-аgent (кирилическая буква а)

Другие ошибки и курьёзы

Многие вебмастера, вероятно, слышали о том, что необходим файл robots.txt, но не совсем понимают, для чего он нужен. Поэтому появилось множество курьёзов.

Разработчики сайта blog.kp.ru искренне приветствуют роботов поисковых систем, причём делают это современно:

Превед роботы

Возникает сомнение, что роботы поисковых систем по достоинству оценят искромётный юмор разработчиков. Не отстают и разработчики сайта www.modernglass.ru. Они поступили ещё проще, путём нехитрых нажатий на клавиши получив совершенно бесполезный файл:

sdfsdf

Эта комбинация букв совершенно бесполезна, в отличие от первого примера, при просмотре которого хотя бы возникает улыбка.

Некоторые вебмастера оказались очень радушными хозяевами (1. optics.sgu.ru/robots.txt, 2. www.anatomyatlases.org/robots.txt). Мало того, что они здороваются с роботом, они предлагают ему чувствовать себя как дома, и индексировать документы как скрипт на душу положит:

1. # Welcome!

2. # Robots.txt file, robots welcome

Надо отдать должное, что вебмастер не стал нагружать парсер файлов robots.txt и закрыл приветствие в комментарии. Но есть и такие вебмастера (pravo-levo.ru/robots.txt), которые, желая похохмить, задают парсеру действительно нетривиальные задачи:

U s e r - a g e n t : *

D i s a l l o w :

Совершенно не понятно, чем руководствовался вебмастер, когда писал директивы именно таким образом. Боюсь, что и для автора этого файла это останется загадкой.

Выводы анализа robots.txt сайтов в Яндекс.Каталоге:

1. Общий уровень грамотности вебмастеров русскоязычной части интернета выше по сравнению с западными вебмастерами (доля сайтов, имеющих robots.txt, больше (49%), чем у сайтов из каталога DMOZ (27%)).

2. Количество сайтов, имеющих код 3xx (перенаправление на другое доменное имя), ниже у сайтов в каталоге Яндекса(0.09%), чем в каталоге DMOZ (7,61%).

3. Количество файлов с неверно указанным значением MIME типов содержимого близко в обоих исследованиях, это говорит о том, что такой тип ошибок интернационален и не зависит от языковой особенности списка файлов.

4. Владельцы сайтов в каталоге Яндекса не утруждают себя указанием кодировки документа, передаваемого роботу поисковой системы. У тех же, кто прописывает этот параметр, часто возникают проблемы с правильным написанием кодировки utf-8.

5. Часто вебмастера вместо указанных в спецификации комментариев «#» используют комментирующие символы из других языков: HTML, C++.

6. У сайтов в каталоге Яндекса значительно реже встречаются ошибки в структуре самого фала robots.txt: наличие дополнительного символа переноса строки между User-Agent и Disallow, пропуск символа переноса строки между директивами для разных секций.

7. Многие отечественные вебмастера, как и зарубежные, допускают орфографические ошибки при написании директив (Disallow и User-Agent).

Источники:

1. robots.txt Adventure

2. Dmoz: Каждый четвертый сайт имеет ошибки в robots.txt

3. Все о файле robots.txt по-русски

Олег Сахно, Евгений Селин, www.interlabs.ru

0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.

Отправьте отзыв!