Обсудить проект

Sitemap.xml и robots.txt: что туда класть, а что нет

Sitemap.xml и robots.txt решают разные задачи, и их постоянно путают. Разбираю, что класть в карту сайта, что закрывать в robots.txt и какие ошибки стоят индексации.

Vladislav Krivorutsko16 августа 2026 г.7 мин чтения
Содержание

TL;DR — коротко о главном

  • Robots.txt управляет обходом, а не индексацией: закрытая в нём страница всё равно может попасть в выдачу — без описания и без вашего контроля
  • Sitemap.xml — это не «список всех URL сайта», а список страниц, которые вы считаете достойными индексации: только 200, только canonical, только indexable
  • Самая дорогая ошибка — закрыть в robots.txt страницу, на которой стоит noindex или canonical: Google не прочитает директиву и оставит страницу в индексе
  • Карта сайта не заставляет Google индексировать страницу, она только ускоряет её обнаружение — на новых сайтах и в больших каталогах это ощутимо, на сайте из 30 страниц почти незаметно
  • Проверять оба файла нужно не глазами, а отчётами Search Console: «Страницы» с фильтром по источнику и «Файлы Sitemap» с числом обнаруженных URL

Короткий ответ

Robots.txt управляет обходом: он говорит роботу, какие адреса не нужно скачивать. Sitemap.xml управляет обнаружением: он перечисляет страницы, о существовании которых вы хотите сообщить поисковику. Ни один из этих файлов не управляет индексацией напрямую — за неё отвечают мета-тег noindex, canonical и качество самой страницы.

Из этого следует главное практическое правило: страница, которую нужно убрать из выдачи, не должна быть закрыта в robots.txt. Иначе робот не прочитает noindex и оставит её в индексе — просто без описания.


Что делает robots.txt на самом деле

