Стандарт исключений для роботов

 

Статус этого документа

Этот докумен представляет собой результат соглашения, достигнутого в листе рассылки посвященном поисковым роботам (robots-request@nexor.co.uk – Это список рассылки больше не существует, доступен его архив за 1994–1997 годы.) 30 июня 1994 между большинством производителей поисковых роботов и другими заинтересованными людьми. Он также обсуждался в списке рассылке Technical World Wide Web (www-talk@info.cern.ch). Стандарт основан на рабочей версии документа, публиковавшейся под тем же названием.
Этот документ не является официальным или чьим-либо корпоративным стандартом ( в сокращенном варианте он опубликован в приложении к стандарту HTML 4 на w3c). и не гарантирует того, что все нынешние и будущие поисковые роботы будут использовать его. В соответствии с ним большинство производителей роботов предлагает возможность защитить Веб-серверы от нежелательного посещения их поисковыми роботами.
Последняя версия этого документа расположена по адресу http://www.robotstxt.org/wc/robots.html.

Введение

Роботы (их также иногда называют пауками или поисковиками) – это программы которые автоматически путешествуют по веб-страницам, собирая на каждой из них ссылки и проходя по ним дальше. Подробнее о роботах вы можете узнать в ЧаВо или разделе Роботы Рунета.
В 1993 и 1994 годах выяснилось, что индексирование роботами серверов порой происходит против желания владельцев этих серверов. В частности, иногда работа роботов затрудняет работу с сервером обычных пользователей, иногда одни и те же файлы индексируются несколько раз. В других случаях роботы индексируют не то, что надо, например, очень «глубокие» виртуальные директории, временную информацию или CGI-скрипты. Этот стандарт призван решить подобные проблемы.

Назначение

Для того, чтобы исключить посещение сервера или его частей роботом необходимо создать на сервере файл, содержащий информацию для управления поведением поискового робота. Этот файл должен быть доступен по протоколу HTTP по локальному URL /robots.txt. Содержание этого файла см. ниже.
Такое решение было принято для того, чтобы поисковый робот мог найти правила, описывающие требуемые от него действия, всего лишь простым запросом одного файла. Кроме того файл /robots.txt легко создать на любом из существующих Веб-серверов.
Выбор именно такого URL мотивирован несколькими критериями:

  • Имя файла должно было быть одинаковым для любой операционной системы
  • Расширение для этого файля не должно было требовать какой-либо переконфигурации сервера
  • Имя файла должно было быть легко запоминающимся и отражать его назначение
  • Вероятность совпадения с существующими файлами должна была быть минимальной

Формат

Формат и семантика файла /robots.txt следующие:
Файл должен содержать одну или несколько записей (records), разделенных одной или несколькими пустыми строками (оканчивающимися CR, CR/NL или NL). Каждая запись должна содержать строки (lines) в форме:

<field>:<optional_space><value><optional_space>

Поле <field> является регистронезависимым.
Комментарии могут быть включены в файл в обычной для UNIX форме: символ # означает начало комментария, конец строки – конец комментария.
Запись должна начинаться с одной или нескольких строк User-Agent, следом должна быть одна или несколько строк Disallow, формат которых приведен ниже. Нераспознанные строки игнорируются.

User-Agent

  • значением <value> этого поля должно являться имя поискового робота, которому в этой записи устанавливаются права доступа.
  • если в записи указано более одного имени робота, то права доступа распространяются для всех указанных имен.
  • заглавные или строчные символы роли не играют
  • если в качестве значения этого поля указан символ «*», то заданные в этой записи права доступа распространяются на любых поисковых роботов, запросивших файл /robots.txt

Disallow

  • значением <value> этого поля должен являться частичный URL, который не должен индексироваться. Это может быть полный путь или частичный; любой URL, начинающийся с такого пути не должен индексироваться. Например, Disallow: /help закрывает и /help.html, и /help/index.html, тогда как Disallow: /help/- только /help/index.html.
  • если значение Disallow не указано, то это означает, что индексируется все дерево каталогов сервера

Любая запись (record) должна состоять хотя бы из одной строки (line) User-Agent и одной – Disallow
Если файл /robots.txt пуст, или не отвечает заданному формату и семантике, или его не существует, любой поисковый робот будет работать по своему алгоритму.

Примеры

Пример 1:

# robots.txt for http://www.site.com
User-Agent: *
Disallow: /cyberworld/map/ # this is an infinite virtual URL space
Disallow: /tmp/ # these will soon disappear

В примере 1 закрывается от индексации содержимое директорий /cyberworld/map/ и /tmp/.
Пример 2:

# robots.txt for http://www.site.com
User-Agent: *
Disallow: /cyberworld/map/ # this is an infinite virtual URL space
# Cybermapper knows where to go
User-Agent: cybermapper
Disallow:

В примере 2 закрывается от индексации содержимое директории /cyberworld/map/, однако поисковому роботу cybermapper все разрешено.
Пример 3:

# robots.txt for http://www.site.com
User-Agent: *
Disallow: /

В примере 3 любому поисковому роботу запрещается индексировать сервер.

Примечания переводчика

В настоящее время стандарт несколько изменился, например, можно записывать в строке User-Agent несколько имен роботов, разделенных пробелами или табуляторами.

Адреса авторов

Martijn Koster, m.koster@webcrawler.com
Перевод: Андрей Аликберов, info@citmgu.ru (перевод опубликован с разрешения www.citforum.ru)