# Проверка robots.txt и sitemap.xml: чек-лист с примерами

Адрес: https://seo-audit-sajta.ru/proverki/robots-i-sitemap/
Кратко: Как самому проверить robots.txt и карту сайта: синтаксис, запреты нужных страниц, Clean-param, адреса в sitemap.xml, коды ответа и анализ в Вебмастере.

Выводы:
- robots.txt управляет обходом, а не гарантирует удаление страницы из поиска
- В карте сайта — только канонические адреса с ответом 200
- Одна лишняя строка Disallow способна закрыть весь сайт, поэтому файл проверяют после каждой выкладки

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

Эти файлы — часть технической проверки, обзор которой есть на странице [технического аудита](https://seo-audit-sajta.ru/vidy-audita/tehnicheskij/). Результат удобно сверять с чек-листом [индексации](https://seo-audit-sajta.ru/proverki/indeksaciya/): если нужные страницы исключены с причиной «запрещено в robots.txt», ошибка здесь.

## Часть 1. robots.txt

Откройте в браузере адрес `example.ru/robots.txt`. Файл должен открываться по этому адресу, отдавать код 200 и выглядеть как обычный текст.

1. **Проверьте, что сайт не закрыт целиком.** Строка `Disallow: /` в блоке для всех роботов или для Яндекса закрывает весь сайт. Она часто остаётся после разработки на тестовом домене.
2. **Сверьте запреты со структурой.** Закрыты должны быть служебные зоны: корзина, личный кабинет, поиск по сайту, страницы сравнения, технические папки. Каталог, услуги, статьи, контакты закрыты быть не должны.
3. **Проверьте, не закрыты ли стили и скрипты.** Если робот не может загрузить CSS и JavaScript, он видит страницу иначе, чем посетитель, и может неверно оценить мобильную версию.
4. **Посмотрите на Clean-param.** Эта директива понятна Яндексу и говорит ему, что параметры вроде меток рекламы не меняют содержание страницы.
5. **Найдите строку Sitemap** с полным адресом карты сайта.
6. **Прогоните файл через анализ robots.txt** в Вебмастере: инструмент показывает ошибки синтаксиса и позволяет проверить, разрешён ли конкретный URL.

Пример разумного файла для небольшого магазина:

```
User-agent: *
Disallow: /cart/
Disallow: /account/
Disallow: /search/
Disallow: /*?sort=

User-agent: Yandex
Disallow: /cart/
Disallow: /account/
Disallow: /search/
Clean-param: utm_source&utm_medium&utm_campaign&yclid&gclid

Sitemap: https://example.ru/sitemap.xml
```

Обратите внимание: если для Яндекса есть отдельный блок `User-agent: Yandex`, робот Яндекса читает только его, а общие правила из блока `*` для него не действуют. Поэтому запреты в отдельном блоке повторяют целиком.

### Чего robots.txt не делает

Запрет в robots.txt не удаляет страницу из поиска надёжно: если на закрытый адрес много ссылок, Google может показать его в выдаче без описания. Чтобы страница точно не попала в индекс, нужен метатег `noindex` в коде страницы, и при этом сама страница должна быть открыта для обхода — иначе робот тег не увидит.

## Часть 2. sitemap.xml

Откройте карту сайта по адресу из robots.txt. Если сайт большой, это может быть индексный файл со ссылками на несколько карт поменьше.

1. **Проверьте, что карта открывается** и отдаёт код 200, а не страницу ошибки или пустой файл.
2. **Посчитайте адреса** и сравните с числом полезных страниц. Если в карте втрое больше адресов, чем товаров и статей, туда попали фильтры, теги или служебные URL.
3. **Проверьте выборку адресов на коды ответа.** В карте должны быть только страницы с ответом 200. Редиректы, 404 и страницы с `noindex` из неё убирают.
4. **Сверьте адреса с каноническими.** Если страница указывает canonical на другой URL, в карте должен стоять именно канонический адрес. Логика описана в чек-листе [дублей и canonical](https://seo-audit-sajta.ru/proverki/dubli-i-canonical/).
5. **Проверьте протокол и домен.** Все адреса с `https` и в одном варианте написания домена — с www или без, как выбрано на сайте.
6. **Посмотрите поле lastmod**, если оно есть. Дата должна меняться при реальном изменении страницы, а не ставиться текущей у всех адресов при каждой генерации.
7. **Отправьте карту в Вебмастер и Search Console** и посмотрите, что сервисы пишут об ошибках обработки.

## Таблица проверки

| Что проверить | Где смотреть | Норма | Если не так |
|---|---|---|---|
| Доступность robots.txt | браузер | код 200, текстовый файл | настроить отдачу файла на сервере |
| Полный запрет | содержимое файла | нет `Disallow: /` для основных роботов | удалить строку, отправить сайт на переобход |
| Закрытые нужные разделы | анализ robots.txt в Вебмастере | каталог и статьи разрешены | поправить маски запретов |
| Стили и скрипты | файл и проверка URL в Search Console | CSS и JS открыты | снять запрет с папок ресурсов |
| Clean-param | блок для Яндекса | перечислены метки и служебные параметры | добавить директиву |
| Доступность sitemap.xml | браузер, Вебмастер | код 200, без ошибок обработки | исправить генерацию карты |
| Состав карты | выборка адресов | только канонические страницы с ответом 200 | убрать редиректы, 404, `noindex`, дубли |
| Единый формат адресов | содержимое карты | один протокол и один вариант домена | привести к основному зеркалу |

## Пример на условном сайте

Сайт стоматологии после смены шаблона. В Вебмастере за неделю число страниц в поиске упало вдвое. В robots.txt нашлась строка `Disallow: /uslugi/`, которую разработчик добавил, пока раздел переделывался, и забыл снять. Карта сайта при этом продолжала перечислять все услуги, и Вебмастер показывал предупреждение, что адреса из карты запрещены к обходу. Исправление — удалить строку, проверить разрешение в анализе robots.txt, отправить ключевые страницы на переобход. Такие ошибки часто всплывают после редизайна, поэтому проверку стоит включать в план работ, описанный в статье об [аудите перед редизайном и переездом](https://seo-audit-sajta.ru/voprosy/pered-redizajnom-i-pereezdom/).

## Итог проверки

- robots.txt открывается, отдаёт 200 и не закрывает сайт или его важные разделы.
- Служебные зоны закрыты, стили и скрипты открыты.
- Для Яндекса прописан Clean-param для меток и служебных параметров.
- В карте сайта только канонические адреса с ответом 200, в одном формате.
- Карта отправлена в Вебмастер и Search Console без ошибок обработки.

## Вопросы и ответы

### Нужен ли отдельный блок для Яндекса в robots.txt?

Не обязательно. Если правила для всех роботов одинаковые, достаточно общего блока, а Clean-param можно разместить в нём же. Отдельный блок нужен, когда для Яндекса есть свои директивы. Тогда помните, что робот Яндекса будет читать только свой блок, и все общие запреты в нём нужно повторить.

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

Карта должна обновляться автоматически при добавлении, удалении или изменении страниц. Ручная карта, собранная один раз, быстро устаревает и начинает перечислять удалённые адреса. Проверьте, что ваша CMS или генератор пересобирает файл сам, и раз в квартал выборочно сверяйте его состав.

### Можно ли закрыть страницу и в robots.txt, и через noindex?

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

### Влияет ли размер карты сайта на индексацию?

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

