Robots.txt и sitemap.xml: полное руководство для современного сайта
Robots.txt и sitemap.xml — два файла, без которых не обходится ни один сайт, претендующий на органический трафик. Один говорит поисковому роботу, куда не ходить, второй — куда обязательно заглянуть. Несмотря на простоту синтаксиса, ошибки в этих файлах регулярно ломают индексацию: то закрывают весь сайт от Google, то открывают админку, то указывают на несуществующую карту.
В этой статье — полное руководство по обоим файлам в 2026 году: синтаксис с примерами для разных CMS, типичные ошибки, специфика для AI-краулеров, рекомендации по структуре sitemap для крупных проектов и связка robots.txt + sitemap на практике.
Что такое robots.txt
Robots.txt — текстовый файл в корне сайта, который содержит инструкции для поисковых роботов: какие разделы сайта обходить, какие — игнорировать. Файл должен быть доступен по адресу /robots.txt и возвращать код HTTP 200.
Robots.txt — рекомендация, а не обязательное правило. Корректно настроенные поисковые боты (Googlebot, YandexBot, Bingbot) следуют инструкциям. Вредоносные парсеры и недобросовестные сервисы могут игнорировать robots.txt — поэтому это не инструмент защиты приватных данных, а только инструмент управления краулингом.
Стандарт описан в RFC 9309 (Robots Exclusion Protocol), принятом IETF в 2022 году. До этого robots.txt существовал как неформальная конвенция с разной интерпретацией у разных поисковиков.
Синтаксис robots.txt: ключевые директивы
Базовая структура — блоки, начинающиеся с User-agent, после которых следуют правила для этого бота.
| Директива | Назначение | Пример |
|---|---|---|
| User-agent | Указывает, для какого робота применяются правила | User-agent: Googlebot |
| Disallow | Запрещает обход указанного пути | Disallow: /admin/ |
| Allow | Явно разрешает обход (имеет приоритет над Disallow) | Allow: /admin/public/ |
| Sitemap | Указывает расположение карты сайта | Sitemap: https://example.com/sitemap.xml |
| Crawl-delay | Задержка между запросами робота, в секундах | Crawl-delay: 2 |
| Clean-param | Параметры URL для игнорирования (только Яндекс) | Clean-param: utm_source |
| Host | Главное зеркало сайта (исторически Яндекс) | Host: example.com |
User-agent
Звёздочка означает «все боты»: User-agent: *. Конкретное имя бота — правило применяется только к нему. Имена основных краулеров:
- Googlebot — основной бот Google
- Googlebot-Image — для индексации изображений
- YandexBot — основной бот Яндекс
- YandexImages — Яндекс для картинок
- Bingbot — Bing
- GPTBot — краулер OpenAI для обучения моделей
- ClaudeBot — краулер Anthropic
- PerplexityBot — Perplexity AI
- Google-Extended — Google AI Overviews
Disallow и Allow
Disallow запрещает доступ к указанному пути и всем вложенным URL. Disallow: / закрывает весь сайт. Disallow: /private/ — только раздел private. Allow используется для исключений: запретить всю папку, но разрешить один файл в ней.
Wildcards и спецсимволы
- * — заменяет любую последовательность символов: Disallow: /*?* запретит все URL с GET-параметрами.
- $ — обозначает конец URL: Disallow: /*.pdf$ запретит индексацию PDF-файлов.
Wildcards официально поддерживаются Google и Яндексом, но более старые поисковики могут их не понимать.
Примеры robots.txt для разных CMS
Каждая CMS имеет свои технические разделы, которые типично закрываются от индексации.
WordPress
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /trackback/
Disallow: /feed/
Disallow: /*?replytocom=
Disallow: /*?p=
Sitemap: https://example.com/sitemap.xml
OpenCart
User-agent: *
Disallow: /admin/
Disallow: /catalog/
Disallow: /download/
Disallow: /system/
Disallow: /index.php?route=account/
Disallow: /index.php?route=checkout/
Disallow: /index.php?route=product/search
Disallow: /*?sort=
Disallow: /*?order=
Disallow: /*?limit=
Disallow: /*?filter=
Disallow: /*?manufacturer_id=
Sitemap: https://example.com/sitemap.xml
Bitrix
User-agent: *
Disallow: /bitrix/
Disallow: /upload/
Disallow: /search/
Disallow: /personal/
Disallow: /auth/
Disallow: /*?login=
Disallow: /*?logout=
Disallow: /*?register=
Disallow: /*?BACK_URL=
Disallow: /*?print=
Disallow: /*?action=
Sitemap: https://example.com/sitemap.xml
Tilda
Tilda управляет robots.txt автоматически из админки. Базовый файл закрывает служебные пути Tilda и оставляет публичные страницы открытыми. Ручное редактирование возможно через раздел «Настройки сайта» → «SEO».
Headless CMS / SPA
Для одностраничных приложений и сайтов на Next.js, Nuxt, SvelteKit robots.txt пишется вручную и обычно содержит минимум: запрет API-эндпоинтов, разрешение для всех публичных маршрутов.
Что закрывать и что открывать
Универсальный чеклист для коммерческого сайта:
Закрывать от индексации
- Административные панели и URL входа (/admin, /wp-login.php)
- Корзина, страница оформления заказа, личный кабинет
- Страницы поиска по сайту (?s=, /search)
- UTM-метки и трекинг (?utm_*)
- Страницы сортировки и фильтров с массовыми комбинациями
- Версии для печати (?print=)
- Идентификаторы сессий в URL
- Тестовые поддомены (dev, staging, test)
- Зеркала и архивы документов
Открывать для индексации
- Главная страница
- Категории и подкатегории каталога
- Карточки товаров / услуг
- Статьи блога
- Информационные страницы (О компании, Контакты, Доставка, Оплата)
- Изображения, важные для SEO (товарные фото, инфографика)
Типичные ошибки в robots.txt
- Закрытие всего сайта в продакшене. Disallow: / после переноса с тестового сервера. Классика жанра, ловится через неделю после запуска при просмотре Search Console.
- Закрытие CSS и JS. Современный Google требует доступа к CSS и JavaScript для корректного рендеринга страницы. Закрытие /wp-content/themes или /static без явных причин — ошибка.
- Disallow вместо noindex для удаления из индекса. Disallow запрещает обход, но не удаляет уже проиндексированные страницы. Для удаления нужен noindex или 410.
- Опечатки в путях. /Admin/ (с большой буквы) и /admin/ — два разных пути для большинства серверов.
- Конфликт Allow и Disallow. При сложных правилах разные боты могут интерпретировать конфликты по-разному.
- Размер файла больше 500 КБ. Google игнорирует robots.txt большего размера.
- Указание sitemap по HTTP при HTTPS-сайте. Ссылка должна совпадать с протоколом сайта.
- Отсутствие ссылки на sitemap. Не критичная, но распространённая ошибка.
Что такое sitemap.xml
Sitemap.xml — структурированный список URL сайта в формате XML, который сообщает поисковым системам о страницах, доступных для индексации. В отличие от robots.txt, который только запрещает или разрешает обход, sitemap активно подсказывает роботу, какие страницы стоит посмотреть в первую очередь.
Sitemap не гарантирует индексацию — поисковая система сама решает, какие страницы включить в индекс. Но без sitemap крупный сайт рискует тем, что часть страниц не будет обнаружена через внутренние ссылки и останется вне зоны внимания краулера.
Стандарт sitemap описан на sitemaps.org и поддерживается всеми основными поисковыми системами с 2006 года.
Виды sitemap
Помимо стандартного sitemap с URL-ами страниц, существует несколько специализированных форматов.
| Тип | Назначение | Применение |
|---|---|---|
| Стандартный (urlset) | Список обычных страниц | Универсальный для всех сайтов |
| Image sitemap | Список изображений для индексации | Сайты с большим количеством оригинальных фото |
| Video sitemap | Метаданные видео | Видео-порталы, обучающие платформы |
| News sitemap | Свежие новости (последние 48 часов) | СМИ, аккредитованные в Google News |
| Hreflang sitemap | Мультиязычные версии страниц | Международные сайты |
| Индексный sitemap | Список других sitemap-файлов | Крупные сайты, разбитые на тематические карты |
Структура sitemap: обязательные и опциональные теги
Базовая структура содержит корневой элемент urlset и набор записей url.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page-1/</loc>
<lastmod>2026-03-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
| Тег | Обязательный | Назначение |
|---|---|---|
| loc | Да | Полный URL страницы |
| lastmod | Нет, но рекомендуется | Дата последнего изменения в формате W3C Datetime |
| changefreq | Нет | Частота обновления (always, hourly, daily, weekly, monthly, yearly, never) |
| priority | Нет | Относительный приоритет URL от 0.0 до 1.0 |
Google и Яндекс с 2017–2018 годов фактически игнорируют changefreq и priority — алгоритмы сами определяют, как часто переобходить страницу. Lastmod при этом остаётся важным сигналом, если содержит правдивые данные о реальных изменениях.
Sitemap для крупных сайтов: индексный файл
Лимиты одного sitemap-файла: 50 000 URL и 50 МБ в несжатом виде. Для сайтов, превышающих эти лимиты, используется индексный sitemap, который ссылается на несколько обычных.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2026-03-15</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-categories.xml</loc>
<lastmod>2026-03-10</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2026-03-14</lastmod>
</sitemap>
</sitemapindex>
Разбиение по тематическим зонам (продукты, категории, блог, статичные страницы) удобнее, чем простое деление по номерам файлов: при работе с проблемами индексации видно, какая часть сайта не попадает в индекс.
Как подать sitemap в Google и Яндекс
Прямая подача sitemap-файла в поисковые системы выполняется через панели вебмастеров.
Google Search Console
Раздел Sitemaps → ввести URL sitemap → Submit. Google начинает обработку немедленно. После обработки в разделе видна статистика: сколько URL обнаружено, сколько проиндексировано, какие ошибки найдены.
Яндекс Вебмастер
Раздел Индексирование → Файлы Sitemap → добавить URL. Яндекс показывает статус обработки и список найденных страниц. Можно подавать до 20 sitemap-файлов на сайт.
Через robots.txt
Указание Sitemap: в robots.txt — пассивный способ сообщить о карте сайта. Работает для всех поисковиков, включая нишевые (DuckDuckGo, Bing, Yandex), без необходимости заводить аккаунт в каждой панели.
Через ping (устаревший способ)
Ранее использовался GET-запрос на специальный URL поисковика для уведомления о новой версии sitemap. Google отказался от ping-эндпоинта в 2023 году. Яндекс поддерживает аналогичный механизм через IndexNow.
Robots.txt vs sitemap.xml: как работают вместе
Файлы решают разные задачи и работают в связке.
| Параметр | Robots.txt | Sitemap.xml |
|---|---|---|
| Назначение | Управление обходом | Подсказка о структуре |
| Формат | Текст, директивы | XML, структурированные данные |
| Размер | До 500 КБ | До 50 МБ, до 50 000 URL на файл |
| Действие | Запрещает или разрешает | Подсказывает приоритеты |
| Влияние на индексацию | Прямое (запрещает) | Косвенное (ускоряет обнаружение) |
| Размещение | Только в корне домена | Любой путь, ссылка в robots.txt |
Ключевая ошибка: страницы в sitemap, закрытые в robots.txt
Парадоксальная ситуация: URL включён в sitemap, но запрещён в robots.txt. Поисковая система получает противоречивый сигнал — «индексируй, но не ходи». Search Console и Яндекс Вебмастер помечают такие URL как ошибку.
Ключевая ошибка: страницы с canonical в sitemap
В sitemap должны быть только канонические версии. Если URL имеет rel=«canonical» на другой URL, в карте сайта должен быть канонический URL, а не дубликат.
Robots.txt для AI-краулеров
В 2026 году robots.txt стал инструментом управления не только классическими поисковиками, но и AI-агентами.
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Allow: /
Приведённый пример закрывает сайт для всех известных AI-краулеров, но оставляет открытым для обычной поисковой индексации. Тонкость: Googlebot и Google-Extended — два разных бота. Запрет Google-Extended не влияет на классическую индексацию Google, но исключает контент из AI Overviews.
Список AI-краулеров расширяется быстро. Сайты, серьёзно относящиеся к контролю, обновляют robots.txt раз в 1–2 месяца. Активные списки ботов поддерживаются на GitHub в публичных репозиториях типа darkvisitors.com и AI agent blocklist.
Тестирование и валидация
Перед заливкой robots.txt и sitemap в продакшен — обязательная валидация.
Инструменты для robots.txt
- Google Search Console → инструмент проверки robots.txt (вернулся в обновлённый интерфейс в 2024).
- Яндекс Вебмастер → раздел «Инструменты» → «Анализ robots.txt».
- robotstxt.org/check — внешний валидатор по стандарту.
Инструменты для sitemap.xml
- XML Sitemap Validator (xml-sitemaps.com/validate-xml-sitemap.html) — проверка структуры.
- Google Search Console — статус обработки после подачи.
- Screaming Frog — режим Configuration → Sitemap для сравнения sitemap с реальной структурой сайта.
Автогенерация: плагины и сервисы
Ручное составление sitemap для среднего сайта — пустая трата времени. Используются плагины CMS или внешние генераторы.
- WordPress: Yoast SEO, Rank Math, All in One SEO — встроенная автогенерация.
- OpenCart: модуль Google Sitemap из коробки, расширенные варианты в маркетплейсе.
- Bitrix: штатный модуль SEO с автогенерацией.
- Tilda: автоматическая генерация без настройки.
- Внешние сервисы: xml-sitemaps.com (бесплатно до 500 URL), Screaming Frog (десктоп).
Для сайтов с динамическим контентом sitemap должен обновляться автоматически при добавлении или изменении страниц. Большинство плагинов делают это в фоне.
Часто задаваемые вопросы
Что важнее — robots.txt или sitemap.xml?
Оба важны, но играют разные роли. Robots.txt критичен для контроля над тем, что НЕ индексируется. Sitemap критичен для сайтов от 1 000 страниц, где внутренней перелинковки может быть недостаточно для обнаружения всего контента. Для микро-сайта на 10–20 страниц можно обойтись без обоих, но это не рекомендуется.
Можно ли удалить страницу из индекса через robots.txt?
Нет. Disallow только запрещает обход, но не удаляет уже проиндексированные страницы. Для удаления используется meta noindex (страница должна быть доступна для обхода, чтобы робот увидел директиву), 410 Gone, или ручное удаление через Search Console.
Нужен ли sitemap, если на сайте хорошая внутренняя перелинковка?
Технически — нет. Поисковик найдёт страницы по ссылкам. Но sitemap ускоряет обнаружение, даёт информацию о lastmod, помогает диагностировать проблемы индексации в Search Console. Для любого серьёзного проекта sitemap нужен.
Что делать, если sitemap не обновляется автоматически?
Проверить настройки SEO-плагина в CMS, обновить плагин до актуальной версии. Для самописных сайтов — настроить регенерацию по cron при изменении контента или подключить готовые генераторы через API.
Закрывать ли AI-краулеры в robots.txt?
Решение зависит от бизнес-модели сайта. Контент-сайты с подпиской или платным доступом часто закрывают AI-агентов. Сайты, заинтересованные в максимальной видимости в AI-поиске, наоборот, открывают всё. Промежуточный вариант — открыть для отдельных надёжных ботов и закрыть для остальных.
Где должен лежать sitemap.xml?
Технически — в любом доступном по URL месте. По соглашению — в корне сайта (https://example.com/sitemap.xml). Главное — указать актуальное расположение в robots.txt и подать через Search Console / Вебмастер.
Заключение
Robots.txt и sitemap.xml — простые файлы, но именно они определяют, увидит ли поисковая система ваш сайт корректно. Регулярная проверка обоих после крупных обновлений сайта, валидация перед заливкой в продакшен, обновление списка AI-краулеров — рутина, которая занимает минуты, но избавляет от недельных проблем с индексацией. Сайты, где этими файлами пренебрегают, годами не могут понять, почему органический трафик не растёт несмотря на качественный контент.
