Открыть сервис

Robots.txt

Robots.txt — это текстовый файл в формате plain text, размещаемый в корневой директории веб-сайта, который содержит инструкции для автоматизированных программ (веб-роботов, поисковых краулеров) о том, какие разделы или страницы сайта разрешено или запрещено сканировать и индексировать. Файл является частью протокола исключений для роботов (Robots Exclusion Protocol, REP) и не является обязательным стандартом, а представляет собой добровольное соглашение между владельцами сайтов и разработчиками поисковых систем.

История

Протокол исключений для роботов был впервые предложен в 1994 году Мартином Костером (Martin Koster), сотрудником компании Nexor, в ответ на растущую нагрузку на веб-серверы из-за активности первых поисковых роботов. Костер опубликовал черновик стандарта в списке рассылки «www-talk», который был принят сообществом без формальной ратификации. Первоначально файл назывался robots.txt и размещался в корне сайта по адресу http://example.com/robots.txt`.

В 1996 году Костер опубликовал расширенную версию протокола, включающую директиву Crawl-delay для управления частотой запросов. В 2019 году протокол был формализован как интернет-стандарт RFC 9309 (документ «Robots Exclusion Protocol»), опубликованный IETF. Однако большинство поисковых систем продолжают использовать неофициальные расширения, такие как Allow и Sitemap.

Структура и синтаксис

Файл robots.txt состоит из набора записей, каждая из которых начинается с директивы. Основные директивы:

  • User-agent: указывает, к какому роботу применяются последующие правила. Знак * означает всех роботов.
  • Disallow: запрещает доступ к указанному пути. Путь может быть абсолютным (например, /private/) или корневым (/ — запрет на весь сайт).
  • Allow: разрешает доступ к указанному пути, даже если он подпадает под запрет. Не является частью оригинального стандарта, но поддерживается большинством современных роботов.
  • Sitemap: указывает расположение карты сайта (XML-файла). Не является частью REP, но широко используется.
  • Crawl-delay: задаёт минимальный интервал в секундах между запросами робота (поддерживается не всеми поисковыми системами).

Пример базового файла: ``` User-agent: * Disallow: /admin/ Disallow: /tmp/ Allow: /public/

Sitemap: https://example.com/sitemap.xml ```

Правила обрабатываются сверху вниз: для каждого робота применяется первое совпадающее правило. Пустые строки и строки, начинающиеся с #, считаются комментариями.

Классификация роботов

Разные поисковые системы и сервисы используют различные идентификаторы (User-agent). Наиболее распространённые:

User-agentПоисковая система / сервис
GooglebotGoogle
YandexBotЯндекс
BingbotMicrosoft Bing
BaiduspiderBaidu
DuckDuckBotDuckDuckGo
TwitterbotTwitter (X)
SlurpYahoo!

Некоторые роботы могут игнорировать файл robots.txt (например, вредоносные программы или архиваторы, такие как HTTrack). Для них протокол не является обязательным.

Применение

Основные цели использования robots.txt:

  1. Ограничение индексации: запрет на сканирование служебных разделов (админ-панели, временных файлов, страниц с дублирующимся контентом) для экономии краулингового бюджета и предотвращения попадания нежелательных страниц в поисковую выдачу.
  2. Управление нагрузкой: снижение частоты запросов роботов к серверу с помощью Crawl-delay.
  3. Указание карты сайта: помощь поисковым системам в обнаружении всех важных страниц.
  4. Блокировка нежелательных роботов: например, запрет на сканирование для роботов, не относящихся к поисковым системам.

Однако robots.txt не является средством безопасности: файл доступен для чтения всем, и злоумышленник может узнать о существовании скрытых разделов. Для защиты конфиденциальных данных следует использовать аутентификацию (пароль, IP-фильтрацию) или другие методы.

Ограничения и критика

Несмотря на широкое распространение, протокол имеет ряд недостатков:

  • Добровольность: роботы могут игнорировать файл. Например, некоторые вредоносные боты специально обходят запреты.
  • Отсутствие обратной связи: файл не уведомляет владельца сайта о том, что робот его прочитал.
  • Сложность синтаксиса: неправильно составленные правила могут привести к нежелательной индексации или, наоборот, к полной блокировке сайта.
  • Ограниченность: протокол не позволяет задавать правила для отдельных файлов по типу контента (например, только изображения) или по параметрам URL (например, только страницы с определённым GET-параметром).

Критики отмечают, что robots.txt устарел для современных веб-приложений, использующих JavaScript и динамические URL. В таких случаях более эффективными являются мета-теги noindex в HTML или заголовки X-Robots-Tag в HTTP-ответах.

Альтернативы и дополнения

Для более точного управления индексацией применяются:

  • Мета-теги robots: <meta (организация признана экстремистской, деятельность запрещена в РФ) name="robots" content="noindex, nofollow"> — запрет на индексацию и переход по ссылкам на конкретной странице.
  • HTTP-заголовок X-Robots-Tag: аналогичен мета-тегу, но может применяться к не-HTML файлам (PDF, изображения).
  • Карта сайта (sitemap.xml): XML-файл со списком страниц для индексации, часто используется вместе с robots.txt.
  • Файл .htaccess (для Apache): может блокировать доступ к определённым директориям для всех посетителей, включая роботов.

В России и странах СНГ robots.txt активно используется владельцами сайтов для оптимизации взаимодействия с поисковыми системами, особенно с Яндексом и Google. Однако из-за технических ограничений протокола многие веб-мастера предпочитают комбинировать его с другими методами.

Примеры использования

  • Запрет на весь сайт: User-agent: * Disallow: / — используется временно, например, при разработке сайта.
  • Разрешение только одному роботу: User-agent: Googlebot Allow: / Disallow: /tmp/ — другие роботы не получат доступа.
  • Указание нескольких карт сайта: Sitemap: https://example.com/sitemap1.xml Sitemap: https://example.com/sitemap2.xml`

Источники

  • RFC 9309 — Robots Exclusion Protocol (IETF, 2022)
  • Martin Koster, «A Standard for Robot Exclusion» (1994)
  • Документация Google: «Управление сканированием и индексированием» (Google Search Central)
  • Документация Яндекса: «Как настроить robots.txt» (Яндекс.Вебмастер)
  • Статья «Robots.txt: история, синтаксис, ограничения» (Habr, 2019)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →