Проверить URL
ENRU
Открыть бота Бот

Что такое sitemap-index и как работает sitemap_index.xml

Большинство современных CMS собирают не одну карту сайта, а sitemap-index, который ссылается на несколько карт поменьше. Это удобно, но путает, когда инструмент просит «карту сайта» или когда индекс отдаёт 404. Разбираемся, как всё это связано.

Обновлено 8 мин чтенияIndex Forge

Sitemap-index представляет собой XML-файл, в котором перечислены не страницы, а другие карты сайта. Google читает индекс, затем каждую вложенную карту, затем адреса в них. Индекс нужен, когда в одной карте больше 50 000 адресов или 50 МБ, а полезен и раньше, чтобы разделить страницы по типам. Отправьте индекс один раз в Search Console, и Google сам пройдёт по вложенным картам.

Как выглядит sitemap-index

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://yoursite.com/post-sitemap.xml</loc>
    <lastmod>2026-10-12</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://yoursite.com/product-sitemap.xml</loc>
  </sitemap>
</sitemapindex>

Корневой элемент sitemapindex, а не urlset, и каждая запись указывает на файл карты. Уже вложенные карты содержат адреса страниц.

Sitemap и sitemap-index: разница

ПараметрSitemapSitemap-index
Корневой элементurlsetsitemapindex
Что перечисляетАдреса страницФайлы карт
Лимит50 000 адресов, 50 МБ без сжатия50 000 карт
Обычное имяsitemap.xml, post-sitemap.xmlsitemap_index.xml, sitemap.xml

Зачем нужен sitemap-index

  • Лимиты размера. Больше 50 000 адресов придётся делить.
  • Понятные отчёты. Отдельные карты для статей, товаров и категорий показывают в Search Console, у какой группы проблемы с индексированием.
  • Быстрые обновления. Пересобирать нужно только изменившуюся вложенную карту.

Sitemap-index в WordPress

Ядро WordPress отдаёт /wp-sitemap.xml. Популярные SEO-плагины заменяют его на /sitemap_index.xml с вложенными post-sitemap.xml, page-sitemap.xml и category-sitemap.xml. Отправляйте индекс, который собирает плагин, а не тот, что из ядра, и не держите включёнными оба.

Если sitemap_index.xml не найден

  1. Проверьте, какую карту сайт отдаёт на самом деле. Попробуйте /sitemap.xml, /sitemap_index.xml и /wp-sitemap.xml.
  2. Пересохраните постоянные ссылки в WordPress. Правила перезаписи для карт часто ломаются после переезда.
  3. Проверьте плагины кеша и безопасности: они иногда блокируют XML или неправильно его кешируют.
  4. Посмотрите robots.txt. Карта не должна быть закрыта для Googlebot.
  5. Убедитесь, что сервер отдаёт 200 с типом содержимого XML, а не HTML-страницу.

Частые проблемы с sitemap-index

ПроблемаРешение
Вложенные карты отдают 404Пересобрать их; проверить настройки плагина и перезапись
Индекс ссылается сам на себяУбрать ссылку на себя
Вложенные карты на другом хосте или протоколеДержать все карты на одном каноническом хосте
Пустые вложенные картыИсключить неиспользуемые типы контента
Вложенные карты полны адресов с noindexИсключить эти типы контента или исправить их индексирование

Как просканировать все страницы из sitemap-index

Отправка индекса в Search Console позволяет Google узнать обо всём, но в своём темпе. Когда страницы нужно просканировать раньше, пришлите индекс в @IndexForgeBot. Он пройдёт индекс до каждой вложенной карты и каждой страницы, проверит каждую как Googlebot и до подтверждения покажет, сколько можно проиндексировать. До 10 000 адресов за одну отправку, $0.01 за прошедший адрес. Подробнее про индексацию по sitemap.

Как Google обрабатывает sitemap-index

Когда вы отправляете индекс, Search Console показывает его со списком вложенных карт, у каждой свой статус и число обнаруженных адресов. Google может читать вложенные карты в разное время. Если одна постоянно сбоит, остальные всё равно обрабатываются, и это ещё одна причина делить по типам: один сломанный генератор не прячет всё остальное.

lastmod у записей индекса подсказывает, какая вложенная карта изменилась. Держите его честным, как и даты отдельных адресов, чтобы Google понимал, какие файлы стоит перечитать.

Какого размера делать вложенные карты

Лимит 50 000 адресов, но заполнять его не обязательно. Файлы поменьше быстрее пересобираются, и в них проще найти проблему. Многие крупные сайты держат вложенные карты по несколько тысяч адресов, сгруппированных по типу или дате.

Как делить карты

Делить поДля чего подходит
Типу контентаБольшинства сайтов: статьи, страницы, товары, категории
ДатеНовостей и блогов с большими архивами
Разделу или языкуБольших сайтов с отдельными командами или локалями
Фиксированному размеруОгромных каталогов, где типы не помогают

Карты для картинок, видео и новостей

Специальные карты могут лежать в одном индексе с обычными. Данные о картинках и видео можно добавлять и прямо в обычные записи адресов. Карты для новостей нужны только изданиям, которые подходят для функций Google Новостей, и перечисляют статьи за последние два дня.

Как проверить sitemap-index вручную

curl -sI https://yoursite.com/sitemap_index.xml
curl -s https://yoursite.com/sitemap_index.xml | grep -o "<loc>[^<]*" | head

Первая команда должна вернуть 200 и тип содержимого XML. Вторая выведет вложенные карты. Откройте пару из них так же и убедитесь, что они отдают 200 и содержат адреса.

Sitemap-index при переезде

  • Оставьте старую карту доступной на короткое время, чтобы Google увидел редиректы.
  • Отправьте новый индекс, как только новые адреса заработали.
  • В новых картах только новые конечные адреса, никогда не перенаправляющие.
  • Следите за «Индексированием страниц» по каждой карте, чтобы убедиться, что переход прошёл.

Как собрать sitemap-index в коде

Если карты вы генерируете сами, индекс самая простая часть. Минимальный пример на Python:

from datetime import date
parts = ["post-sitemap.xml", "product-sitemap.xml"]
rows = "".join(
    f"<sitemap><loc>https://yoursite.com/{p}</loc>"
    f"<lastmod>{date.today()}</lastmod></sitemap>" for p in parts)
xml = ('<?xml version="1.0" encoding="UTF-8"?>'
       '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">'
       + rows + '</sitemapindex>')

Ставьте lastmod каждой вложенной карты на момент, когда её содержимое действительно изменилось, а не на сегодняшнюю дату при каждом запуске.

Обычные адреса карт на разных платформах

ПлатформаИндексВложенные карты
Ядро WordPress/wp-sitemap.xml/wp-sitemap-posts-post-1.xml
SEO-плагины WordPress/sitemap_index.xml/post-sitemap.xml, /page-sitemap.xml
Shopify/sitemap.xml/sitemap_products_1.xml

Как следить за вложенными картами

  • Каждая вложенная карта отдаёт 200 и корректный XML.
  • Число адресов в Search Console совпадает с ожидаемым по каждому типу.
  • Доля проиндексированных по каждой карте стабильна или растёт.
  • Ни одна карта внезапно не опустела после обновления плагина или выкладки.

hreflang внутри sitemap

На многоязычных сайтах hreflang можно указывать не в head страницы, а в карте сайта, записями xhtml:link для каждой языковой версии. Работает так же, как в HTML, а на больших сайтах это проще держать согласованным. Каждая версия должна перечислять все остальные, включая саму себя.

Когда sitemap-index не нужен

Небольшому сайту на несколько сотен страниц хватит одного файла карты. Индекс добавляет структуру, но и больше файлов, за корректностью которых надо следить. Используйте его, когда приближаетесь к лимитам, когда нужны отчёты по типам в Search Console или когда CMS всё равно его собирает.

Проверка XML

Большинство ошибок в картах связаны с форматом: неэкранированный & в адресе, отсутствующее пространство имён, метка порядка байтов перед объявлением XML или HTML-страница ошибки вместо XML. Откройте каждый файл в браузере или валидаторе XML. Отчёт по sitemap в Search Console перечисляет конкретные ошибки и строки, где он их нашёл.

Sitemap-index и краулинговый бюджет

Sitemap-index не увеличивает объём сканирования. Он только помогает Google понять, что существует. На больших сайтах качество карты важнее её размера: тысячи адресов с редиректами или noindex приучают Google, что вашей карте нельзя доверять, и он меньше доверяет и хорошим записям.

