Константин ВасинБлог
SEO без агентства

robots.txt и sitemap.xml: настройка без ошибок

Два маленьких файла, которыми чаще всего ломают индексацию. Разбираю, что в них писать, чем robots отличается от noindex и как проверить, что вы не закрыли половину сайта.

Коротко
  • Два файла в корне, которыми чаще всего ломают индексацию. Проверка занимает пять секунд, а стоит месяцев трафика.
  • Disallow и noindex — разные вещи: первый запрещает заходить, второй — индексировать. Вместе они не работают.
  • В карте сайта только живые открытые адреса — без переадресаций, закрытых и несуществующих.
  • Карта должна собираться автоматически. Ручная устаревает за неделю и начинает врать.
Содержание статьи
  1. robots.txt: что это и как работает
  2. Что закрывать, а что нет
  3. Disallow против noindex
  4. sitemap.xml: карта сайта
  5. Проверка после настройки
  6. Отдельно про закрытие сайта на время разработки

Два файла в корне сайта, которые поисковый робот читает первыми. robots.txt говорит, куда можно ходить. sitemap.xml — список страниц, которые вы хотите видеть в поиске.

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

robots.txt: что это и как работает

Текстовый файл в корне: ваш-сайт.ru/robots.txt. Робот читает его до обхода страниц.

Базовый рабочий вариант для обычного сайта:

robots.txt — рабочий вариант для обычного сайта
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /search/
Disallow: /*?utm_
Disallow: /*?from=

Sitemap: https://ваш-сайт.ru/sitemap.xml

Разбор строк:

  • User-agent: * — правила для всех роботов.
  • Disallow: — что запрещено обходить.
  • Sitemap: — адрес карты сайта, полный, с протоколом.

Строка, которая убивает сайт

Две строки — User-agent: * и Disallow: / — это запрет на весь сайт. Строку ставят на время разработки и забывают убрать при запуске. Проверка занимает пять секунд: откройте ваш-сайт.ru/robots.txt в браузере прямо сейчас. Если видите этот блок на рабочем сайте — вы нашли причину отсутствия трафика.

Дальше по теме

Как это устроено у меня

Показываю в канале рабочие конфиги и то, на чём обжигался: закрытые разделы, забытые запреты, потерянные страницы.

Что закрывать, а что нет

Закрывать:

  • служебные разделы: админка, корзина, личный кабинет;
  • внутренний поиск по сайту (генерирует бесконечные адреса);
  • адреса с метками и параметрами: ?utm_, ?from=, сортировки;
  • технические файлы и черновики.

Не закрывать:

  • CSS и JavaScript — робот должен видеть страницу так же, как человек;
  • картинки, если хотите трафик из поиска по картинкам;
  • страницы пагинации — их лучше оставить открытыми, а дубли решать канониклами.

Disallow против noindex

Разница неочевидная, и путаница в ней даёт странные результаты.

Disallow в robots.txt Мета-тег noindex
Что делает запрещает заходить разрешает зайти, запрещает индексировать
Робот видит содержимое нет да
Может попасть в выдачу да, без описания нет
Когда применять служебные разделы, мусорные адреса страницы, которые не должны быть в поиске

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

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

sitemap.xml: карта сайта

Список адресов, которые вы хотите видеть в поиске, в формате XML.

sitemap.xml — минимальный рабочий вид
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://ваш-сайт.ru/</loc>
    <lastmod>2026-08-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://ваш-сайт.ru/uslugi/</loc>
    <lastmod>2026-07-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Обязателен только <loc>. lastmod полезен — он подсказывает роботу, что страница изменилась. changefreq и priority поисковики воспринимают как пожелание, а не команду.

Требования к карте

  1. Только адреса, открытые для индексации.
  2. Никаких переадресаций и несуществующих страниц.
  3. Один и тот же вид адресов: если основная версия со слэшем на конце — везде со слэшем.
  4. Полные адреса с протоколом.
  5. Не больше 50 000 адресов и 50 МБ в одном файле; больше — разбивать и делать индексный файл.
  6. Обновляется автоматически при публикации.

Третий пункт — источник тихих проблем. Если в карте site.ru/page, а сайт отдаёт site.ru/page/, робот получает переадресацию на каждом адресе. Работать будет, но медленнее и с потерей доверия к карте.

Карта, которая собирается сама

На всех своих сайтах карта генерируется при сборке из списка реальных страниц — руками её никто не трогает. Это снимает целый класс проблем: карта не устаревает, в неё физически не может попасть закрытая или несуществующая страница. Если сайт статический, добавьте генерацию карты в скрипт сборки. Если на CMS — почти везде есть плагин или встроенная функция.

Промпт — проверить robots.txt и карту сайта на реальном сайте
Проверь два файла на сайте [адрес] и скажи, не закрыл ли я лишнего.

1. Открой /robots.txt. Разбери его построчно и скажи простым языком, что
   именно закрыто. Отдельно проверь: не закрыт ли весь сайт, не закрыты ли
   CSS и JS, указан ли адрес карты сайта.
2. Открой карту сайта. Посчитай адреса. Возьми 10 случайных и проверь
   каждый: код ответа, нет ли переадресации, не закрыт ли он в robots,
   есть ли на странице noindex.
3. Сверь вид адресов: со слэшем на конце или без — одинаково ли везде.
4. Проверь, попадают ли в карту адреса с параметрами и метками.

Отдай таблицу «что проверял → что нашёл → критично или нет» и список правок
в порядке важности. Показывай реальные строки из файлов, а не пересказ.

Проверка после настройки

  1. Откройте ваш-сайт.ru/robots.txt — файл отдаётся, кодировка читаемая.
  2. Откройте ваш-сайт.ru/sitemap.xml — файл отдаётся, адреса на месте.
  3. В Яндекс.Вебмастере проверьте robots.txt встроенным инструментом: он покажет, какие страницы под запретом.
  4. Отправьте карту в обе панели вебмастеров.
  5. Через неделю проверьте, сколько адресов из карты попало в индекс.

Если после этого страницы всё равно не в поиске, причина не в этих файлах — разбор остальных причин в статье про индексацию.

Читайте такжеИндексация сайтаПрежде чем спорить о позициях, проверьте, есть ли страницы в базе поисковика. Восемь причин, по которым их там нет, и порядок действий по каждой.

Отдельно про закрытие сайта на время разработки

Частая ситуация: сайт делается, показывать его рано. Три способа, по надёжности:

  1. Пароль на весь сайт (базовая HTTP-аутентификация) — самый надёжный, робот физически не зайдёт.
  2. Мета-тег noindex на всех страницах — надёжно, но требует дисциплины при запуске.
  3. Disallow: / в robots.txt — работает, но адреса всё равно могут попасть в выдачу без описания.

И главное: заведите себе напоминание снять запрет в день запуска. Это самая частая причина, по которой новый сайт полгода стоит без трафика.

Что забрать из статьи
  1. Откройте свой robots.txt прямо сейчас: Disallow: / на рабочем сайте — готовый ответ, почему нет трафика.
  2. CSS и JS не закрывают: робот должен видеть страницу так же, как человек.
  3. Хотите убрать страницу из поиска — noindex и открытый обход. Хотите сэкономить бюджет обхода — Disallow.
  4. Единый вид адресов в карте: если основная версия со слэшем — везде со слэшем.
  5. Заведите напоминание снять запрет индексации в день запуска. Это самая частая причина мёртвого сайта.
Забрать материал

Гайд «SEO-машина»: как собрать её на ИИ-агентах

Карта из десяти систем: что делает каждая и как собрать такую же — с любым ИИ-агентом, Claude Code или Codex. Бесплатно, отдаёт бот в Telegram.

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

Обязателен ли robots.txt?

Формально нет: без него робот будет обходить всё подряд. Практически он нужен почти всегда — чтобы закрыть служебные разделы и указать адрес карты сайта. Файл лежит строго в корне: ваш-сайт.ru/robots.txt.

Чем Disallow отличается от noindex?

Disallow запрещает роботу заходить на страницу. Noindex разрешает зайти, но запрещает включать в индекс. Разница важна: страница, закрытая в robots, может всё равно попасть в выдачу без описания, если на неё ведут ссылки.

Что должно быть в sitemap.xml?

Только те адреса, которые вы хотите видеть в поиске: без закрытых от индексации, без переадресаций, без несуществующих. Карта с мусором снижает доверие к ней и замедляет обход.

Как часто обновлять карту сайта?

Она должна обновляться автоматически при публикации новых страниц. Ручная карта устаревает за неделю. Если сайт статический — генерируйте её при сборке.

Нужно ли закрывать страницы с utm-метками?

Да. Адреса с параметрами создают дубли одной и той же страницы. Правильный набор мер: canonical на чистый адрес, запрет параметров в robots.txt и отсутствие таких адресов в карте сайта.

Константин Васин
Предприниматель, маркетолог

10 лет в маркетинге и онлайн-образовании. Запускаю проекты в одиночку на Claude Code и показываю экономику как есть. Все методы из блога сначала обкатываю на своих проектах и только потом описываю.