Руководство

Индекс Sitemap: зачем нужен и как его настроить

Когда одна карта сайта перестаёт вмещать все URL, на сцену выходит индекс Sitemap — карта карт. Разбираем формат, правила и типичные ошибки.

Автор: Редакция WebDoctor·16 июля 2026·5 мин чтения


Файл индекса Sitemap — это XML-файл с корневым элементом <sitemapindex>, который перечисляет другие карты сайта вместо страниц. Он нужен, когда карта превышает 50 000 URL или 50 МБ либо когда удобно разбить адреса по типам контента, языкам или датам. Один индекс может ссылаться максимум на 50 000 карт.

Что такое индекс Sitemap

По сути это «карта карт». Обычная карта сайта (<urlset>) перечисляет страницы; индекс (<sitemapindex>) перечисляет файлы карт. Краулер скачивает индекс, находит в нём дочерние карты и обходит каждую по очереди. Формат определён тем же протоколом sitemaps.org и поддерживается Google, Яндексом и Bing без оговорок.

Когда индекс действительно нужен

  • Лимиты протокола. Больше 50 000 URL или 50 МБ в несжатом виде — разбиение обязательно, других вариантов протокол не оставляет.
  • Организация по типам контента. Отдельные карты для статей, товаров, категорий и изображений: в панелях вебмастера сразу видно, какой раздел сайта индексируется хуже.
  • Языковые версии. sitemap-ru.xml, sitemap-en.xml и так далее — удобно сопровождать и отлаживать по отдельности.
  • Разбивка по датам. Архивы новостных сайтов часто нарезают карты по месяцам: свежие файлы меняются, старые остаются нетронутыми, и краулер тратит время только на новое.

Сайту на несколько сотен страниц индекс не нужен — одна аккуратная карта проще и надёжнее.

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

<?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-07-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml.gz</loc>
    <lastmod>2026-07-16T06:00:00+00:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-categories.xml</loc>
  </sitemap>
</sitemapindex>

Обратите внимание: пространство имён то же, что и у обычной карты, каждая запись — элемент <sitemap> с обязательным <loc>, а дочерние карты могут быть сжаты в gzip. Третья запись показывает, что <lastmod> необязателен — файл без него остаётся валидным, просто краулер теряет подсказку о свежести.

Как краулеры обрабатывают индекс

Получив индекс, поисковая система не обходит все дочерние карты немедленно. Google ставит их в собственную очередь и скачивает по мере необходимости, ориентируясь на lastmod записей и историю изменений; Яндекс ведёт себя похоже и показывает статус каждой карты в разделе «Файлы Sitemap» Вебмастера. Практический вывод: не ждите, что добавленная в индекс новая карта будет обработана в ту же минуту, — но и не «подталкивайте» процесс переотправкой, достаточно корректного lastmod. Подробности поведения Google описаны в документации по крупным картам сайта.

Правила протокола

  • До 50 000 карт в одном индексе и те же 50 МБ на сам файл индекса. Итоговый потолок — 50 000 × 50 000 = 2,5 миллиарда URL, чего хватает любому сайту.
  • Вложенность запрещена. Индекс не может ссылаться на другой индекс — только на обычные карты. Плоская структура: один индекс, под ним дочерние файлы.
  • Абсолютные URL. Каждый <loc> — полный адрес со схемой, как и в обычной карте, с теми же правилами экранирования.
  • Тот же хост. Дочерние карты должны находиться на том же хосте, что и индекс, — иначе краулеры их проигнорируют.

lastmod у дочерних карт

Элемент <lastmod> внутри записи индекса — необязательный, но полезный: он сообщает, когда в последний раз менялся сам файл дочерней карты. Краулер использует его, чтобы не перекачивать не изменившиеся файлы: если из двадцати карт обновилась одна, честный lastmod позволяет обойтись одним скачиванием вместо двадцати. Правило то же, что и для страниц: дата должна отражать реальное изменение файла, формат — W3C (2026-07-16 или полная форма с временем).

Отправка: только индекс

