robots.txt и sitemap
| 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 с префиксами путей.
# всем роботам: не ходить в служебные разделы
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">или заголовок HTTPX-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— неформальные и отраслевые соглашения.