Типичные ошибки при отправке sitemap-index в инструменты

Многие инструменты и сервисы ждут одну карту с адресами страниц. Если дать им индекс, некоторые читают только список вложенных файлов и сообщают «0 страниц» или «6 адресов», считая каждую вложенную карту страницей. Прежде чем верить числу, проверьте, заявлена ли у инструмента поддержка sitemap-index. @IndexForgeBot принимает и то, и другое: пришлите индекс, и он прочитает каждую вложенную карту, а потом покажет, сколько адресов страниц нашёл и сколько прошло проверку.

Короткий чек-лист по sitemap-index

  • Индекс отдаёт 200 с типом содержимого XML.
  • Каждая перечисленная в нём карта отдаёт 200 и содержит адреса.
  • Все вложенные карты на том же хосте и протоколе, что и сайт.
  • Ни одна карта не указана дважды, и индекс не ссылается сам на себя.
  • Индекс указан в robots.txt и отправлен в Search Console.
  • Во вложенных картах только индексируемые канонические адреса.

Что будет, если убрать вложенную карту

Удаление вложенной карты из индекса не убирает её страницы из Google. Страницы остаются в индексе, пока существуют и на них есть ссылки. Google лишь перестаёт использовать этот файл как источник обнаружения. Если страницы нужно убрать, им нужен noindex, 404 или 410 либо редирект, как и без всякой карты.

Сжатые карты

Вложенные карты можно отдавать как .xml.gz, чтобы экономить трафик на больших сайтах. Индекс перечисляет сжатые файлы напрямую. Следите, чтобы сервер отдавал правильный тип содержимого и не сжимал файл дважды: это частая причина ошибки «Не удалось прочитать файл Sitemap».

Как с первого взгляда отличить sitemap от sitemap-index

Откройте файл и посмотрите на первый элемент после объявления XML. <urlset> значит обычную карту с адресами страниц. <sitemapindex> значит индекс, ссылающийся на другие карты. По имени файла не понять: на многих платформах sitemap.xml это индекс.

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

Отправлять индекс или каждую вложенную карту?

Достаточно индекса. Вложенные карты Google прочитает из него.

Может ли sitemap-index содержать другой sitemap-index?

Нет. Вложенность не поддерживается. Индекс перечисляет карты, а карты перечисляют адреса.

Важен ли порядок карт в индексе?

Нет. По порядку в файле Google приоритеты не расставляет.

Можно ли сжимать вложенные карты gzip?

Да, .xml.gz поддерживается. Лимит 50 МБ относится к размеру без сжатия.

Чем sitemap.xml отличается от sitemap_index.xml?

sitemap.xml обычно содержит адреса страниц, sitemap_index.xml перечисляет другие карты. Но по имени формат не определить: на многих платформах sitemap.xml тоже индекс. Смотрите корневой элемент файла.

Какую карту отправлять в Search Console, если их несколько?

Индекс, если он есть. Google сам прочитает вложенные карты. Не держите одновременно включёнными карту ядра WordPress и карту SEO-плагина.

Можно ли отправить sitemap-index на индексацию целиком?

Да. @IndexForgeBot проходит индекс до каждой вложенной карты и страницы, проверяет их и показывает цену до отправки. Лимит одной отправки 10 000 адресов.

Почему Search Console показывает меньше адресов, чем в моей карте?

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

Нужно ли обновлять sitemap-index при каждой публикации?

Обновляться должна вложенная карта, в которую попала новая страница, и её lastmod в индексе. Если карты собирает CMS или плагин, это происходит автоматически.

Можно ли положить sitemap-index на другой домен?

Карты должны лежать на том же хосте, что и адреса в них, если только вы не подтвердили оба хоста в Search Console. Проще держать всё на одном каноническом домене.

Есть ссылки, которые застряли вне индекса?Бот сначала проверит каждый адрес и спишет $0.01 только за ушедшие ссылки. На старте 10 бесплатно.

Открыть бота

Следующие 10 ссылок
за наш счёт

Откройте бота, вставьте ссылки и посмотрите, что пройдёт проверку. Без карты и форм регистрации.

Открыть бота: 10 ссылок бесплатно