robots.txt
Протокол исключения роботов | |
Статус | Предлагаемый стандарт |
---|---|
Впервые опубликовано | Опубликовано в 1994 г., официально стандартизировано в 2022 г. |
Авторы |
|
Веб-сайт | роботstxt |
robots.txt — это имя файла, используемое для реализации протокола исключения роботов , стандарта, используемого веб-сайтами для указания посещающим веб-сканерам и другим веб-роботам, какие части веб-сайта им разрешено посещать.
Стандарт, разработанный в 1994 году, основан на добровольном соблюдении . Вредоносные боты могут использовать этот файл в качестве каталога страниц для посещения, хотя органы по стандартизации не рекомендуют противодействовать этому с помощью обеспечения безопасности посредством неясности . Некоторые архивные сайты игнорируют robots.txt. Этот стандарт использовался в 1990-х годах для снижения перегрузки серверов . В 2020-х годах многие веб-сайты начали запрещать использование ботов, собирающих информацию для генеративного искусственного интеллекта .
Файл robots.txt можно использовать вместе с картами сайта — еще одним стандартом включения роботов на веб-сайты.
История
[ редактировать ]Стандарт был предложен Мартином Костером , [ 1 ] [ 2 ] при работе в Nexor [ 3 ] в феврале 1994 года [ 4 ] в списке рассылки www-talk , который в то время был основным каналом связи для деятельности, связанной с WWW. Чарльз Стросс утверждает, что спровоцировал Костера предложить robots.txt после того, как он написал плохо работающий веб-сканер, который непреднамеренно вызвал атаку типа «отказ в обслуживании» на сервер Костера. [ 5 ]
Стандарт, первоначально RobotsNotWanted.txt, позволял веб-разработчикам указывать, какие боты не должны получать доступ к их веб-сайту или к каким страницам боты не должны иметь доступ. В 1994 году Интернет был достаточно мал, чтобы поддерживать полный список всех ботов; Перегрузка сервера была главной проблемой. К июню 1994 года это стало де-факто стандартом ; [ 6 ] наиболее соблюдаются, в том числе те, которыми управляют поисковые системы, такие как WebCrawler , Lycos и AltaVista . [ 7 ]
1 июля 2019 года Google объявила о предложении протокола исключения роботов в качестве официального стандарта Целевой группы по разработке Интернета . [ 8 ] Предлагаемый стандарт [ 9 ] был опубликован в сентябре 2022 года как RFC 9309.
Стандартный
[ редактировать ]Когда владелец сайта хочет дать инструкции веб-роботам, он помещает текстовый файл с именем robots.txt в корне иерархии веб-сайта (например, https://www.example.com/robots.txt ). Этот текстовый файл содержит инструкции в определенном формате (см. примеры ниже). Роботы, решившие следовать инструкциям, пытаются получить этот файл и прочитать инструкции, прежде чем загружать любой другой файл с веб-сайта . Если этот файл не существует, веб-роботы предполагают, что владелец веб-сайта не желает налагать какие-либо ограничения на сканирование всего сайта.
Файл robots.txt содержит инструкции для ботов, указывающие, к каким веб-страницам они могут и не могут получить доступ. Файлы Robots.txt особенно важны для веб-сканеров поисковых систем, таких как Google.
Файл robots.txt на веб-сайте будет функционировать как запрос на то, чтобы определенные роботы игнорировали определенные файлы или каталоги при сканировании сайта. Это может быть, например, из-за предпочтения конфиденциальности результатов поисковых систем или из-за уверенности в том, что содержимое выбранных каталогов может вводить в заблуждение или не иметь отношения к категоризации сайта в целом, или из-за желания, чтобы приложение работает только с определенными данными. Ссылки на страницы, перечисленные в файле robots.txt, по-прежнему могут появляться в результатах поиска, если на них есть ссылка со сканируемой страницы. [ 10 ]
Файл 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/ .
Согласие
[ редактировать ]Протокол robots.txt широко используется операторами ботов. [ 6 ]
Поисковые системы
[ редактировать ]Некоторые основные поисковые системы, следующие этому стандарту, включают Ask, [ 11 ] АОЛ, [ 12 ] Байду, [ 13 ] Бинг, [ 14 ] ДакДакГо, [ 15 ] Google, [ 16 ] Yahoo!, [ 17 ] и Яндекс. [ 18 ]
Архивные сайты
[ редактировать ]Некоторые проекты веб-архивирования игнорируют файл robots.txt. Команда архива использует этот файл для обнаружения дополнительных ссылок, таких как карты сайта . [ 19 ] Соучредитель Джейсон Скотт сказал, что «непроверенный и оставленный в покое файл robots.txt не обеспечивает зеркалирования или ссылок на элементы, которые могут иметь общее использование и значение, выходящее за рамки контекста веб-сайта». [ 20 ] В 2017 году Интернет-архив объявил, что перестанет соблюдать директивы robots.txt. [ 21 ] [ 6 ] По данным Digital Trends , это последовало за широким использованием файла robots.txt для удаления исторических сайтов из результатов поисковых систем и контрастировало с целью некоммерческой организации архивировать «снимки» Интернета в том виде, в котором он существовал раньше. [ 22 ]
Искусственный интеллект
[ редактировать ]Начиная с 2020-х годов веб-операторы начали использовать robots.txt, чтобы запретить доступ ботам, собирающим данные обучения для генеративного ИИ . В 2023 году Originality.AI обнаружила, что 306 из тысяч самых посещаемых веб-сайтов заблокировали GPTBot OpenAI в файле robots.txt, а 85 заблокировали Google -Extended. Во многих файлах robots.txt GPTBot указан как единственный бот, явно запрещенный на всех страницах. Отказ в доступе к GPTBot был обычным явлением на таких новостных сайтах, как BBC и The New York Times . В 2023 году хостинг блогов Medium объявил, что откажет в доступе всем веб-сканерам с искусственным интеллектом, поскольку «компании, занимающиеся искусственным интеллектом, вытягивают выгоду из писателей, чтобы рассылать спам интернет-читателям». [ 6 ]
GPTBot соответствует стандарту robots.txt и дает советы веб-операторам о том, как его запретить, но The Verge Дэвид Пирс из сказал, что это началось только после «обучения базовых моделей, которые сделали его таким мощным». Кроме того, некоторые боты используются как для поисковых систем, так и для искусственного интеллекта, и заблокировать только один из этих вариантов может быть невозможно. [ 6 ] 404 Media сообщило, что такие компании, как Anthropic и Perplexity.ai, обходили robots.txt, переименовывая или запуская новые парсеры взамен тех, которые появлялись в популярных блок-листах . [ 23 ]
Безопасность
[ редактировать ]Несмотря на использование терминов «разрешить» и «запретить», протокол носит чисто рекомендательный характер и зависит от соответствия веб -робота ; он не может обеспечить соблюдение ничего из того, что указано в файле. [ 24 ] Вредоносные веб-роботы вряд ли будут соблюдать robots.txt; некоторые могут даже использовать файл robots.txt в качестве руководства для поиска запрещенных ссылок и перехода прямо к ним. Хотя иногда это считается угрозой безопасности, [ 25 ] такого рода безопасность за счет неясности органы по стандартизации не одобряют . Национальный институт стандартов и технологий (NIST) в США особо рекомендует воздерживаться от такой практики: «Безопасность системы не должна зависеть от секретности реализации или ее компонентов». [ 26 ] В контексте файлов robots.txt безопасность посредством сокрытия не рекомендуется в качестве метода обеспечения безопасности. [ 27 ]
Альтернативы
[ редактировать ]специальный пользовательский агент при загрузке контента. Многие роботы также передают веб-серверу [ 28 ] Веб-администратор также может настроить сервер на автоматическое возвращение ошибки (или передачу альтернативного контента ) при обнаружении соединения с использованием одного из роботов. [ 29 ] [ 30 ]
Некоторые сайты, такие как Google , размещают humans.txt
файл, который отображает информацию, предназначенную для чтения людьми. [ 31 ] Некоторые сайты, такие как GitHub, перенаправляют файл human.txt на страницу «О программе» . [ 32 ]
Ранее у Google был файл шутки, размещенный по адресу /killer-robots.txt
поручая Терминатору не убивать основателей компании Ларри Пейджа и Сергея Брина . [ 33 ] [ 34 ]
Примеры
[ редактировать ]В этом примере всем роботам сообщается, что они могут посещать все файлы, поскольку подстановочный знак *
означает всех роботов и Disallow
Директива не имеет значения, то есть ни одна страница не будет запрещена.
User-agent: * Disallow:
User-agent: * Allow: /
Того же результата можно добиться с пустым или отсутствующим файлом robots.txt.
В этом примере всем роботам приказано держаться подальше от веб-сайта:
User-agent: * Disallow: /
В этом примере всем роботам запрещается входить в три каталога:
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /junk/
В этом примере всем роботам рекомендуется держаться подальше от одного конкретного файла:
User-agent: * Disallow: /directory/file.html
Все остальные файлы в указанном каталоге будут обработаны.
User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot Disallow: /
Этот пример сообщает двум конкретным роботам не входить в один конкретный каталог:
User-agent: BadBot # replace 'BadBot' with the actual user-agent of the bot User-agent: Googlebot Disallow: /private/
Пример, демонстрирующий, как можно использовать комментарии:
# Comments appear after the "#" symbol at the start of a line, or after a directive User-agent: * # match all bots Disallow: / # keep them out
Также можно указать несколько роботов со своими правилами. Фактическая строка робота определяется сканером. Некоторые операторы роботов, такие как Google , поддерживают несколько строк пользовательского агента, которые позволяют оператору запрещать доступ к подмножеству своих услуг, используя определенные строки пользовательского агента. [ 16 ]
Пример, демонстрирующий несколько пользовательских агентов:
User-agent: googlebot # all Google services Disallow: /private/ # disallow this directory User-agent: googlebot-news # only the news service Disallow: / # disallow everything User-agent: * # any robot Disallow: /something/ # disallow this directory
Нестандартные расширения
[ редактировать ]Директива задержки сканирования
[ редактировать ]Значение задержки сканирования поддерживается некоторыми сканерами для ограничения посещений хоста. Поскольку это значение не является частью стандарта, его интерпретация зависит от того, читает ли его сканер. Используется, когда множественный всплеск посещений ботов замедляет работу хоста. Яндекс интерпретирует значение как количество секунд ожидания между последующими посещениями. [ 18 ] Bing определяет задержку сканирования как размер временного окна (от 1 до 30 секунд), в течение которого BingBot получит доступ к веб-сайту только один раз. [ 35 ] Google предоставляет веб-мастерам интерфейс в своей поисковой консоли для контроля Googlebot . последующих посещений робота [ 36 ]
User-agent: bingbot Allow: / Crawl-delay: 10
Карта сайта
[ редактировать ]Некоторые сканеры поддерживают Sitemap
директива, позволяющая использовать несколько файлов Sitemap в одном robots.txt в форме Sitemap: full-url
: [ 37 ]
Sitemap: http://www.example.com/sitemap.xml
Универсальное совпадение "*"
[ редактировать ]Стандарт исключения роботов не упоминает символ «*» в Disallow:
заявление. [ 38 ]
Мета-теги и заголовки
[ редактировать ]Помимо файлов robots.txt корневого уровня, директивы исключения роботов можно применять на более детальном уровне с помощью метатегов Robots и HTTP-заголовков X-Robots-Tag. Метатег robots нельзя использовать для файлов, отличных от HTML, таких как изображения, текстовые файлы или документы PDF. С другой стороны, X-Robots-Tag можно добавить к файлам, отличным от HTML, с помощью файлов .htaccess и httpd.conf . [ 39 ]
Метатег «noindex»
[ редактировать ]<meta name="robots" content="noindex" />
Заголовок HTTP-ответа «noindex»
[ редактировать ]X-Robots-Tag: noindex
X-Robots-Tag вступает в силу только после того, как страница была запрошена и сервер ответил, а метатег robots вступает в силу только после загрузки страницы, тогда как файл robots.txt вступает в силу до запроса страницы. Таким образом, если страница исключена файлом robots.txt, любые метатеги роботов или заголовки X-Robots-Tag фактически игнорируются, поскольку робот их вообще не увидит. [ 39 ]
Максимальный размер файла robots.txt
[ редактировать ]Протокол исключения роботов требует, чтобы сканеры анализировали не менее 500 кибибайт (512 000 байт) файлов robots.txt. [ 40 ] Google поддерживает ограничение на размер файла robots.txt в 500 кибибайт. [ 41 ]
См. также
[ редактировать ]ads.txt
, стандарт для списка авторизованных продавцов рекламы.security.txt
, файл, описывающий процесс, которому должны следовать исследователи безопасности, чтобы сообщать об уязвимостях безопасности.- eBay против Bidder's Edge
- Протокол автоматического доступа к контенту — неудачное предложение по расширению robots.txt
- BotSeer – сейчас неактивная поисковая система для файлов robots.txt.
- Распределенное сканирование веб-страниц
- Целенаправленный сканер
- Интернет-архив
- Мета-элементы для поисковых систем
- Программа Национальной цифровой библиотеки (NDLP)
- Национальная программа инфраструктуры и сохранения цифровой информации (NDIIPP)
- nofollow
- noindex
- Perma.cc
- Карты сайта
- Ловушка для паука
- Веб-архивирование
- Веб-сканер
Ссылки
[ редактировать ]- ^ «Исторический» . Greenhills.co.uk . Архивировано из оригинала 3 апреля 2017 г. Проверено 3 марта 2017 г.
- ^ Филдинг, Рой (1994). «Поддержка распределенных гипертекстовых инфоструктур: добро пожаловать в сеть MOMspider» (PostScript) . Первая международная конференция по Всемирной паутине . Женева. Архивировано из оригинала 27 сентября 2013 г. Проверено 25 сентября 2013 г.
- ^ «Страницы веб-роботов» . Robotstxt.org. 30 июня 1994 г. Архивировано из оригинала 12 января 2014 г. Проверено 29 декабря 2013 г.
- ^ Костер, Мартейн (25 февраля 1994 г.). «Важно: пауки, роботы и странники в сети» . Список рассылки www-talk . Архивировано из оригинала ( Hypermail архивное сообщение ) 29 октября 2013 г.
- ^ «Как я сюда попал, в конце концов, часть пятая: «Всё может быть только лучше!» » . Дневник Чарли . 19 июня 2006 г. Архивировано из оригинала 25 ноября 2013 г. Проверено 19 апреля 2014 г.
- ^ Jump up to: а б с д и Пирс, Дэвид (14 февраля 2024 г.). «Текстовый файл, который управляет Интернетом» . Грань . Проверено 16 марта 2024 г.
- ^ Барри Шварц (30 июня 2014 г.). «Robots.txt отмечает 20-летие блокировки поисковых систем» . Земля поисковых систем . Архивировано из оригинала 7 сентября 2015 г. Проверено 19 ноября 2015 г.
- ^ «Формализация спецификации протокола исключения роботов» . Официальный блог Центра веб-мастеров Google . Архивировано из оригинала 10 июля 2019 г. Проверено 10 июля 2019 г.
- ^ Костер, М.; Иллиес, Г.; Целлер, Х.; Сассман, Л. (сентябрь 2022 г.). Протокол исключения роботов . IETF . дои : 10.17487/RFC9309 . RFC 9309 . Предлагаемый стандарт.
- ^ «Несканированные URL-адреса в результатах поиска» . Ютуб. 5 октября 2009 г. Архивировано из оригинала 6 января 2014 г. Проверено 29 декабря 2013 г.
- ^ «О Ask.com: Веб-мастера» . О сайте Ask.com . Архивировано из оригинала 27 января 2013 года . Проверено 16 февраля 2013 г.
- ^ «О поиске AOL» . Поиск.aol.com . Архивировано из оригинала 13 декабря 2012 года . Проверено 16 февраля 2013 г.
- ^ «Байдуспайдер» . Baidu.com . Архивировано из оригинала 6 августа 2013 года . Проверено 16 февраля 2013 г.
- ^ «Протокол исключения роботов: объединимся для улучшения документации» . Блоги.bing.com . Архивировано из оригинала 18 августа 2014 г. Проверено 16 февраля 2013 г.
- ^ «Бот DuckDuckGo» . DuckDuckGo.com . Архивировано из оригинала 16 февраля 2017 года . Проверено 25 апреля 2017 г.
- ^ Jump up to: а б «Веб-мастера: характеристики файла robots.txt» . Разработчики Google . Архивировано из оригинала 15 января 2013 г. Проверено 16 февраля 2013 г.
- ^ «Отправка вашего веб-сайта в поиск Yahoo!» . Архивировано из оригинала 21 января 2013 г. Проверено 16 февраля 2013 г.
- ^ Jump up to: а б «Использование robots.txt» . Help.yandex.com . Архивировано из оригинала 25 января 2013 г. Проверено 16 февраля 2013 г.
- ^ «ArchiveBot: Плохое поведение» . wiki.archiveteam.org . Команда Архива. Архивировано из оригинала 10 октября 2022 года . Проверено 10 октября 2022 г.
- ^ Джейсон Скотт . «Robots.txt — это предсмертная записка» . Команда Архива. Архивировано из оригинала 18 февраля 2017 г. Проверено 18 февраля 2017 г.
- ^ «Robots.txt, предназначенный для поисковых систем, не подходит для веб-архивов | Блоги Интернет-архивов» . blog.archive.org . 17 апреля 2017 г. Архивировано из оригинала 04 декабря 2018 г. Проверено 1 декабря 2018 г.
- ^ Джонс, Брэд (24 апреля 2017 г.). «Интернет-архив будет игнорировать файлы Robots.txt для обеспечения точности» . Цифровые тенденции . Архивировано из оригинала 16 мая 2017 г. Проверено 8 мая 2017 г.
- ^ Кеблер, Джейсон (29 июля 2024 г.). «Веб-сайты блокируют неправильные программы ИИ (потому что компании, занимающиеся ИИ, продолжают создавать новые)» . 404 Медиа . Проверено 29 июля 2024 г.
- ^ «Блокировка URL-адресов с помощью файла robots.txt: узнайте о файлах robots.txt» . Архивировано из оригинала 14 августа 2015 г. Проверено 10 августа 2015 г.
- ^ «Robots.txt сообщает хакерам места, куда им не следует заглядывать» . Регистр . Архивировано из оригинала 21 августа 2015 г. Проверено 12 августа 2015 г.
- ^ Скарфоне, Калифорния; Янсен, В.; Трейси, М. (июль 2008 г.). «Руководство по общей безопасности сервера» (PDF) . Национальный институт стандартов и технологий . дои : 10.6028/NIST.SP.800-123 . Архивировано (PDF) из оригинала 8 октября 2011 г. Проверено 12 августа 2015 г.
- ^ Сверре Х. Хусеби (2004). Невинный код: сигнал тревоги для веб-программистов . Джон Уайли и сыновья. стр. 91–92. ISBN 9780470857472 . Архивировано из оригинала 1 апреля 2016 г. Проверено 12 августа 2015 г.
- ^ «Список пользовательских агентов (пауков, роботов, браузера)» . Пользовательские агенты.org. Архивировано из оригинала 7 января 2014 г. Проверено 29 декабря 2013 г.
- ^ «Контроль доступа — HTTP-сервер Apache» . httpd.apache.org. Архивировано из оригинала 29 декабря 2013 г. Проверено 29 декабря 2013 г.
- ^ «Запретить строки для правил фильтрации: официальный сайт Microsoft IIS» . Iis.net. 06.11.2013. Архивировано из оригинала 1 января 2014 г. Проверено 29 декабря 2013 г.
- ^ «Google human.txt» . Архивировано из оригинала 24 января 2017 года . Проверено 3 октября 2019 г.
- ^ «Github human.txt» . Гитхаб . Архивировано из оригинала 30 мая 2016 года . Проверено 3 октября 2019 г.
- ^ Ньюман, Лили Хэй (3 июля 2014 г.). «Это пасхальное яйцо Google или доказательство того, что Скайнет на самом деле планирует мировое господство?» . Журнал «Сланец» . Архивировано из оригинала 18 ноября 2018 г. Проверено 3 октября 2019 г.
- ^ "/killer-robots.txt" . 10 января 2018 г. Архивировано из оригинала 10 января 2018 г. Проверено 25 мая 2018 г.
- ^ «Сканировать или не сканировать — это вопрос BingBot» . 3 мая 2012 г. Архивировано из оригинала 3 февраля 2016 г. Проверено 9 февраля 2016 г.
- ^ «Изменение скорости сканирования Googlebot – Cправка Search Console» . support.google.com . Архивировано из оригинала 18 ноября 2018 г. Проверено 22 октября 2018 г.
- ^ «Yahoo! Поиск по блогу — веб-мастера теперь могут выполнять автоматическое обнаружение с помощью файлов Sitemap» . Архивировано из оригинала 5 марта 2009 г. Проверено 23 марта 2009 г.
- ^ «Спецификации файла robots.txt» . Разработчики Google . Архивировано из оригинала 2 ноября 2019 года . Проверено 15 февраля 2020 г.
- ^ Jump up to: а б «Спецификации метатега Robots и HTTP-заголовка X-Robots-Tag – Веб-мастера – Разработчики Google» . Архивировано из оригинала 8 августа 2013 г. Проверено 17 августа 2013 г.
- ^ Костер, М.; Иллиес, Г.; Целлер, Х.; Сассман, Л. (сентябрь 2022 г.). Протокол исключения роботов . IETF . дои : 10.17487/RFC9309 . RFC 9309 . Предлагаемый стандарт. сек. 2.5: Ограничения.
- ^ «Как Google интерпретирует спецификацию robots.txt | Документация» . Разработчики Google . Архивировано из оригинала 17 октября 2022 г. Проверено 17 октября 2022 г.
Дальнейшее чтение
[ редактировать ]- Аллин, Бобби (5 июля 2024 г.). «Веб-краулеры с искусственным интеллектом вышли из-под контроля» . Все учтено . ЭНЕРГЕТИЧЕСКИЙ ЯДЕРНЫЙ РЕАКТОР . Архивировано из оригинала 6 июля 2024 года . Проверено 6 июля 2024 г.