# robots.txt и sitemap

> Два служебных файла сайта для поисковых роботов — robots.txt задаёт правила обхода, sitemap.xml перечисляет страницы для индексации.

Источник: https://llmdocs.ru/wiki/robots-sitemap/ · обновлено 2026-11-09 · лицензия CC BY-SA 4.0

- **robots.txt**: Robots Exclusion Protocol, RFC 9309 (сентябрь 2022)
- **Автор robots.txt**: Мартейн Костер (1994)
- **sitemap**: протокол Sitemaps 0.9 (Google, Yahoo, Microsoft; 2006)
- **Расположение**: корень сайта — /robots.txt, обычно /sitemap.xml
- **Формат**: обычный текст (robots.txt), XML (sitemap)
- **Лимиты sitemap**: 50 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` с префиксами путей.

```text
# всем роботам: не ходить в служебные разделы
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](https://llmdocs.ru/wiki/http.md) `X-Robots-Tag` — причём страница должна быть доступна для обхода, иначе робот этот тег не увидит.[3]
- **Не защищает данные.** Файл публичен и даже подсказывает, где лежит интересное; закрытые разделы защищают [аутентификацией](https://llmdocs.ru/wiki/authn-authz.md).

### ИИ-краулеры

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

## sitemap

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

```xml
<?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, Яндекс Вебмастер).

Карта особенно важна для новых сайтов без внешних ссылок, для больших архивов и для страниц, до которых сложно добраться по навигации. [Генераторы статических сайтов](https://llmdocs.ru/wiki/static-site-generators.md) обычно создают `sitemap.xml` автоматически при сборке.

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

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

## См. также

- [llms.txt](https://llmdocs.ru/wiki/llms-txt.md)
- [Статический сайт и генераторы (SSG)](https://llmdocs.ru/wiki/static-site-generators.md)
- [HTTP](https://llmdocs.ru/wiki/http.md)
- [Документация для ИИ: как подготовить](https://llmdocs.ru/wiki/docs-for-ai.md)

## Источники

1. [RFC 9309 — Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309)
2. [sitemaps.org — Sitemaps XML format](https://www.sitemaps.org/protocol.html)
3. [Google Search Central — Introduction to robots.txt](https://developers.google.com/search/docs/crawling-indexing/robots/intro)
4. [Яндекс Вебмастер — Использование robots.txt](https://yandex.ru/support/webmaster/controlling-robot/robots-txt.html)
5. [Google Search Central — Overview of Google crawlers (Google-Extended)](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)
6. [llms.txt — proposal](https://llmstxt.org/)
