Как 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 минут созвона покажем, где теряются заявки и что сделать в первую очередь.