×
Россия +7 (909) 261-97-71

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

Россия +7 (909) 261-97-71
Шрифт:
1 7535
Подпишитесь на нас в Telegram

Эндрю Вустер (программный инженер Apple) провел исследование файлов robots.txt на сайтах из каталога Dmoz. В ходе своего исследования HTTP заголовков он разработал собственного «паука» и собрал большую базу доменов. Скормив своему пауку эту базу ресурсов из Dmoz, Эндрю Вустер получил MySQL базу, в которой сохранялись содержание robots.txt, HTTP заголовки и полный ответ сервера. Объем базы составил 12 Gb. После получасовой работы анализатора были получены интересные данные и статистика о содержании robots.txt на более чем 4.6 миллионах доменов.

Статус коды

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

Статус коды интересны, в первую очередь, тем, что с их помощью можно быстро подсчитать количество сайтов, имеющих файл robots.txt. Исследовав 4.6 миллиона сайтов, можно по статус кодам определить, у скольких сайтов есть 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
invalid 21 0.00

Как мы можем видеть, более 65% сайтов возвращают код 4ХХ, говорящий о том, что на сайте нет файла robots.txt. Еще 7.6% сайтов перенаправляют на другой URL (смотрите, например, редирект 301) - обычно на главную страницу или страницу ошибок (т. н. 404 страницу). Это значит, что только 26% владельцев сайтов поработали над тем, чтобы обеспечить свои сайты правильным файлом robots.txt. Конечно, некоторые сайты могут возвращать код 200 даже для страницы ошибок, поэтому такой подсчет может быть использован для быстрой оценки.

MIME типы

MIME типы (типы содержания) возвращаются веб-серверами в HTTP заголовках, чтобы сообщить клиентам, какой передается документ. Они состоят из типов (text, image и так далее), подтипов (html или jpeg) и некоторых необязательных параметров, таких как кодировка документа. Например, HTML файл обычно имеет MIME тип “text/html”, а текстовый файл - “text/plain”. Изображения могут иметь MIME типы “image/gif” или “image/jpeg”. Список всех зарегистрированных MIME типов можно посмотреть на IANA.

