Sitemap.xml — список канонических URL, который вы отдаёте поисковику как «вот это я считаю важным». Файл не гарантирует индексацию (Google прямо пишет это в доке), но управляет тем, куда в первую очередь пойдёт crawl budget . Карта с мусором работает хуже пустой карты: поисковик тратит обходы на редиректы и 404, а до нужных страниц очередь идёт дольше.
Рабочая структура
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/posts/article/</loc>
<lastmod>2026-04-25T10:30:00+00:00</lastmod>
</url>
</urlset>
Обязателен только <loc>. changefreq и priority Google фактически не учитывает — не тратьте на них время при генерации карты. lastmod учитывается, но только если ему можно доверять. Частая ошибка CMS: дата в lastmod перегенерируется при каждой пересборке сайта, даже если текст не менялся. Проверить легко: откройте sitemap сегодня и через три дня без правок на сайте — если даты у всех URL одинаково «съехали», выключайте это в настройках генератора карты, иначе Google обесценит поле целиком.
Правило canonical. В карте — только те URL, что помечены rel="canonical" на самой странице. Если в sitemap один адрес, а в HTML canonical ведёт на другой — поисковик доверится HTML, а карту в этом месте посчитает неточной. Проверка руками: Ctrl+U на странице → ищите rel="canonical" в <head> → сверяйте с <loc> в карте.
Что не должно попадать в карту — и почему это не мелочь
- страницы с
noindexв meta или в HTTP-заголовкеX-Robots-Tag; - закрытые в
robots.txt; - любые 4xx/5xx;
- 301/302 — если редирект в карте, поисковик тратит запрос впустую;
- параметрические URL (
?sort=,?filter=,?utm_); - служебные страницы: корзина, чекаут, внутренний поиск.
Быстрая проверка своей карты без ручного клика по каждой ссылке: экспортируйте все <loc> в текстовый список и прогоните через массовую проверку в Rush Analytics — за один запуск получите статус-коды по каждому URL и отдельно список того, что реально в индексе Google/Яндекса, а что нет. Это быстрее, чем открывать Search Console по одному адресу.
Индексные карты для сайтов от нескольких тысяч страниц
Лимит одного файла — 50 000 URL и 50 МБ в распакованном виде. Дальше нужна индексная карта:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2026-04-28T00:00:00+00:00</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
</sitemap>
</sitemapindex>
Делите по типам контента: посты, товары, категории, картинки. Практическая польза не в красоте, а в диагностике — если в Search Console «Файлы Sitemap» видно, что sitemap-products.xml обработан на 40 %, а sitemap-posts.xml на 95 %, вы сразу знаете, где искать проблему, а не гадаете по всему сайту.
Sitemap-images.xml — недооценённый канал
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://example.com/posts/article/</loc>
<image:image>
<image:loc>https://example.com/img/cover.webp</image:loc>
<image:title>Описание картинки</image:title>
</image:image>
</url>
</urlset>
Включайте только канонические страницы с осмысленными обложками в WebP. Отдача — трафик из Google Images и попадание миниатюр в AI-обзоры выдачи, где картинка часто решает клик.
robots.txt: одна строка, но не в начале
Sitemap: https://example.com/sitemap_index.xml
Ставьте строку в конец файла, после всех блоков User-agent — так меньше шансов, что кастомный парсер стороннего краулера споткнётся на порядке директив.
Как отправить карту — точные шаги
Google Search Console. Раздел «Индексирование → Файлы Sitemap». В поле ввода — не полный URL, а путь относительно корня свойства: sitemap_index.xml, без https://example.com/. Через сутки‑двое там появится счётчик «Обнаружено URL» и «Отправлено против проиндексировано» — это первый индикатор здоровья карты.
Яндекс.Вебмастер. «Индексирование → Файлы Sitemap» → добавить полный адрес карты. Обработка обычно медленнее, чем у Google, — не паникуйте раньше 5–7 дней.
Bing Webmaster Tools. Раздел «Sitemaps» + отдельно включённый IndexNow — Bing и Яндекс подхватывают push‑уведомления по конкретному URL сразу после публикации, не дожидаясь планового обхода карты. Подробнее о IndexNow против sitemap.xml: что реально ускоряет индексацию в 2026 .
Разбор статусов: что значит зависший URL и что с ним делать
Это тот блок, которого не хватает в большинстве гайдов. Открываете Search Console → «Проверка URL» → вставляете адрес → смотрите статус:
| Статус в GSC | Что это значит | Что делать |
|---|---|---|
| Submitted and indexed | Всё в порядке | Ничего, мониторить дальше |
| Discovered — currently not indexed | Google знает про URL из карты, но ещё не обходил | Если висит меньше 2 недель — ждать. Больше 3 недель — добавить внутренние ссылки с уже проиндексированных страниц |
| Crawled — currently not indexed | Google обошёл, но решил не индексировать | Обычно проблема в контенте: дубль, тонкий текст, низкая уникальность. Переписывать страницу, не спамить повторной отправкой |
| Submitted URL not selected as canonical | Google нашёл дубль и выбрал другой адрес как основной | Проверить rel="canonical" на странице, убрать конфликт между HTML и sitemap |
| Submitted URL marked noindex | В карте есть URL с noindex на странице | Убрать URL из sitemap либо снять noindex — они не должны противоречить друг другу |
| Sitemap could not be read | Файл недоступен или битый XML | Проверить curl -IL https://example.com/sitemap.xml — код должен быть 200, Content-Type — xml |
Если страница висит в «Discovered — currently not indexed» дольше трёх недель при том, что вы уже дали внутренние ссылки — можно точечно прогнать URL через индексатор вроде SpeedyIndex: сервис даёт дополнительный сигнал обхода за счёт прокликивания адреса и пингов, это не замена нормальной перелинковке, а костыль на конкретный случай зависания.
Перед тем как жаловаться на «Google не индексирует», прогоните карту через набор инструментов Arsenkin — там есть проверка ответов сервера по списку URL и синтаксиса XML, часто обнаруживается банальный битый файл или 302 внутри карты, который и держит весь список.
Чек-лист перед отправкой карты
curl -IL https://example.com/sitemap.xml→ 200, не редирект.- В карте нет URL с noindex, закрытых в robots.txt, редиректов, 4xx/5xx.
- Каждый
<loc>совпадает сrel="canonical"на самой странице. lastmodменяется только при реальном изменении контента.- Карта обновляется не реже, чем публикуется контент — если статьи выходят каждый день, а карта раз в месяц, половина новых страниц долго не долетает до индекса.
- Больше 50 000 URL — сделан sitemap‑индекс с разбивкой по типам контента.
- Отдельная image‑карта есть, если у статей есть нормальные обложки.
Типичные ошибки, которые срезают эффект карты
- Редирект внутри sitemap. Поисковик уходит в цепочку и теряет обход на нужные страницы.
- Сегодняшняя дата в lastmod на всех URL без исключения. Это читается как «дата ничего не значит», доверие к полю падает.
- Закрытые в robots.txt адреса в карте. Прямое противоречие само себе, поисковик снижает доверие к файлу целиком.
- Карта не поспевает за публикациями. Симптом виден в GSC: «Обнаружено URL» растёт медленнее, чем количество новых материалов на сайте.
- Файл недоступен по https или отдаёт неправильный Content-Type. Ошибка так и останется в Search Console, пока не почините раздачу файла на сервере.
Связанные термины
- robots.txt — управляет обходом, не индексацией.
- canonical URL — какой адрес считать основным при дублях.
- IndexNow — push‑сигнал для Яндекса и Bing по конкретному URL, работает параллельно с картой.
- Discovered / Crawled — currently not indexed — статусы GSC, на которые сильнее всего влияет качество sitemap и внутренняя перелинковка.
Дополнительные ресурсы: Чек-лист перед индексацией сайта: что реально проверяют Google, Яндекс и Bing , Почему страница не попала в индекс: диагностика по шагам, а не наугад .
