Маркетинг 26 марта 2026 · 10 мин чтения 188 0

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-краулеров — рутина, которая занимает минуты, но избавляет от недельных проблем с индексацией. Сайты, где этими файлами пренебрегают, годами не могут понять, почему органический трафик не растёт несмотря на качественный контент.