Страница защищена ожидающими изменениями
Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Robots.txt )
Перейти к навигации Перейти к поиску

Стандарт исключения роботов , также известный как протокол исключения роботов или просто robots.txt , - это стандарт, используемый веб-сайтами для связи с поисковыми роботами и другими веб-роботами . Стандарт определяет, как сообщить веб-роботу, какие области веб-сайта не следует обрабатывать или сканировать. Роботы часто используются поисковыми системами для категоризации веб-сайтов. Не все роботы работают со стандартом; сборщики электронной почты , спам-боты , вредоносное ПОа роботы, которые сканируют уязвимости системы безопасности, могут даже начать с тех частей веб-сайта, куда им было приказано держаться подальше. Стандарт можно использовать вместе с Sitemap , стандартом включения роботов для веб-сайтов.

История [ править ]

Этот стандарт был предложен Martijn Костер , [1] [2] при работе на Nexor [3] в феврале 1994 года [4] на WWW-ток списка рассылки, основной канал связи для WWW-связанной с ними деятельности в то время. Чарльз Стросс утверждает, что спровоцировал Костера предложить robots.txt после того, как он написал плохо работающий веб-сканер, который непреднамеренно вызвал атаку отказа в обслуживании на сервере Костера. [5]

Он быстро стал стандартом де-факто, которому должны были следовать настоящие и будущие поисковые роботы; большинство из них соблюдают, в том числе те, которые используются поисковыми системами, такими как WebCrawler , Lycos и AltaVista . [6]

1 июля 2019 года компания Google объявила о предложении протокола исключения роботов в качестве официального стандарта в рамках Целевой группы инженеров Интернета . [7] Черновик [8] сейчас будет проходить приемку.

Стандарт [ править ]