В Google Search Console и Яндекс.Вебмастер отправляйте один URL — адрес индекса. Дочерние карты поисковые системы найдут и обработают сами, а их статистика появится в панели под записью индекса. Отправлять каждую дочернюю карту отдельно не нужно: это создаёт дубли в отчётах и путаницу при отладке. Та же логика в robots.txt — одна строка:

Sitemap: https://example.com/sitemap-index.xml

Как валидаторы проверяют индекс

Проверка индекса состоит из двух уровней. Сначала — сам файл: корневой элемент <sitemapindex>, пространство имён, корректность каждой записи <sitemap>, форматы lastmod, лимит записей. Затем — дочерние карты: каждая должна существовать, отвечать кодом 200 и сама быть валидной картой. Второй уровень важнее, чем кажется: сам индекс ломается редко, а вот дочерние файлы регулярно отстают от жизни — карту раздела удалили, а запись в индексе осталась.

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

Типичные ошибки индексов

ОшибкаПоследствиеИсправление
Индекс ссылается на другой индексПротокол запрещает вложенность; ветка игнорируетсяПлоская структура: индекс → обычные карты
Записи <url> и <sitemap> в одном файлеФайл не является ни картой, ни индексом; парсеры отклоняют егоРазделить: страницы — в карты, карты — в индекс
Дочерняя карта отвечает 404Ошибки в панелях вебмастера, потерянные разделы сайтаСинхронизировать генерацию индекса и карт в одном процессе
Дочерние карты на другом хостеКраулеры игнорируют «чужие» файлыОдин канонический хост для индекса и всех карт
lastmod индекса не обновляетсяКраулер реже перекачивает изменившиеся картыОбновлять lastmod записи при каждой пересборке дочернего файла
Отправлены и индекс, и все дочерние картыДубли в отчётах, путаница при отладкеОтправлять только индекс

Практические советы

  1. Генерируйте индекс и дочерние карты одним процессом, чтобы они никогда не расходились: атомарная пересборка исключает окно, в котором индекс ссылается на ещё не созданный файл.
  2. Именуйте файлы по содержимому: sitemap-posts.xml понятнее, чем sitemap-2.xml, — и при отладке, и в отчётах панелей вебмастера.
  3. Не дожидайтесь лимита: разбиение на файлы по 10 000–20 000 URL упрощает жизнь задолго до 50 000 и делает диагностику точечной.
  4. Держите стабильные имена дочерних карт. Если при каждой сборке файлы получают новые имена, панели вебмастера накапливают «мёртвые» записи со статусом 404.
  5. После каждого изменения структуры прогоняйте индекс через валидатор — вместе со всеми дочерними картами.

Общие правила наполнения самих карт — какие URL включать, как вести lastmod — собраны в руководстве о лучших практиках sitemap.xml.

sitemapиндекскрупные сайты

Frequently asked questions

Когда нужен файл индекса Sitemap?
Когда одна карта превышает лимиты протокола — 50 000 URL или 50 МБ в несжатом виде — либо когда удобно разделить URL по типам контента, языкам или датам. Небольшому сайту достаточно одной обычной карты.
Можно ли вложить один индекс Sitemap в другой?
Нет. Протокол sitemaps.org прямо запрещает вложенные индексы: индекс может ссылаться только на обычные карты сайта. Структура всегда плоская — один индекс и дочерние карты под ним.
Что отправлять в Search Console — индекс или каждую карту?
Только индекс. Google Search Console и Яндекс.Вебмастер сами найдут и обработают все дочерние карты, а статистика по ним появится под записью индекса. Отправка дочерних карт по отдельности лишь создаёт дубли в отчётах.
Сколько карт может содержать один индекс?
До 50 000 записей, при этом сам файл индекса не должен превышать 50 МБ в несжатом виде. В сочетании с лимитом обычной карты это даёт потолок в 2,5 миллиарда URL на один индекс.
Нужен ли lastmod у записей индекса?
Он необязателен, но полезен: lastmod сообщает краулеру, когда менялся файл дочерней карты, и позволяет не перекачивать не изменившиеся файлы. Указывайте реальную дату пересборки файла в формате W3C.

Запустить проверку

Читайте также