sitemap.xml: карта сайта для робота и что она на самом деле даёт
Ещё говорят: карта сайта, sitemap, файл карты сайта
sitemap.xml — файл со списком адресов сайта, которые владелец хочет отдать в поиск. Робот использует его как подсказку: откуда начать обход и что проверить в первую очередь. Карта не заставляет индексировать и не влияет на позиции — она ускоряет обнаружение страниц, особенно новых и тех, на которые мало внутренних ссылок.
Один файл вмещает до 50 000 адресов и весит не больше 50 МБ в несжатом виде. Если адресов больше, делают несколько карт и общий файл-индекс.
Что в неё класть, а что нет
Правило одно: в карте только те адреса, которые должны быть в поиске. Каждая лишняя строка — сигнал роботу потратить обход впустую.
| Класть | Не класть |
|---|---|
| Страницы, отвечающие кодом 200 | Редиректы и несуществующие адреса |
| Канонические адреса | Дубли и адреса с параметрами |
| Разделы, услуги, товары, статьи | Страницы с noindex |
| Новые и недавно изменённые страницы | Служебные адреса: корзина, поиск, личный кабинет |
| Адреса с UTM-метками |
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://site.ru/services/seo/</loc>
<lastmod>2026-09-16</lastmod>
</url>
</urlset>
Теги changefreq и priority поисковики давно игнорируют: Google заявлял об этом прямо. Реально имеет смысл только lastmod — и лишь когда дата настоящая. Если она меняется каждый день на всём сайте, доверие к ней теряется.
Куда её положить
-
Выложить в корень
обычно
site.ru/sitemap.xml. Файл должен отдаваться кодом 200 и открываться в браузере. -
Указать в robots.txt
строкой
Sitemap: https://site.ru/sitemap.xml— разбор файла в статье robots.txt. - Добавить в Вебмастер и Search Console так видно, сколько адресов система прочитала и какие отбросила.
- Обновлять автоматически карта, которую собирают руками, устаревает на второй неделе. На WordPress это делает SEO-плагин.
Почему страница в карте, но не в поиске
Самое частое разочарование: адреса добавлены, а индексации нет. Карта — это приглашение, а не обязательство. Робот приходит, смотрит страницу и решает сам.
- Страница закрыта в robots.txt или метатегом — тогда карта только запутывает робота противоречивым сигналом.
canonicalуказывает на другой адрес — в индекс пойдёт указанный.- Содержимое слишком тонкое: карточка без описания, страница фильтра без текста.
- Дубль другой страницы — в поиск попадёт одна из них.
- Сервер отвечает медленно или ошибкой — обход откладывается.
Когда нужен индекс карт
Если адресов больше 50 000 или файл получается тяжёлым, карты разбивают по типам содержимого — страницы, товары, статьи — и складывают в общий файл-индекс sitemap_index.xml. Он перечисляет другие карты.
Разбивка полезна и на сайтах поменьше: когда карты разделены, в отчёте Search Console видно, какой именно тип содержимого индексируется плохо. По одной общей карте такой вывод не сделать.
Чего карта не делает
- Не влияет на позиции. Наличие карты не добавляет ни одного балла в ранжировании.
- Не заменяет внутренние ссылки. Страница-сирота, которую робот видит только в карте, получает меньше веса и обходится реже.
- Не убирает лишнее из индекса. Удаление адреса из карты ничего не удаляет из поиска — для этого нужен
noindex, 404 или 301.
Частые вопросы
Обязателен ли sitemap.xml?
Формально нет: небольшой сайт с нормальной перелинковкой робот обойдёт и без карты. Практически она нужна почти всем — особенно новым сайтам, большим каталогам и разделам, на которые мало внутренних ссылок.
Как часто обновлять карту?
Автоматически при каждом изменении содержимого. Ручное обновление раз в квартал бесполезно: смысл карты именно в том, чтобы быстро сообщать о новых страницах.
Что делать, если Вебмастер пишет об ошибках в карте?
Смотреть, какие адреса он отбросил и почему. Обычные причины: адреса с редиректом, страницы с noindex, чужой домен в ссылке, битый XML из-за спецсимволов. Ошибки в карте не штрафуются, но мешают обходу.
Нужно ли добавлять в карту страницы с параметрами и UTM?
Нет. Это дубли основной страницы. В карту идёт только канонический адрес без параметров.