Единственный MIME тип, который должен возвращать файл robots.txt - это текст. По правде говоря, спецификация специально не упоминает это правило, но сайты типа Google следуют общему правилу, что “если это не text/*, то это не простой текст”. 109 780 из исследованных файлов robots.txt имели MIME тип, отличный от text/plain. Поэтому неудивительно, что крупнейшие поисковые системы, такие как Google, Yahoo! и MSN, стараются читать файл robots.txt независимо от возвращаемого типа. Например, robots.txt на сервере Дигга имеет тип “text/html; charset=UTF-8″. И поисковые роботы следуют правилам этого файла.

Кроме text/html и text/plain, были среди исследованных файлов и другие MIME типы, например, application/octet-stream, application/x-httpd-php, text/x-perl (в основном страницы ошибок), video/x-ms-asf, application/x-httpd-cgi, image/gif и image/jpeg.

Даже среди файлов, обозначенных как текст, было множество вариантов MIME типов, часто с ошибками в написании. Приведу список наиболее часто встречаемых.:
plain/text
text
text/R*ch
text/css
text/enriched
text/vnd.wap.wml
text/x-invalid
text/x-perl
text/x-server-parsed-html
text/xml
txt

Robots.txt - текстовый файл?

Еще одна ошибка, помимо использования неправильного content-type - это загрузка robots.txt в нетекстовом формате. Популярные ошибки - это загрузка robots.txt в формате Word документа (примеры: 1, 2, 3), RTF (примеры: 1, 2, 3) и HTML. Были найдены даже файлы роботса в форматах LaTex и KOffice (unix-based текстовый формат).

Некоторые серверные программы (т. н. Cougar, что-то вроде Microsoft Small Business Server или IIS) на запрос файла robots.txt даже выдают потоковое видео в формате ASF (примеры: 1, 2). Ужас.

Неправильная кодировка

Кодировка символов определяет, какие знаки соответствуют определенным наборам бит. Сайты определяют кодировку, устанавливая ее в переменной content-type в заголовке. Robots.txt на некоторых сайтах был написан в редко используемых кодировках типа UTF-16. UTF-16 редко используется по многим причинам, хотя бы из-за неоднозначности определения последних бит кодировки символа. Из 463 файлов в формате UTF-16 примерно 10% были нечитабельны, хотя и содержали UTF16 BOM.

С другой стороны, некоторые сервера вообще определяют свои множества символов и называют кодировку по-своему, например, “nf_z_62-010″, “ibm-939″ и “fi_fi.iso-8859-15@euro”.

Комментарии

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

Совершенно непонятные ошибки

Некоторые люди, наверное, вообще не имеют представления о том, что должно содержаться в файле robots.txt. Например, одна из распространенных ошибок - файлы robots.txt, в которые скопировано содержание страницы базы данных роботов. Речь идет не о нескольких сайтах. Такой robots.txt найден примерно на кажд 1000 сайтов. Это просто сумасшествие. Это часть еще более распространенной общей ошибки, когда в robots.txt копируют какие-то инструкции по его настройке. Есть совершенно “левые” файлы. В robots.txt пишут религиозные тексты и описания каких-то церквей. Или каталог MIDI треков. Список видеоигр. Несколько файлов .htaccess - иногда вставляют код вместе с конструкциями роботса, иногда используют синтаксис .htaccess для описания User-Agent.

Списки ключевых слов и описаний сайта, включая просто перемешанные ключевые слова. PHP и Bash скрипты, и все что угодно.

Есть даже одно описание плавательного бассейна (по-немецки).

И, конечно, множество читабельных для людей инструкций по содержанию robots.txt, которые робот понять не сможет.

info.txt

По-видимому, есть еще один протокол, подобный robots.txt, для рекламы и размещения контактной информации о владельце сайта. Эта информация используется Alexa для определения владельца сайта. Много таких записей было найдено в файлах robots.txt.

Регулярные выражения

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

Например, Google, Yahoo! и MSN Search понимают * как соответствие любой строке символов, а знак доллара $ как знак окончания URL. Поэтому для блокировки пауков при попытке загрузить jpeg файлы можно использовать следующую конструкцию:

User-agent: *
Disallow: /*.jpg$

Блокировка доступа к отдельным форматам файлов - самое распространенное применение для регулярных выражений. И большинство людей часто используют регулярные выражения когда они совсем не нужны. Например, многие сайты прописывают такое правило:

Disallow: /secret/*

Использовать нестандартное выражение здесь бесполезно, потому что такое правило эквивалентно более простому:

Disallow: /secret/

Обычно на сайтах, содержащих подобие первого правила с * не прописывают второй вариант. Паук, который не поддерживает недокументированные возможности, будет индексировать запрещенную папку, потому что не поймет ваших инструкций.

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

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

Во-первых, многие оставляют пустую строку между строкой User-agent и правилами для этого робота - это 74 043 из проанализированных файлов.

Во-вторых, часто пишут правило Disallow/Allow, не упоминая перед ними агента, или в одной строке с агентом - эта ошибка допущена в 64 921 файлах.

В-третьих, часто пишут строку с агентом после правила Disallow/Allow, не разделяя их пустой строкой - еще 32 656 файлов.

Строки совсем ненужного текста (не комментарии, не правила или агенты) встретились в 22 269 файлах.

Это, кстати, не показатель, ведь за ошибочный текст могло быть принято и недавно введенное Google правило sitemap, которого автор эксперимента не учел.

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

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

User-agent: *
Crawl-delay: 5

Это значит, пауку следует ждать 5 секунд между загрузками. Были найдены десятки тысяч таких записей.

Опечатки

Было найдено очень много файлов с опечатками. Опечаток команды Disallow набралось целых 69 видов! Это не считая опечаток, когда одни буквы в середине слова заменяют другими.

Ошибки в движках сайтов

Часто ошибки robots закладываются при разработке движков сайтов (например, advancedaccess). На многих сайтах файл robots.txt содержит только строку:

this file placed here so you don't fill up my error log looking for it
(В файл, размещенный здесь, вы не можете ничего дополнить из-за ошибки лога)


Подобных примеров много. Скорее всего, такие строки нужны для статистики использования движка. Это как метатег generator=Wordpress на движках Wordpress - для сбора статистики. Но создание заведомо невалидного robots.txt, по-моему, не очень красиво по отношению к пользователям.

Выводы

Какие выводы мы можем сделать исходя из этих данных? Главный вывод, я думаю, состоит в том, что протокол исключения роботов (Robots Exclusion Protocol) намного более сложный, чем кажется. На месте «паука» для того, чтобы правильно «прочитать» множество совершенно разных и сумасшедших robots.txt по всему интернету, вам нужно написать исключительно гибкий парсер (следуя Robustness Principle), в большинстве случаев игнорировать тип содержания (content-type), уметь распознавать множество кодировок (и в большинстве случаев просто игнорировать возвращаемую сервером кодировку), распознавать HTML и другие виды контента в файлах robots.txt и потенциально поддерживать множество расширений к принятому стандарту.

А что насчет высказанного выше утверждения, что пауки должны спрашивать разрешения на индексацию у вебмастера? Недавний проигранный иск правительства Бельгии против Google еще раз подтвердил верность позиции поисковых систем:

“Из-за огромного размера интернета для поисковой системы невозможно персонально спросить каждого вебмастера, можно загрузить ту или иную страницу или нельзя. Если бы такое разрешение было обязательным, то интернет бы развалился”,, – Эндрю МакЛофлин, глава отдела Google по конфиденциальности.

Как видно из раздела о статус-кодах, если бы это произошло, то почти четверть доменов стали бы “черными ящиками” для поисковых систем. Тогда эти сайты просто не существовали бы для большинства пользователей. Такой результат не устроил бы никого - ни вебмастеров, ни поисковые системы.

Если говорить не так серьезно, то всегда интересно узнать, насколько же интернет все-таки «загрязнен». И насколько разное наполнение для своих сайтов придумывают их владельцы.

Почитать

IETF - главный документ по robots.txt
Описание на русском языке и правильное использование robots.txt
Эндрю Вустер, программный инженер Apple

Перевод под ред. оптимизатора Егора Стамбакио

Есть о чем рассказать? Тогда присылайте свои материалы Марине Ибушевой


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
  • Гость
    больше года назад
    они рунет не видели... процентов 50 в ошибках...
    -
    0
    +
    Ответить
ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
Роскомнадзор начал требовать от владельцев сайтов уведомлять об использовании Google Analytics. Опыт SEOnews
Денис Добрынин
1
комментарий
0
читателей
Полный профиль
Денис Добрынин - Что-то я как-то пропустил момент, с которого например госномер автомобиля или разрешение монитора и версия установленного на ПК ОС стала перс.данными... Но сегодня тоже получили бумажку с ай-яй-яем. Пойдем на прием в теруправление.
Топ-10 SEO-курсов на 2024-2025 год для вашего роста
Виталий
1
комментарий
0
читателей
Полный профиль
Виталий - Вот тоже хороший курс для старта в сео -docs.google.com/document/d/1Qs7xVx4u3MZeuh8jf8s70NuIEYIuXVgtttaLMxADIsk/edit. Я много чего почерпнул для себя.
Авторы на RUTUBE теперь могут загружать видео в формате серий
Наиль г.Пенза
4
комментария
0
читателей
Полный профиль
Наиль г.Пенза - Ну что вы принимаете мою заявку? Или удалиться с "тихой грустью". А моих фото пока нет,они у меня удалились с Галереи, когда покупал себе смартфон. На фото пока моя дочь,сам я лежу в каридологие, сами понимаете какая у меня будет фотография
Рейтинги сайтов по отзывам в выдаче Яндекса: откуда берутся и как их улучшить
Romano
2
комментария
0
читателей
Полный профиль
Romano - дополнение: такие оценки не отображаются, но участвуют в общем рейтинге
Мастер-класс по использованию операторов Wordstat: повышаем эффективность сбора семантики
Старый сеошник
5
комментариев
0
читателей
Полный профиль
Старый сеошник - Ну это же просто рекламная статья ради обратной ссылки)))) Куча воды по абсолютно базовой информации. Справка Яндекса описала все тоже самое, но в 8 раз короче yandex.ru/support2/wordstat/ru/content/operators Ок, про историю запроса там нет. Но это же просто в интерфейсе кнопка)
Россиянам могут запретить рекламу в Instagram* и Facebook*
Марина Ибушева
65
комментариев
0
читателей
Полный профиль
Марина Ибушева - Окончательное как раз и означает третье. Любой законопроект перед тем, как отправиться в Совет Федерации и на подпись прзиденту, проходит в России три обязательные стадии рассмотрения в Государственной Думе: Первое чтение - обсуждается общая концепция законопроекта. Второе чтение - более детальное обсуждение проекта, поправки и дополнения. Третье чтение (окончательное) - голосование за проект. Так что ожидается 25 марта второе и третье, окончательное чтение.
SEO-продвижение сайтов клиник
Дмитрий Севальнев
124
комментария
0
читателей
Полный профиль
Дмитрий Севальнев - Вау, мощно!
Тренды SEO в 2025 году
Борис
4
комментария
0
читателей
Полный профиль
Борис - 50/50 Описанная тобой ситуация (надеюсь, не против, что сразу на "ты") — типичная и вообще не требует какого-то глубинного опыта. Достаточно немного логики и наблюдательности. Разобью на пункты для читабельности: 1) Каннибализацию очень просто распознать. Достаточно загрузить СЯ в систему съёма позиций и мониторить источники. Если происходит некое «мигание» — идём (повторно) в топ, смотрим, подтверждаем гипотезу — склеиваем. 2) Но чаще всего эту проблему можно решить на уровне качественной группировки СЯ. А некоторые кластеры со знаком вопроса, которые мы решили разделить на несколько, достаточно держать под контролем. И снова получается, что внимательность и логика здесь могут помочь. И никакого серьёзного опыта не требуется. 3) Соглашусь, что в Яндексе правило "Интент = одна страница" — очень важно, но не всегда. Например, есть кластер, связанный с установкой сантехники, который включает запросы: "установка сантехники", "цена на установку сантехники". Вот здесь, как раз, для многих может быть неочевидно, что кластер лучше разделить на два: "Установка сантехники" и "Цена на установку сантехники". 4) Продолжая мысль из п.3 — в такой ситуации в Яндексе (скорее всего) всё будет ок. И никакой каннибализации не произойдёт. 5) Если говорить про Google (тот же п.3), то здесь, вероятно, возникнут проблемы (всё зависит от оптимизации страниц). Эти два кластера могут не дотянуть до топа из-за своей релевантности. Мы все знаем, что Google может «съесть» страницу с несколькими интентами, и всё будет ок. (в этом предложении пасхалка, что нужно сделать ;)) А если ещё поработать над ссылочным — вообще сказка. Конечно, эту проблему можно решить, но если переборщить, то каннибализация может уже произойти в Яндексе. Вот как раз чтобы уловить эту тонкую грань, и нужен хоть какой-то опыт, которого часто нет у джунов.
Целевая аудитория: как найти и встроиться в ее вселенную
Александра
2
комментария
0
читателей
Полный профиль
Александра - Здравствуйте! Благодарю Вас за отличную статью! Много полезной информации, написано доступным языком.
Настоящий квест: как увеличили трафик на сайт сети компьютерных клубов в 19,5 раз, а число конверсий в 42,5 раза
Владлен
1
комментарий
0
читателей
Полный профиль
Владлен - Интересно, есть только вопрос по ссылкам, в каком диапазоне стоимость ссылки была, ведь судя по скринам за 5 месяцев было куплено 10 ссылок
ТОП КОММЕНТАТОРОВ
Комментариев
910
Комментариев
834
Комментариев
554
Комментариев
540
Комментариев
483
Комментариев
392
Комментариев
373
Комментариев
262
Комментариев
249
Комментариев
171
Комментариев
156
Комментариев
141
Комментариев
124
Комментариев
121
Комментариев
100
Комментариев
97
Комментариев
97
Комментариев
96
Комментариев
80
Комментариев
77
Комментариев
74
Комментариев
67
Комментариев
65
Комментариев
60
Комментариев
59

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