Стандарт исключений для роботов (robots.txt) — файл ограничения доступа к содержимому роботам на http-сервере. Файл должен находиться в корне сайта (то есть иметь путь относительно имени сайта /robots.txt).

При наличии нескольких поддоменов файл должен располагаться в корневом каталоге каждого из них. Данный файл дополняет стандарт Sitemaps, который служит прямо противоположной цели: облегчать роботам доступ к содержимому.

Использование файла добровольно. Стандарт был принят консорциумом W3C 30 января 1994 года в списке рассылки robots-request@nexor.co.uk и с тех пор используется большинством известных поисковых машин.

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

Файл robots.txt может использоваться для указания расположения файла и может показать, что именно нужно, в первую очередь, проиндексировать поисковому роботу.

Файл состоит из записей. Записи разделяются одной или более пустых строк (признак конца строки: символы CR, CR+LF, LF). Каждая запись содержит непустые строки следующего вида:

<поле>:<необязательный пробел><значение><необязательный пробел>

где поле — это либо User-agent, либо Disallow.

Сравнение производится методом простого поиска подстроки. Например, запись Disallow: /about запретит доступ как к разделу http://example.com/about/, так и к файлу http://example.com/about.php, а запись Disallow: /about/ — только к разделу http://example.com/about/.

Для проверки синтаксиса и структуры файла robots.txt существует ряд специализированных онлайн-служб.

  • Служба Яндекса (выполняет проверку синтаксиса и разрешения для каждой отдельной страницы) (рус.)
  • Google webmasters tools (позволяет проверить разрешения для каждой отдельной страницы) (рус.)

Примеры

Запрет доступа всех роботов ко всему сайту:

 User-agent: *
 Disallow: /

Запрет доступа определенного робота к каталогу /private/:

 User-agent: googlebot
 Disallow: /private/

Нестандартные директивы

Crawl-delay: устанавливает время, которое робот должен выдерживать между загрузкой страниц. Если робот будет загружать страницы слишком часто, это может создать излишнюю нагрузку на сервер. Впрочем, современные поисковые машины по умолчанию задают достаточную задержку в 1-2 секунды.

 User-agent: *
 Crawl-delay: 10

Allow: имеет действие, обратное директиве Disallow — разрешает доступ к определенной части ресурса. Поддерживается всеми основными поисковиками. В следующем примере разрешается доступ к файлу photo.html, а доступ поисковиков ко всей остальной информации в каталоге /album1/ запрещается.

 Allow: /album1/photo.html
 Disallow: /album1/

Расширенный стандарт

В 1996 году был предложен расширенный стандарт robots.txt, включающий такие директивы как Request-rate и Visit-time. Например:

 User-agent: *
 Disallow: /downloads/
 Request-rate: 1/5         # загружать не более одной страницы за пять секунд
 Visit-time: 0600-0845     # загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.