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

Опубликовано: Маркетинг журнал 4p.ru, Seonews

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

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

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

  • Определить качественный уровень грамотности вебмастеров сайтов, размещенных в каталоге Яндекса.
  • Определить насколько профессионально используется файл управления индексацией сайта 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(http://1205.ru/robots.txt, http://3-15.ru/robots.txt, http://7stars.ru/robots.txt). Однако вероятности возникновения этого события приблизительно равны, в связи с чем данные можно считать сопоставимыми.

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. Они поступили ещё проще, путём нехитрых нажатий на клавиши получив совершенно бесполезный файл:

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

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

1.

2.

Надо отдать должное, что вебмастер не стал нагружать парсер файлов robots.txt и закрыл приветствие в комментарии. Но есть и такие вебмастера (http://pravo-levo.ru/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. http://www.nextthing.org/archives/2007/03/12/robotstxt-adventure
  2. http://www.egorych.com/internet/dmoz-kazhdyiy-chetvertyiy-sayt-imeet-oshibki-v-robotstxt/
  3. http://robotstxt.org.ru/

Олег Сахно,
Евгений Селин