ГлавнаяБлогТехническое SEO

robots.txt и sitemap.xml: что это и как настроить

7 июня 2026обновлено 17 августа 202617 мин чтенияТехническое SEO

Robots.txt и sitemap.xml — два первых файла, которые проверяет поисковый робот, заходя на сайт. Криво настроенный robots может закрыть весь сайт от индексации. Без sitemap робот дольше находит страницы — особенно на большом сайте или при слабой перелинковке. Разберу с нуля: что это, как настроить, какие ошибки убивают позиции.

Кратко: что внутри

robots.txt — инструкция для поискового робота: куда можно ходить, а куда нет. sitemap.xml — карта сайта со списком всех важных страниц для быстрой индексации. Оба файла лежат в корне сайта, проверяются по адресам site.ru/robots.txt и site.ru/sitemap.xml. Без них SEO не работает. Шаблоны и инструкции — в этой статье.

Что такое robots.txt

robots.txt — это текстовый файл с инструкциями для поисковых роботов. Лежит в корне сайта, доступен по адресу https://site.ru/robots.txt.

Когда поисковый робот Яндекса или Google заходит на сайт, первое, что он делает — открывает robots.txt и читает, куда можно ходить, а куда нет. Если файла нет — робот считает, что можно везде. Если файл есть, но с ошибкой — может случайно закрыть весь сайт.

Robots.txt — это рекомендация, не запрет на 100%. «Хорошие» роботы (Яндекс, Google, Bing) её соблюдают. «Плохие» (парсеры, спам-боты) — игнорируют. Поэтому robots.txt не используют для защиты приватных данных — он только для управления индексацией.

Базовая логика проста: пишете директивы, что можно («Allow») и что нельзя («Disallow») для конкретных разделов сайта.

Как написать robots.txt — рабочие шаблоны

Минимальный рабочий robots.txt для большинства сайтов:

User-agent: *
Disallow: /admin
Disallow: /cart
Disallow: /search
Disallow: /*?utm_
Allow: /

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

Что здесь:

  • User-agent: * — правила для всех роботов;
  • Disallow: /admin — закрываем админку;
  • Disallow: /cart — корзину (нечего индексировать);
  • Disallow: /search — внутренний поиск сайта;
  • Disallow: /*?utm_ — страницы с UTM-метками (дубли);
  • Allow: / — всё остальное можно индексировать;
  • Sitemap: — ссылка на карту сайта.

Для интернет-магазина добавь закрытие фасетной навигации с мусорными параметрами:

Disallow: /*sort=
Disallow: /*order=
Disallow: /*filter=

Пиши параметр без ? и & в начале (/*filter=, не /*?filter=): тогда правило ловит параметр на любой позиции в URL — и когда он первый (?filter=), и когда идёт после других (&filter=).

Для блога закрой служебные страницы:

Disallow: /author/
Disallow: /tag/
Disallow: /feed/

Раздельные правила для Яндекса и Google (если нужны):

User-agent: Yandex
Disallow: /admin
Crawl-delay: 2

User-agent: Googlebot
Disallow: /admin

Crawl-delay: 2 — пауза между запросами в секундах. Полезно, если сервер слабый. Google эту директиву игнорирует, Яндекс — соблюдает.

Рабочий каркас robots.txt — закрываем мусор, открываем нужное:
User-agent: *
Disallow: /admin/        # служебное
Disallow: /cart/         # корзина
Disallow: /*sort=        # сортировки-дубли на любой позиции
Disallow: /search/       # внутренний поиск

Sitemap: https://site.ru/sitemap.xml
Закрывай служебное и дубли с параметрами, но не полезные страницы. Внизу обязательно — путь к актуальному sitemap.xml.

Clean-param, Host и robots для CMS

Две директивы, о которых часто забывают. Clean-param велит Яндексу игнорировать GET-параметры (UTM-метки, сортировки, session id), чтобы один товар не плодил десятки дублей: Clean-param: utm_source&utm_medium /catalog/. Host раньше указывал главное зеркало — сейчас устарел, зеркала задаются 301-редиректом, и из robots его можно убрать.

У конструкторов и CMS свои нюансы. На Тильде robots правится в «Настройках сайта», в WordPress (вордпресс) файл отдаёт SEO-плагин Yoast или Rank Math, на Битрикс — модуль «Поиск». Google и Яндекс читают один и тот же файл, но Clean-param понимает только Яндекс; у гугла для параметров свои правила. Рядом появился llms.txt — отдельный файл-подсказка для AI-ботов, в robots.txt его не кладут, но ссылаются на него всё чаще.

Какие директивы понимают Яндекс и Google

Половина проблем с robots.txt растёт из статей десятилетней давности: там встречаются директивы, которые уже никто не учитывает. Актуальная картина на 2026 год.

ДирективаЯндексGoogleЧто делает и когда нужна
User-agentпонимаетпонимаетк какому роботу относится блок правил
Disallowпонимаетпонимаетзакрывает обход адреса или раздела
Allowпонимаетпонимаетисключение внутри закрытого раздела
Sitemapпонимаетпонимаетадрес карты сайта, не привязан к User-agent
Clean-paramпонимаетигнорируетсклеивает адреса с незначащими параметрами — только для Яндекса
Crawl-delayигнорируетигнорируетустарела: скорость обхода задаётся в Вебмастере и Search Console
Hostигнорируетигнорируетустарела: главное зеркало задаётся редиректом
Noindex в robots.txtигнорируетигнорируетникогда не работала как метатег, страницу так не убрать
Маски * и $понимаетпонимаетшаблоны адресов: любая подстрока и конец строки
Живые директивы и мёртвые. Clean-param — единственная существенная разница между поисковиками: для Google те же параметры закрывают через canonical.
Про Clean-param. Директива говорит Яндексу, что адреса, отличающиеся только этим параметром, — одна и та же страница. Пишется как Clean-param: utm_source&utm_medium /. Для Google тот же результат даёт canonical, поэтому в норме используют оба инструмента сразу.

Требования к файлам: размеры и формат

Ограничения редко всплывают на маленьком сайте и стабильно ломают крупные каталоги.

ЧтоОграничениеЧто происходит при нарушении
robots.txt, расположениестрого в корне, имя строчными буквамифайл в подпапке робот не ищет вообще
robots.txt, размерGoogle читает первые 500 КиБправила из хвоста файла не применяются
robots.txt, кодировкаUTF-8, обычный текстфайл в другой кодировке разбирается с ошибками
sitemap.xml, адресовдо 50 000 в одном файлелишние адреса не обрабатываются
sitemap.xml, размердо 50 МБ в несжатом видефайл отклоняется целиком
Индекс картдо 50 000 вложенных карткарты сверх лимита игнорируются
Адреса внутри картыабсолютные и с того же доменачужие адреса отбрасываются
Лимиты одинаковые у обоих поисковиков. Большие каталоги режут карту на части и связывают индексом — заодно проще искать, где именно ошибка.

Сжатие в .gz поддерживают оба поисковика, лимит в 50 МБ считается по несжатому файлу. Собрать и проверить карту можно генератором sitemap и разбором карты, а правила — генератором robots.txt.

Disallow не убирает страницу из выдачи

Самое дорогое заблуждение в теме. Disallow запрещает обход; показ он не запрещает. Если на закрытую страницу ведут ссылки, поиск может показать её в выдаче — без описания, с пометкой вроде «нет данных о странице». Содержимое робот при этом не видит, поэтому и переписать сниппет не выйдет.

ЗадачаЧто использоватьПочему так
Убрать страницу из выдачиметатег noindex на самой страницеробот должен зайти и прочитать запрет — значит, адрес нельзя закрывать в robots.txt
Убрать срочноудаление адреса в Вебмастере или Search Consoleработает быстрее, но временно: без noindex страница вернётся
Не тратить обход на мусорDisallow в robots.txtфильтры, корзина, внутренний поиск, служебные разделы
Склеить дублиcanonical и Clean-paramстраница остаётся доступной, вес переходит на основную
Четыре разные задачи и четыре разных инструмента. Ошибка «закрою в robots, чтобы выпало из индекса» даёт обратный эффект: страница остаётся в выдаче, но уже без нормального сниппета.
Как это выглядит на практике. Страницу закрыли в robots.txt, она висит в выдаче пустой строчкой, владелец закрывает её ещё и метатегом noindex — и ничего не меняется. Робот не может прочитать noindex, потому что вход ему запрещён тем же robots.txt. Порядок обратный: сначала открыть обход, дождаться переобхода с noindex, и только потом при желании закрывать.

Топ-7 ошибок в robots.txt

  1. 1

    Disallow: / без условий

    Disallow: /

    Закрывает весь сайт от индексации. Самая частая ошибка после тестового сервера или переноса — проверяй robots.txt сразу после релиза.

  2. 2

    Закрытие CSS и JS

    Disallow: /css/Disallow: /js/

    Поисковики читают эти файлы, чтобы понять, как выглядит страница; без них сайт ранжируется хуже. Что ресурсы не закрыты по ошибке, проверяют через валидатор микроразметки или анализ кода страницы.

  3. 3

    Закрытие важных разделов

    Disallow: /catalog/

    И весь каталог выпадает из индекса. Перепроверь каждую строку Disallow — что именно закрываешь.

  4. 4

    Пробелы перед директивами

    ·Disallow:Disallow:

    С пробелом в начале строки директива не срабатывает. Пишите с первого символа, без отступа.

  5. 5

    Скрытие секретов через robots.txt

    Disallow: /admin/

    Файл публичный — его видят все, включая злоумышленников. Пути к админке и тестовым серверам туда не пишут: это готовая подсказка, куда стучаться. Закрывай их авторизацией.

  6. 6

    Нет ссылки на sitemap

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

    Без неё робот не знает, где карта сайта. Всегда добавляй строку Sitemap: в конце файла.

  7. 7

    Кириллица в URL без кодировки

    Disallow: /категорияDisallow: /kategoriya

    Кириллица в путях работает не везде. Используй URL-encoded формат или сразу транслит — например, через генератор транслита и ЧПУ-адресов.

Закрывать эту страницу от индексации?
robots.txt не для всего: дубли — это canonical, не Disallow.

Что такое sitemap.xml

sitemap.xml — это карта сайта в формате XML, в которой перечислены все важные страницы. Лежит в корне сайта (https://site.ru/sitemap.xml) или указывается в robots.txt.

Зачем нужен sitemap, если робот и так может ходить по ссылкам:

  • Ускоряет индексацию. Робот видит весь список страниц сразу — не нужно ходить по ссылкам, чтобы их найти. Особенно важно для новых сайтов и больших каталогов.
  • Помогает найти страницы без внутренних ссылок. Если на страницу никто не ссылается, робот её не найдёт. Sitemap решает.
  • Передаёт метаданные. Ориентируйтесь на спецификацию schema.org для правильной структуры метаданных в XML. Можно указать дату последнего изменения, приоритет, частоту обновлений.

Без sitemap сайт тоже будет индексироваться, но медленнее. Подробнее про ускорение индексации — в отдельной статье.

Как создать sitemap.xml

Три способа в зависимости от размера сайта.

1. Через CMS — большинство сайтов. WordPress, Bitrix, Tilda, OpenCart, Shopify умеют генерировать sitemap автоматически. В WordPress есть плагины Yoast SEO, RankMath. В Tilda — настройка в кабинете. Проверь — обычно sitemap уже есть.

2. Через онлайн-сервисы — для статических и небольших сайтов. XML-Sitemaps.com (бесплатно до 500 URL), Screaming Frog (бесплатно до 500 URL). Генерируете один раз, загружаете в корень сайта, обновляете по необходимости.

3. Скриптом — для больших сайтов. Если на сайте 50 000+ страниц, нужен скрипт, который автоматически обновляет sitemap при добавлении новых страниц. Программисты пишут это за пару часов.

Минимальный sitemap.xml выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://site.ru/</loc>
    <lastmod>2026-06-07</lastmod>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://site.ru/uslugi/</loc>
    <lastmod>2026-06-07</lastmod>
    <priority>0.9</priority>
  </url>
</urlset>

После создания файла обязательно подай его в Яндекс.Вебмастер (раздел «Индексирование → Файлы Sitemap») и Google Search Console.

Как прописать Sitemap в robots.txt

Чтобы поисковик быстрее нашёл карту сайта, ссылку на неё добавляют прямо в robots.txt отдельной директивой Sitemap. Это связывает два файла: робот открывает robots.txt и сразу видит, где лежит sitemap.xml. Синтаксис — одна строка с полным адресом карты:

Sitemap: https://site.ru/sitemap.xml
Схема: директива Sitemap в robots.txt указывает на индекс карт, индекс — на вложенные карты
Строка Sitemap в robots.txt — единственное место, где два файла встречаются. Дальше индекс карт подтягивает вложенные, а те перечисляют страницы.

Правила директивы Sitemap:

  • Только абсолютный URL — со схемой https:// и доменом. Относительный путь /sitemap.xml не сработает.
  • Место — любое. Директива Sitemap не привязана к User-agent, обычно её ставят в конце файла.
  • Можно несколько. Если карт несколько (например, обычная и для видео), добавляют по строке Sitemap на каждую.
  • Читают и Яндекс, и Google — обе системы понимают директиву одинаково.
Три ошибки, из-за которых строка не работает. Относительный путь Sitemap: /sitemap.xml — робот его не поймёт, нужен полный адрес. Адрес с http:// после переезда на https — карта считается чужой. И самая обидная: карта закрыта правилом Disallow в этом же файле, поэтому робот видит ссылку и не может её открыть.
После переезда на новый домен или на https строку Sitemap правят вручную: CMS обычно оставляет старый адрес, и карта месяцами висит недоступной. Заодно проверь, что сама карта отдаёт код 200 и открывается по прямой ссылке в браузере.

Пример готового robots.txt, где sitemap прописан в конце:

User-agent: *
Allow: /
Disallow: /admin/

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

Когда директиву добавил, проверь её в Яндекс.Вебмастере — он покажет, видит ли робот карту. Директива в robots.txt не отменяет ручную подачу карты в Вебмастер и Search Console: делай и то, и другое, чтобы sitemap точно нашли и переобошли. Как ускорить сам обход — в разборе про ускорение индексации.

# минимальный рабочий файл User-agent: * Allow: / Disallow: /admin/ Disallow: /*?sort= Disallow: /*?utm_ Sitemap: https://example.com/sitemap.xml # несколько карт — по строке на каждую Sitemap: https://example.com/sitemap-pages.xml Sitemap: https://example.com/sitemap-blog.xml Sitemap: https://example.com/sitemap-images.xml
Подставь свой домен и проверь, что каждая карта открывается по прямой ссылке

Что должно быть в sitemap, а чего быть не должно

Должно быть:

  • Все коммерческие посадочные страницы;
  • Все статьи блога;
  • Карточки товаров (для интернет-магазинов);
  • Категории и подкатегории;
  • Главная страница;
  • Страницы услуг.

Чего быть не должно:

  • Страницы, закрытые в robots.txt — иначе сигналы получаются противоречивые;
  • Страницы с canonical на другие URL — это дубли по сути;
  • Страницы с noindex — зачем подавать в sitemap то, что не должно индексироваться;
  • Битые ссылки (404);
  • Страницы пагинации (page=2, page=3, etc) — индексируется первая, остальные через canonical;
  • Внутренний поиск, корзина, фильтры с UTM-метками.

Если страниц очень много: Sitemap.xml ограничен 50 000 URL и 50 МБ. Для большего размера — несколько sitemap-файлов и общий sitemap-index, который их связывает. Это рутинная задача — все CMS делают автоматически.

robots.txtsitemap.xml
Что этоТекстовый файл с правилами обходаXML-файл со списком адресов сайта
Что говорит роботуКуда ходить не нужноКакие страницы существуют и когда менялись
Где лежитСтрого в корне: /robots.txtЛюбой адрес, чаще /sitemap.xml
Основные директивыUser-agent, Disallow, Allow, Sitemap, Clean-paramloc, lastmod, priority
Убирает из индексаНет — закрывает только обходНет — робот воспринимает список как подсказку
Что будет, если файла нетРобот обойдёт всё подряд, включая служебноеРобот найдёт страницы сам, но медленнее и не все
Частая ошибкаDisallow: / на боевом сайте и закрытые CSS с JSВнутри лежат редиректы, 404 и закрытые от индексации адреса
Связь между собойСсылается на карту строкой Sitemap:Адрес карты должен быть открыт в robots.txt

Файлы решают разные задачи и не заменяют друг друга: первый ограничивает обход, второй его направляет. Ни один из них не убирает страницу из выдачи — для этого нужен noindex.

Как проверить, что robots.txt и sitemap работают

Чек-лист после настройки:

Инструмент «Анализ robots.txt» в Яндекс Вебмастере с вердиктом по адресам
Анализ robots.txt отвечает на один вопрос: пустит робот на этот адрес или нет. Проверяют страницы, которые жалко потерять, и заодно CSS со скриптами.
Раздел «Файлы Sitemap» в Яндекс Вебмастере со статусами обработки
Список поданных карт со статусом и числом адресов. Красная строка — карта с прошлой CMS, которая давно отдаёт 404 и портит отчёт.
Отчёт «Файлы Sitemap» в Google Search Console
То же самое в Search Console. «Найдено URL» — это адреса, прочитанные из файла; сколько из них попадёт в индекс, решает поиск.
  1. Открой файлы в браузере: site.ru/robots.txt и site.ru/sitemap.xml. Оба должны открываться, отвечать кодом 200, показывать содержимое.
  2. Проверь robots.txt в Я.Вебмастере. Раздел «Инструменты → Анализ robots.txt». Введи адрес страницы — Вебмастер скажет, может робот по нему ходить или нет. Подробнее о Вебмастере — в отдельной статье.
  3. Подай sitemap в Вебмастер. Раздел «Индексирование → Файлы Sitemap → Добавить файл Sitemap». Вставь полный адрес. Через 1–2 дня появится статистика обработки.
  4. Подай sitemap в Google Search Console. Оба сервиса покажут подробную статистику по индексации и проблемам — Search Console для Google. Раздел «Индексирование → Файлы Sitemap».
  5. Прогони сайт через Screaming Frog или аналог. Обойди сайт краулером и посмотри, какие страницы доступны роботу. Если важные страницы помечены как «Disallowed» — что-то закрыто.

Если что-то сломано или robots закрывает важные страницы — заметишь за 1–2 недели по падению трафика. Лучше один раз настроить правильно, чем потом долго восстанавливаться.

Главное

Если коротко

robots.txt — это инструкции роботу: куда можно, куда нельзя. Лежит в корне сайта. Минимум: User-agent: *, Disallow закрытых разделов, Allow: /, ссылка на sitemap.

sitemap.xml — карта всех важных страниц для быстрой индексации. Лежит в корне сайта. Большинство CMS генерируют автоматически. Обязательно подавай в Я.Вебмастер и Search Console.

Топ-3 ошибки: Disallow: / без условий (закрывает весь сайт), закрытие CSS/JS, отсутствие ссылки на sitemap в robots.txt. Если нет уверенности, что всё настроено — закажи SEO-аудит.

Дублированный контент: как найти и убрать
виды дублей, где искать и что выбрать для склейки

Частые вопросы

Что такое файл robots.txt простыми словами?

Это текстовый файл в корне сайта, в котором владелец указывает поисковым роботам, какие разделы сайта можно индексировать, а какие нет. Открывается по адресу site.ru/robots.txt. Без файла робот считает, что можно индексировать всё. С криво настроенным файлом можно случайно закрыть весь сайт.

Зачем нужен sitemap.xml?

Это карта сайта со списком всех важных страниц. Помогает поисковому роботу быстро найти все страницы, особенно если они не связаны между собой ссылками или сайт большой. Без sitemap робот находит новые страницы медленнее — особенно на большом сайте или при слабой перелинковке. Лежит в корне сайта (site.ru/sitemap.xml) и подаётся в Яндекс.Вебмастер и Google Search Console.

Можно ли сделать robots.txt и sitemap самому?

robots.txt — да, это простой текстовый файл. Создаёте в блокноте по шаблону из этой статьи, загружаете в корень сайта. Sitemap.xml для маленького сайта тоже создаётся вручную или через бесплатные сервисы вроде XML-Sitemaps. Для больших сайтов и интернет-магазинов лучше использовать CMS-плагины, которые обновляют sitemap автоматически.

Где должны лежать robots.txt и sitemap.xml?

Оба файла лежат в корне сайта. Robots.txt доступен по адресу site.ru/robots.txt (это стандарт, путь нельзя менять). Sitemap.xml можно класть в любое место, но традиционно — в корне (site.ru/sitemap.xml). Главное — указать путь к sitemap в robots.txt директивой Sitemap: https://...

Что закрывать в robots.txt?

Стандартный набор: админку (/admin), корзину (/cart), внутренний поиск (/search), страницы фильтров с UTM-метками, страницы пагинации (если не используете canonical). Для интернет-магазинов — мусорные комбинации фасетной навигации. Для блога — теги, авторы, RSS-фиды. Не закрывай CSS/JS — поисковики используют их для анализа страницы.

Как проверить, правильно ли настроен robots.txt?

Самый надёжный способ — раздел «Инструменты → Анализ robots.txt» в Яндекс.Вебмастере. Вводи адрес любой страницы, и Вебмастер скажет, может робот по нему ходить или нет. Заодно проверь, что важные страницы (главная, услуги, статьи) НЕ помечены как «Disallowed». Через Screaming Frog можно сделать crawl и увидеть все заблокированные URL.

Как прописать sitemap в robots.txt?

Одной строкой с полным адресом карты: Sitemap: https://site.ru/sitemap.xml. Директива не привязана к User-agent, поэтому ставится в любом месте файла, обычно в конце. Относительный путь /sitemap.xml не работает, адрес нужен со схемой и доменом. Если карт несколько, добавляют строку на каждую либо одну строку на индекс карт. После правки проверь, что сама карта открывается по прямой ссылке и не закрыта правилом Disallow в этом же файле.

Нужно ли добавлять sitemap в robots.txt, если карта уже подана в Вебмастере?

Да, стоит сделать и то, и другое. Строка в robots.txt — способ, которым карту находит любой робот, включая тех, у кого нет твоей панели. Подача в Яндекс Вебмастер и Google Search Console даёт отчёт об обработке: сколько адресов прочитано и какие в файле ошибки. Одно другое не заменяет.

Почему страница закрыта в robots.txt, но показывается в поиске?

Потому что Disallow запрещает обход, а показ — нет. Если на закрытую страницу ведут ссылки, поиск может показать её в выдаче без описания. Чтобы страница ушла из результатов, нужен метатег noindex на самой странице, а адрес при этом должен быть открыт для обхода: иначе робот просто не прочитает запрет.

Под рукой: генератор robots.txt, генератор sitemap.xml и анализ карты сайта — собрать и проверить файлы за минуту.

Скриншот инструмента для robots.txt на pawetta.com
Живой скриншот нашего инструмента для robots.txt: собрать правила и увидеть, что реально закрыто от индексации.

Читать дальше

Все статьи

Спросите нейросети по этой статье

Отвечает DeepSeek
Сервисы, о которых здесь речь

Что это за инструменты, кому подходят, что доступно без оплаты и чем их заменить.

Разделы каталога: Реклама и её автоматизация, Конструкторы сайтов и CMS.