SEO-оптимизация4 мин чтения

Sitemap xml и robots txt: как согласовать два файла

Sitemap xml и robots txt лежат в корне сайта и адресованы одному читателю — поисковому роботу, но говорят ему почти противоположное. Один файл просит не заходить, другой — заглянуть. Пока они согласованы, робот тратит время на нужные страницы. Когда файлы спорят, индексация становится непредсказуемой, а причину приходится искать неделями.

Как sitemap xml и robots txt работают вместе

Robots.txt — обычный текстовый файл с правилами обхода. В нём перечислены пути, которые роботу не нужно посещать: админка, корзина, внутренний поиск, адреса с параметрами сортировки. Смысл в том, чтобы робот не расходовал время на служебные страницы и быстрее добирался до важных.

Sitemap.xml работает наоборот: это список адресов, которые вы хотите видеть в поиске. Он особенно полезен новому сайту, у которого мало внешних ссылок, и большому каталогу, где часть страниц спрятана глубоко в структуре.

Важная оговорка: robots.txt не удаляет страницу из выдачи. Закрытый адрес может остаться в поиске, если на него ведут ссылки. Для исключения из индекса нужен мета-тег noindex. А sitemap — это подсказка, а не приказ: робот учтёт её, но решение об индексации примет сам.

Что закрыть, а что отдать в карту

Возьмём интернет-магазин бытовой техники в Ташкенте. Корзину, оформление заказа, личный кабинет, внутренний поиск и адреса с сортировкой логично закрыть в robots.txt. В карту, напротив, должны попасть только полезные для посетителя страницы:

  • главная страница
  • категории и подкатегории
  • карточки товаров, которые есть в продаже
  • страницы брендов
  • статьи блога и обзоры
  • страницы с контактами и условиями доставки

Как подключить карту через robots.txt

В robots.txt карту указывают отдельной строкой: Sitemap: https://example.uz/sitemap.xml. Адрес пишется полностью, вместе с протоколом и доменом. Строка не зависит от блоков User-agent, её читают все роботы. Если карт несколько, добавьте каждую отдельной строкой или укажите один индексный файл, который ссылается на остальные.

Эта строка не заменяет регистрацию карты в Google Search Console и Яндекс Вебмастере. Именно в панелях вы увидите статус обработки, число найденных адресов и ошибки. Строка в robots.txt нужна как дополнительная страховка для других поисковиков и сервисов.

Где файлы противоречат друг другу

Чаще всего конфликт появляется незаметно: генератор карты не знает, что вы закрыли в robots.txt. Типичные случаи:

  • в карте есть адреса, закрытые директивой Disallow
  • в карту попали страницы с noindex
  • вместо конечных адресов указаны ссылки, которые перенаправляют на другие страницы
  • в карте дубли: с параметрами, со слешем и без него
  • в карте страницы, которые отдают 404 или ошибку сервера
  • robots.txt закрывает папки со стилями и скриптами, без которых страница отображается неверно

Как проверить согласованность

Проверка занимает немного времени, если делать её по порядку.

  • Выгрузите все адреса из sitemap.xml.
  • Прогоните список через краулер: каждый адрес должен отвечать кодом 200.
  • Убедитесь, что ни один адрес не попадает под Disallow. В Яндекс Вебмастере для этого есть анализ robots.txt, куда можно вставить список адресов.
  • Проверьте, что на страницах нет noindex, а canonical указывает на сам адрес.
  • Откройте отчёт по картам сайта в Search Console и найдите статус «заблокировано в файле robots.txt».

Порядок действий при изменениях

Когда закрываете раздел, сначала уберите его адреса из карты, затем поставьте noindex, дождитесь, пока страницы выпадут из индекса, и только после этого при необходимости добавляйте Disallow. Если сразу закрыть раздел в robots.txt, робот не увидит noindex и страницы могут задержаться в выдаче. При открытии раздела порядок обратный: снимите запрет, потом добавьте адреса в карту.

Отдельно проверьте двуязычные сайты. Если страницы лежат в папках /ru/ и /uz/, обе версии должны быть в карте, а правила robots.txt — действовать одинаково. Бывает, что внутренний поиск закрыт в русской версии, а в узбекской его адрес забыли. То же касается сайтов на CMS: плагины сами добавляют в карту теги и вложения, поэтому после каждого обновления просматривайте оба файла глазами.

Если хотите, чтобы такую проверку провели за вас, команда markdev делает технический аудит как часть SEO-оптимизации сайта в Узбекистане. Напишите нам, и мы обсудим вашу задачу.

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

Нужно ли указывать sitemap в robots.txt, если карта уже добавлена в Search Console?

Не обязательно, но желательно. Строка Sitemap в robots.txt помогает другим поисковикам и сервисам найти карту без ручной регистрации, а вреда от неё нет.

Можно ли закрыть страницу в robots.txt и оставить её в sitemap?

Так делать не стоит. Вы одновременно просите робота найти страницу и не заходить на неё. Search Console покажет такие адреса как заблокированные, а доверие к карте снизится.

Что делать, если нужно убрать страницу из поиска?

Уберите её из карты, поставьте noindex и подождите, пока она выпадет из индекса. Disallow добавляйте позже и только при необходимости, иначе робот не увидит тег.

Как часто проверять оба файла?

Хорошо включить сверку в регулярный технический осмотр сайта, а также делать её после установки плагинов, смены структуры и запуска новых разделов.

Разберём вашу задачу бесплатно

Оставьте контакт — за 15 минут созвона покажем, где теряются заявки и что сделать в первую очередь.