Robots.txt лежит в корне домена (https://site.ee/robots.txt) и читается роботом до обхода страниц. В нём набор правил вида «этому роботу — не ходить сюда».

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /*?sort=
Disallow: /cart

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

Что здесь важно понимать:

  • Это рекомендация, а не защита. Крупные поисковики её соблюдают, часть парсеров — нет. Закрывать robots.txt приватные данные бессмысленно: сам файл публичный, и вы фактически публикуете список адресов, которые считаете чувствительными.
  • Закрытая страница может остаться в выдаче. Если на неё ведут внешние ссылки, Google знает URL и может показать его без сниппета. В Search Console это состояние «Проиндексировано, несмотря на блокировку в robots.txt».
  • Disallow не удаляет то, что уже проиндексировано. Наоборот: закрыв обход, вы лишаете Google возможности увидеть, что страница изменилась или получила noindex.
  • Порядок правил не иерархический. Работает наиболее специфичное правило, а не первое сверху. Allow может переопределить Disallow для вложенного пути.
  • Блокировка CSS и JS — устаревшая практика. Google рендерит страницы; закрыв стили и скрипты, вы показываете ему сломанную вёрстку.

Отдельная строка — Sitemap: с полным абсолютным адресом карты. Это единственный способ сообщить о карте сайта тем поисковикам, где у вас нет доступа к панели вебмастера.


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

Самое частое заблуждение: карта сайта — это «все URL сайта». Нет. Это список страниц, которые вы считаете достойными индексации. Каждый URL в карте — заявление в адрес поисковика, и заявления должны быть последовательными.

Тип URLВ карте?Почему
Страница отдаёт 200 и открыта для индексацииДаРади этого карта и существует
Страница с редиректом (301/302)НетСтавьте конечный адрес
404 или 410НетПрямой сигнал, что карта не поддерживается
Страница с noindexНетПрямое противоречие сигналов
Неканоническая версия (canonical ведёт на другую)НетВ карте только canonical-адрес
URL с параметрами сортировки и фильтровНетПлодит дубли
Пагинация категорийОбычно нетОбнаруживается по ссылкам
Страницы тегов и архивовЗависитТолько если они реально нужны в выдаче
Языковые версииДаКаждая — своим URL, в связке с hreflang

Технические ограничения формата: до 50 000 URL и до 50 МБ в несжатом виде на один файл. Дальше карта разбивается на несколько и собирается индексным файлом sitemap-индекса. На практике до этих лимитов доходят только каталоги, но разбивать карту по типам страниц — товары, категории, статьи — полезно и раньше: в Search Console вы увидите, какой именно тип страниц индексируется плохо.

Про необязательные теги: lastmod Google учитывает, если ей можно доверять. priority и changefreq он, по заявлениям своих сотрудников, игнорирует — тратить на них время не нужно.


Как эти два файла ломают индексацию: типовые ошибки

За годы работы я вижу один и тот же короткий список.

1. Disallow всего сайта, забытый после разработки. Строка Disallow: / переезжает с тестового сервера на боевой. Симптом: трафик обваливается за пару недель, в Search Console растёт «Заблокировано в файле robots.txt». Проверяется за десять секунд — и это первое, что я открываю, когда сайт «просто перестал показываться».

2. Одновременно Disallow и noindex. Хотели убрать страницу из выдачи — закрыли и в robots.txt, и мета-тегом. Результат обратный задуманному: noindex не прочитан, страница остаётся. Правильный порядок разобран в статье про то, почему страницы не индексируются в Google.

3. Карта сайта, которую никто не обновлял. В ней половина адресов отдаёт 404, а новых страниц нет. Google постепенно перестаёт её перечитывать, и вы теряете самый простой канал сообщения о новых материалах.

4. Карта как способ «загнать в индекс» слабые страницы. Добавление URL в sitemap не делает страницу достойной выдачи. Если Google её видит и не берёт, дело не в обнаружении, а в ценности или дублировании.

5. Относительный адрес в директиве Sitemap. Работает только абсолютный URL с протоколом и доменом.

6. Разные robots.txt на www и без www, на http и https. Формально это разные хосты, и файл читается для каждого свой. После настройки редиректов про это забывают.

7. Карта сайта закрыта в robots.txt. Встречается реже, но встречается — обычно когда карта лежит в закрытой служебной папке.


Что я проверяю на практике

Порядок, который я прохожу на любом сайте перед тем, как трогать содержимое:

  1. Открываю /robots.txt в браузере. Файл должен отдавать 200 и быть коротким. Если он на сотню строк — почти всегда там мусор, накопленный годами.
  2. Ищу глазами Disallow: / и всё, что закрывает целые разделы. Каждое такое правило должно иметь объяснение.
  3. Проверяю несколько важных URL инструментом «Проверка URL» в Search Console: разрешено ли сканирование, что Google считает каноническим адресом.
  4. Открываю отчёт «Файлы Sitemap»: карта прочитана, дата свежая, число обнаруженных URL сопоставимо с реальным числом страниц. Расхождение в разы — повод разбираться.
  5. Смотрю отчёт «Страницы», категории «Заблокировано в файле robots.txt» и «Обнаружена — не проиндексирована». Первая ловит лишние запреты, вторая обычно говорит уже не про файлы, а про качество и структуру.
  6. Сверяю карту с реальностью: краулю сайт и сравниваю список URL из карты со списком страниц, доступных по ссылкам. Расхождение в обе стороны информативно: чего нет в карте — кандидаты в страницы-сироты, чего нет на сайте — мёртвые адреса в карте.

Про границы применимости: на сайте из 20–40 страниц с нормальной внутренней перелинковкой карта сайта почти ничего не решает — Google обнаружит всё по ссылкам за несколько дней. Ощутимой она становится в двух случаях: свежий домен без внешних ссылок и большой каталог, где часть страниц лежит глубоко. Ожидать от неё роста позиций не стоит вообще: это инструмент обнаружения, а не ранжирования.

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


Рабочий минимум для обычного сайта

Схема, от которой я отталкиваюсь на сайте услуг или небольшом магазине:

  1. В robots.txt закрыть только служебные разделы движка, корзину, оформление заказа, личный кабинет и результаты внутреннего поиска.
  2. Не закрывать CSS, JS, изображения и любые страницы, которые должны ранжироваться.
  3. Указать абсолютный адрес карты директивой Sitemap:.
  4. Генерировать sitemap.xml автоматически движком или плагином, а не руками.
  5. Исключить из карты неканонические URL, редиректы, noindex и страницы с параметрами.
  6. Отправить карту в Search Console и вернуться к отчёту через неделю.
  7. Для мусорных URL, уже попавших в индекс, использовать noindex или canonical при открытом обходе — и только после переобхода закрывать их в robots.txt, если это нужно ради краулингового бюджета.

Если на шаге 7 выясняется, что параметрические и фильтрационные URL плодятся сотнями, двумя текстовыми файлами это не лечится: нужны правила формирования адресов на уровне движка, то есть веб-разработка. А когда мусорные адреса уже перетянули на себя показы и конкурируют с нормальными страницами, вы имеете дело с каннибализацией запросов, и разбирать её нужно отдельно — обычно в рамках SEO-продвижения с пересборкой структуры.

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

Чем robots.txt отличается от noindex?
Robots.txt запрещает роботу скачивать страницу, noindex запрещает показывать её в выдаче. Это разные уровни: если страница закрыта в robots.txt, робот до её содержимого не доберётся и мета-тег noindex не увидит, поэтому страница может остаться в индексе с пометкой, что описание недоступно. Чтобы страница гарантированно ушла из выдачи, она должна быть открыта для обхода и отдавать noindex.
Обязательно ли иметь sitemap.xml?
Нет, это не обязательный файл, и сайт без него индексируется. Google заявляет, что карта сайта помогает обнаружить страницы, на которые ведёт мало внутренних ссылок, и полезна на больших или новых сайтах. Для сайта на 20–30 страниц с нормальной перелинковкой выигрыш почти нулевой; для каталога на десятки тысяч URL или свежего домена — заметный.
Что нельзя класть в карту сайта?
Всё, что вы не хотите видеть в выдаче: страницы с редиректами, 404, закрытые noindex, неканонические версии, URL с параметрами сортировки и фильтров, служебные и технические разделы. Карта сайта — это заявление «вот мои главные страницы», и противоречие между ней и остальными сигналами Google трактует не в вашу пользу: он просто перестаёт ей доверять.
Как проверить, что robots.txt не закрывает лишнего?
В Search Console есть отчёт по файлу robots.txt, где видно, какая версия прочитана роботом и когда. Точечно URL проверяется инструментом «Проверка URL»: он покажет, разрешено ли сканирование. Отдельно стоит просмотреть отчёт «Страницы» — категория «Заблокировано в файле robots.txt» не должна содержать страниц, которые вам нужны в выдаче.
Нужно ли закрывать в robots.txt страницы фильтров и сортировки?
Обычно да, но только если они не должны ранжироваться. При этом важно понимать: закрытие в robots.txt не удаляет уже проиндексированные URL. Если они уже в выдаче, порядок обратный — сначала открыть обход и отдать noindex или canonical, дождаться переобхода, и только потом при желании закрывать их в robots.txt для экономии краулингового бюджета.
Как часто нужно обновлять sitemap.xml?
Карта должна обновляться автоматически при публикации и удалении страниц — ручное ведение файла на живом сайте всегда рано или поздно расходится с реальностью. Дату в теге lastmod нужно ставить честно: если она меняется при каждой генерации карты у всех URL сразу, Google перестаёт её учитывать, и вы теряете полезный сигнал.

Выводы

Sitemap.xml и robots.txt — самые дешёвые в настройке файлы на сайте и одновременно те, где ошибка обходится дороже всего: неверная строка Disallow способна вынести из выдачи весь раздел, и никакой контент этого не компенсирует. Правило, к которому я пришёл за годы: robots.txt должен быть коротким и скучным, а sitemap.xml — честным списком страниц, которые вы действительно хотите видеть в выдаче. Если после разбора выясняется, что мусорные URL плодит сам движок, это уже не работа с двумя текстовыми файлами, а вопрос правил индексации — с него я обычно и начинаю технический аудит.

Автор статьи

Владислав Криворучко — основатель ADLAB
Владислав Криворучко

Основатель ADLAB OÜ · SEO и Google Ads

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

  • 20+ лет в поисковом трафике
  • 50+ проектов под ключ
  • Собственные сайты в конкурентных нишах
  • SEO для ru/et/en в одной выдаче
Подробнее обо мне

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