Когда владелец сайта хочет дать инструкции веб-роботам, он помещает текстовый файл robots.txt в корень иерархии веб-сайта (например, https://www.example.com/robots.txt ). Этот текстовый файл содержит инструкции в определенном формате (см. Примеры ниже). Роботы, которые предпочитают следовать инструкциям, пытаются получить этот файл и прочитать инструкции перед загрузкой любого другого файла с веб-сайта . Если этот файл не существует, веб-роботы предполагают, что владелец веб-сайта не желает накладывать какие-либо ограничения на сканирование всего сайта.

Файл robots.txt на веб-сайте будет работать как запрос, по которому указанные роботы игнорируют указанные файлы или каталоги при сканировании сайта. Это может быть, например, из-за предпочтения конфиденциальности результатов поисковой системы или из-за веры в то, что содержимое выбранных каталогов может вводить в заблуждение или не иметь отношения к категоризации сайта в целом, или из-за желания, чтобы приложение работает только с определенными данными. Ссылки на страницы, перечисленные в robots.txt, могут по-прежнему появляться в результатах поиска, если на них есть ссылки со страницы, которая сканируется. [9]

Файл robots.txt охватывает одно происхождение . Для веб-сайтов с несколькими субдоменами каждый субдомен должен иметь собственный файл robots.txt. Если у example.com был файл robots.txt, а у a.example.com - нет, правила, которые применялись бы для example.com , не применялись бы к a.example.com . Кроме того, для каждого протокола и порта нужен собственный файл robots.txt; http://example.com/robots.txt не применяется к страницам под http://example.com:8080/ или https://example.com/ .

Некоторые основные поисковые системы, следующие этому стандарту, включают Ask, [10] AOL, [11] Baidu, [12] DuckDuckGo, [13] Google, [14] Yahoo !, [15] и Яндекс. [16] Бинг [17] все еще [ когда? ] не полностью совместим со стандартом, так как не может наследовать настройки от подстановочного знака ( *). [18]

Группа волонтеров Archive Team явно игнорирует robots.txt по большей части, считая его устаревшим стандартом, препятствующим архивным работам в Интернете. По словам руководителя проекта Джейсона Скотта, «снятый и оставленный в покое, файл robots.txt не гарантирует никакого зеркалирования или ссылки на элементы, которые могут иметь общее использование и значение вне контекста веб-сайта». [19]

В течение нескольких лет Интернет-архив не сканировал сайты с robots.txt, но в апреле 2017 года он объявил, что больше не будет соблюдать директивы в файлах robots.txt. [20] «Со временем мы заметили, что файлы robots.txt, предназначенные для поисковых роботов, не обязательно служат нашим архивным целям». [21] Это произошло в ответ на то, что целые домены были помечены файлом robots.txt, когда содержание стало устаревшим. [21]

Безопасность [ править ]

Несмотря на использование терминов «разрешить» и «запретить», протокол носит чисто рекомендательный характер и основан на соответствии веб-робота . [22] Вредоносные веб-роботы вряд ли будут использовать robots.txt; некоторые могут даже использовать файл robots.txt в качестве руководства, чтобы найти запрещенные ссылки и сразу перейти к ним. Хотя иногда это утверждается как угроза безопасности, [23] такой вид безопасности через неясность не одобряется органами по стандартизации. Национальный институт стандартов и технологий (NIST) в Соединенных Штатах специально рекомендует против этой практики: «Система безопасности не должна зависеть от секретности реализации или ее компонентов.» [24]В контексте файлов robots.txt использование скрытой защиты не рекомендуется в качестве метода защиты. [25]

Альтернативы [ править ]

Многие роботы также передают специальный пользовательский агент на веб-сервер при получении контента. [26] Веб-администратор также может настроить сервер так, чтобы он автоматически возвращал ошибку (или передавал альтернативный контент ) при обнаружении соединения с помощью одного из роботов. [27] [28]

Некоторые сайты, такие как Google , содержат humans.txtфайл, который отображает информацию, предназначенную для чтения людьми. [29] Некоторые сайты, такие как GitHub, перенаправляют people.txt на страницу с информацией. [30]

Ранее у Google был файл анекдота, в котором Терминатору/killer-robots.txt предписывалось не убивать основателей компании Ларри Пейджа и Сергея Брина . [31] [32]

Примеры [ править ]

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

Пользовательский агент: *Позволять: /

Тот же результат может быть достигнут с пустым или отсутствующим файлом robots.txt.

Этот пример говорит всем роботам держаться подальше от веб-сайта:

Пользовательский агент: *Запретить: /

В этом примере всем роботам запрещается заходить в три каталога:

Пользовательский агент: *Disallow: / cgi-bin /Запрещение: / tmp /Запретить: / мусор /

Этот пример говорит всем роботам держаться подальше от одного конкретного файла:

Пользовательский агент: *Запретить: /directory/file.html

Все остальные файлы в указанном каталоге будут обработаны.

Этот пример говорит конкретному роботу держаться подальше от веб-сайта:

User-agent: BadBot # замените BadBot на фактический пользовательский агент бота.Запретить: /

Этот пример говорит двум конкретным роботам не входить в один конкретный каталог:

User-agent: BadBot # замените BadBot на фактический пользовательский агент бота.Пользовательский агент: GooglebotDisallow: / private /

Пример, демонстрирующий, как можно использовать комментарии:

# Комментарии появляются после символа "#" в начале строки или после директивыUser-agent: * # соответствует всем ботамDisallow: / # не допускайте их

Также можно указать несколько роботов с их собственными правилами. Фактическая строка робота определяется поисковым роботом. Некоторые операторы роботов, такие как Google , поддерживают несколько строк пользовательского агента, которые позволяют оператору запрещать доступ к подмножеству своих служб, используя определенные строки пользовательского агента. [14]

Пример, демонстрирующий несколько пользовательских агентов:

User-agent: googlebot # все сервисы GoogleЗапретить: / private / # запретить этот каталогUser-agent: googlebot-news # только служба новостейDisallow: / # запретить всеUser-agent: * # любой роботDisallow: / something / # запретить этот каталог

Нестандартные расширения [ править ]

Директива задержки сканирования [ править ]

Некоторые сканеры поддерживают значение задержки сканирования, чтобы ограничить их посещения хоста. Поскольку это значение не является частью стандарта, его интерпретация зависит от считывающего его сканера. Он используется, когда множественные посещения ботов замедляют работу хоста. Яндекс интерпретирует значение как количество секунд ожидания между последующими посещениями. [16] Bing определяет задержку сканирования как размер временного окна (от 1 до 30 секунд), в течение которого BingBot будет обращаться к веб-сайту только один раз. [33] Google предоставляет интерфейс в своей поисковой консоли для веб-мастеров, чтобы контролировать последующие посещения Googlebot . [34]

Пользовательский агент: bingbotПозволять : /Задержка сканирования: 10

Разрешить директиву [ править ]

Некоторые основные сканеры поддерживают Allowдирективу, которая может противодействовать следующей Disallowдирективе. [35] [36] Это полезно, когда кто-то говорит роботам избегать просмотра всего каталога, но все же хочет, чтобы некоторые HTML-документы в этом каталоге сканировались и индексировались. В то время как стандартная реализация всегда выигрывает у первого совпадающего шаблона robots.txt, реализация Google отличается тем, что разрешающие шаблоны с равным или большим количеством символов в пути директивы побеждают соответствующий шаблон Disallow. [37] Bing использует директиву Allowили Disallow, в зависимости от того, какая из них более конкретна, в зависимости от длины, как Google. [17]

Чтобы быть совместимым со всеми роботами, если кто-то хочет разрешить отдельные файлы внутри запрещенного в противном случае каталога, необходимо сначала поместить директивы Allow, а затем Disallow, например:

Разрешить: /directory1/myfile.htmlЗапретить: / directory1 /

В этом примере в / directory1 / будет запрещено что-либо, кроме /directory1/myfile.html, поскольку последний будет соответствовать первым. Порядок важен только для роботов, которые следуют стандарту; в случае с ботами Google или Bing порядок не имеет значения.

Карта сайта [ править ]

Некоторые сканеры поддерживают Sitemapдирективу, разрешающую использование нескольких файлов Sitemap в одномrobots.txtв виде : [38]Sitemap: full-url

Карта сайта: http://www.example.com/sitemap.xml

Хост [ править ]

Некоторые сканеры ( Яндекс ) поддерживают Hostдирективу, позволяющую веб-сайтам с несколькими зеркалами указывать предпочтительный домен: [39]

Хост: hosting.example.com

Это поддерживается не всеми сканерами.

Универсальное соответствие "*" [ править ]

Стандарт исключений для роботов не говоря уже о «*» символ в Disallow:заявлении. [40]

Мета-теги и заголовки [ править ]

Помимо файлов robots.txt корневого уровня, директивы исключения роботов могут применяться на более детальном уровне с помощью метатегов Robots и HTTP-заголовков X-Robots-Tag. Метатег robots нельзя использовать для файлов, отличных от HTML, таких как изображения, текстовые файлы или документы PDF. С другой стороны, X-Robots-Tag может быть добавлен к файлам, отличным от HTML, с помощью файлов .htaccess и httpd.conf . [41]

Мета-тег noindex
< meta  name = "robots"  content = "noindex"  />
Заголовок ответа HTTP "noindex"
X-Robots-Tag: noindex

X-Robots-Tag действует только после того, как страница была запрошена и сервер ответил, а метатег robots действует только после загрузки страницы, тогда как robots.txt действует до того, как страница будет запрошена. Таким образом, если страница исключена файлом robots.txt, любые метатеги robots или заголовки X-Robots-Tag фактически игнорируются, потому что робот не увидит их в первую очередь. [41]

См. Также [ править ]

  • ads.txt, стандарт для перечисления авторизованных продавцов рекламы
  • security.txt, файл, описывающий процесс, которому должны следовать исследователи безопасности, чтобы сообщить об уязвимостях.
  • Протокол автоматического доступа к контенту - неудавшееся предложение по расширению robots.txt
  • BotSeer - теперь неактивная поисковая система для файлов robots.txt
  • Распределенное сканирование в Интернете
  • Сфокусированный сканер
  • Интернет-архив
  • Национальная программа цифровой библиотеки (NDLP)
  • Национальная программа по инфраструктуре и сохранению цифровой информации (NDIIPP)
  • Не следует
  • Perma.cc
  • Мета-элементы для поисковых систем
  • Файлы Sitemap
  • Ловушка для паука
  • Веб-архивирование
  • Поисковый робот
  • noindex

Ссылки [ править ]

  1. ^ «Исторический» . Greenhills.co.uk . Архивировано 3 апреля 2017 года . Проверено 3 марта 2017 .
  2. ^ Филдинг, Рой (1994). «Поддержание распределенных гипертекстовых инфоструктур: добро пожаловать в сеть MOMspider» (PostScript) . Первая международная конференция во всемирной паутине . Женева. Архивировано 27 сентября 2013 года . Проверено 25 сентября 2013 года .
  3. ^ "Страницы веб-роботов" . Robotstxt.org. 1994-06-30. Архивировано 12 января 2014 года . Проверено 29 декабря 2013 .
  4. ^ Костер, Мартейн (25 февраля 1994). «Важно: пауки, роботы и странники в сети» . Список рассылки www-talk . Архивировано из оригинала ( сообщение из архива Hypermail ) 29 октября 2013 года.
  5. ^ «Как я попал сюда в итоге, часть пятая:» все может только наладиться! " " . Дневник Чарли . 19 июня 2006 года архивации с оригинала на 2013-11-25 . Проверено 19 апреля 2014 года .
  6. Барри Шварц (30 июня 2014 г.). «Robots.txt отмечает 20-летие блокировки поисковых систем» . Земля поисковой машины . Архивировано 07 сентября 2015 года . Проверено 19 ноября 2015 .
  7. ^ «Формализация спецификации протокола исключения роботов» . Официальный блог Центра веб-мастеров Google . Проверено 10 июля 2019 .
  8. ^ М. Костер, Stalworthy Computing, Ltd., Г. Иллис, Х. Зеллер, Л. Харви, Google (1 июля 2019 г.). «Протокол исключения роботов draft-rep-wg-topic-00» . Документы IETF . Проверено 9 сентября 2019 .CS1 maint: multiple names: authors list (link)
  9. ^ «Не просканированные URL в результатах поиска» . YouTube. 5 октября 2009 г. Архивировано 06.01.2014 . Проверено 29 декабря 2013 .
  10. ^ «О Ask.com: Веб-мастера» . About.ask.com . Проверено 16 февраля 2013 года .
  11. ^ «О поиске AOL» . Search.aol.com . Проверено 16 февраля 2013 года .
  12. ^ "Baiduspider" . Baidu.com . Проверено 16 февраля 2013 года .
  13. ^ "DuckDuckGo Bot" . DuckDuckGo.com . Проверено 25 апреля 2017 года .
  14. ^ a b «Веб-мастера: Спецификации Robots.txt» . Разработчики Google . Архивировано 15 января 2013 года . Проверено 16 февраля 2013 года .
  15. ^ «Отправка вашего веб-сайта в Yahoo! Search» . Архивировано 21 января 2013 года . Проверено 16 февраля 2013 года .
  16. ^ a b «Использование robots.txt» . Help.yandex.com . Архивировано 25 января 2013 года . Проверено 16 февраля 2013 года .
  17. ^ a b «Протокол исключения роботов: объединение для улучшения документации» . Blogs.bing.com . Архивировано 18 августа 2014 года . Проверено 16 февраля 2013 года .
  18. ^ «Как создать файл Robots.txt - Инструменты для веб-мастеров Bing» . www.bing.com . Проверено 6 февраля 2019 .
  19. ^ Джейсон Скотт . «Robots.txt - это предсмертная записка» . Архивная команда. Архивировано 18 февраля 2017 года . Проверено 18 февраля +2017 .
  20. ^ «Robots.txt, предназначенный для поисковых систем, не работает с веб-архивами | Интернет-архив блогов» . blog.archive.org . Архивировано 4 декабря 2018 года . Проверено 1 декабря 2018 .
  21. ^ a b Джонс, Брэд (24 апреля 2017 г.). «Интернет-архив будет игнорировать файлы Robots.txt для сохранения точности» . Цифровые тенденции . Архивировано 16 мая 2017 года . Дата обращения 8 мая 2017 .
  22. ^ «Блокировать URL-адреса с помощью robots.txt: узнайте о файлах robots.txt» . Архивировано 14 августа 2015 года . Проверено 10 августа 2015 .
  23. ^ «Robots.txt сообщает хакерам, куда вы не хотите, чтобы они смотрели» . Реестр . Архивировано 21 августа 2015 года . Проверено 12 августа 2015 года .
  24. ^ «Руководство по общей безопасности сервера» (PDF) . Национальный институт стандартов и технологий. Июль 2008. Архивировано (PDF) из оригинала 08.10.2011 . Проверено 12 августа 2015 года .
  25. ^ Сверре H. Huseby (2004). Невинный код: тревожный звонок для веб-программистов . Джон Вили и сыновья. С. 91–92. ISBN 9780470857472. Архивировано 01 апреля 2016 года . Проверено 12 августа 2015 .
  26. ^ «Список пользовательских агентов (пауки, роботы, браузер)» . User-agents.org. Архивировано 07 января 2014 года . Проверено 29 декабря 2013 .
  27. ^ «Контроль доступа - HTTP-сервер Apache» . Httpd.apache.org. Архивировано 29 декабря 2013 года . Проверено 29 декабря 2013 .
  28. ^ «Запретить строки для правил фильтрации: официальный сайт Microsoft IIS» . Iis.net. 2013-11-06. Архивировано 01 января 2014 года . Проверено 29 декабря 2013 .
  29. ^ "Google people.txt" . Проверено 3 октября 2019 года .
  30. ^ "Github people.txt" . Проверено 3 октября 2019 года .
  31. ^ Ньюман, Лили Хэй (2014-07-03). "Это пасхальное яйцо Google или доказательство того, что Скайнет на самом деле замышляет мировое господство?" . Журнал Slate . Проверено 3 октября 2019 .
  32. ^ "/killer-robots.txt" . 2018-01-10. Архивировано 10 января 2018 года . Проверено 25 мая 2018 .
  33. ^ «Ползать или не ползать - это вопрос BingBot» . 3 мая 2012. Архивировано 03 февраля 2016 года . Проверено 9 февраля +2016 .
  34. ^ "Изменить скорость сканирования робота Google - Справка Search Console" . support.google.com . Архивировано 18 ноября 2018 года . Проверено 22 октября 2018 года .
  35. ^ "Справочный центр для веб-мастеров - как заблокировать Googlebot?" . Архивировано 01 августа 2010 года . Проверено 20 ноября 2007 .
  36. ^ «Как мне предотвратить сканирование моего сайта или определенных подкаталогов? - Справка Yahoo Search» . Архивировано 13 октября 2007 года . Проверено 20 ноября 2007 .
  37. ^ "Скрытая интерпретация Google Robots.txt" . Архивировано 20 ноября 2010 года . Проверено 15 ноября 2010 .
  38. ^ «Yahoo! Search Blog - теперь веб-мастера могут автоматически обнаруживать с помощью файлов Sitemap» . Архивировано из оригинала на 2009-03-05 . Проверено 23 марта 2009 .
  39. ^ «Яндекс - Использование robots.txt» . Архивировано 9 мая 2013 года . Проверено 13 мая 2013 .
  40. ^ «Технические характеристики Robots.txt» . Разработчики Google . Проверено 15 февраля 2020 года .
  41. ^ a b «Спецификации метатега роботов и HTTP-заголовка X-Robots-Tag - Веб-мастера - Разработчики Google» . Архивировано 8 августа 2013 года . Проверено 17 августа 2013 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • База данных роботов (список имен ботов)
  • Инструмент проверки robots.txt
  • Официальная документация Microsoft bingbot