robots.txt и sitemap

Материал из llmdocs — справочник разработчика
robots.txt и sitemap
robots.txtRobots Exclusion Protocol, RFC 9309 (сентябрь 2022)
Автор robots.txtМартейн Костер (1994)
sitemapпротокол Sitemaps 0.9 (Google, Yahoo, Microsoft; 2006)
Расположениекорень сайта — /robots.txt, обычно /sitemap.xml
Форматобычный текст (robots.txt), XML (sitemap)
Лимиты sitemap50 000 URL и 50 МБ на файл

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

robots.txt

Протокол исключений для роботов предложил Мартейн Костер в 1994 году, когда первые краулеры перегружали серверы. Почти тридцать лет он оставался неформальным соглашением, пока в 2022 году Google не довёл его до стандарта IETF — RFC 9309.[1]

Файл лежит строго по адресу /robots.txt (для каждого хоста и протокола свой) и состоит из групп: строка User-agent указывает робота, за ней идут правила Allow и Disallow с префиксами путей.

# всем роботам: не ходить в служебные разделы
User-agent: *
Disallow: /admin/
Disallow: /search
Allow: /search/help

# отдельная группа для ИИ-краулеров
User-agent: GPTBot
User-agent: Google-Extended
Disallow: /

Sitemap: https://example.ru/sitemap.xml

Правила стандарта:[1]

  • Робот выбирает группу с самым точным совпадением User-agent, иначе — группу *.
  • Среди правил побеждает самое длинное совпадение пути; при равенстве — Allow.
  • Поддерживаются символы * (любая последовательность) и $ (конец URL).
  • Если файла нет (ответ 404) — обходить можно всё; при ошибке сервера (5xx) робот считает сайт закрытым.

Директивы вне стандарта поддерживаются выборочно: Crawl-delay учитывают Bing и Яндекс, но не Google; Clean-param — расширение Яндекса для склейки URL с параметрами.[4]

Чего robots.txt не делает

  • Не скрывает страницу из поиска. Запрещённый URL может попасть в выдачу без описания, если на него ссылаются. Чтобы исключить страницу из индекса, нужен мета-тег <meta name="robots" content="noindex"> или заголовок HTTP X-Robots-Tag — причём страница должна быть доступна для обхода, иначе робот этот тег не увидит.[3]
  • Не защищает данные. Файл публичен и даже подсказывает, где лежит интересное; закрытые разделы защищают аутентификацией.

ИИ-краулеры

С распространением больших языковых моделей robots.txt стал главным способом отказаться от сбора контента для обучения. Компании публикуют имена своих роботов: GPTBot и OAI-SearchBot (OpenAI), ClaudeBot (Anthropic), Google-Extended (токен Google, отделяющий обучение моделей от обычного поиска), CCBot (Common Crawl).[5] Соблюдение остаётся на совести операторов, поэтому сайты дополнительно фильтруют трафик на уровне CDN или обратного прокси.

sitemap

Протокол Sitemaps представила Google в 2005 году, а с 2006-го его совместно поддерживают Google, Yahoo и Microsoft (позже — и Яндекс).[2] Карта сайта — XML-файл со списком URL:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.ru/wiki/tls/</loc>
    <lastmod>2026-11-09</lastmod>
  </url>
  <url>
    <loc>https://example.ru/wiki/http/</loc>
    <lastmod>2026-11-02</lastmod>
  </url>
</urlset>

Один файл вмещает до 50 000 адресов и 50 МБ без сжатия; крупные сайты используют индекс карт (sitemapindex), ссылающийся на несколько файлов. Поле lastmod полезно, только если отражает реальное изменение содержимого; поля changefreq и priority Google игнорирует. Карту сайта указывают в robots.txt директивой Sitemap: и отправляют через панели вебмастера (Google Search Console, Яндекс Вебмастер).

Карта особенно важна для новых сайтов без внешних ссылок, для больших архивов и для страниц, до которых сложно добраться по навигации. Генераторы статических сайтов обычно создают sitemap.xml автоматически при сборке.

Родственные файлы

  • /.well-known/security.txt — контакты для сообщений об уязвимостях (RFC 9116).
  • /llms.txt — предложенный в 2024 году файл с кратким описанием сайта и ссылками на версии страниц в Markdown для языковых моделей; см. llms.txt.[6]
  • humans.txt, ads.txt — неформальные и отраслевые соглашения.

См. также

Источники

  1. RFC 9309 — Robots Exclusion Protocol
  2. sitemaps.org — Sitemaps XML format
  3. Google Search Central — Introduction to robots.txt
  4. Яндекс Вебмастер — Использование robots.txt
  5. Google Search Central — Overview of Google crawlers (Google-Extended)
  6. llms.txt — proposal