Индекс Sitemap: зачем нужен и как его настроить
Когда одна карта сайта перестаёт вмещать все URL, на сцену выходит индекс Sitemap — карта карт. Разбираем формат, правила и типичные ошибки.
Файл индекса 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 записи при каждой пересборке дочернего файла |
| Отправлены и индекс, и все дочерние карты | Дубли в отчётах, путаница при отладке | Отправлять только индекс |
Практические советы
- Генерируйте индекс и дочерние карты одним процессом, чтобы они никогда не расходились: атомарная пересборка исключает окно, в котором индекс ссылается на ещё не созданный файл.
- Именуйте файлы по содержимому: sitemap-posts.xml понятнее, чем sitemap-2.xml, — и при отладке, и в отчётах панелей вебмастера.
- Не дожидайтесь лимита: разбиение на файлы по 10 000–20 000 URL упрощает жизнь задолго до 50 000 и делает диагностику точечной.
- Держите стабильные имена дочерних карт. Если при каждой сборке файлы получают новые имена, панели вебмастера накапливают «мёртвые» записи со статусом 404.
- После каждого изменения структуры прогоняйте индекс через валидатор — вместе со всеми дочерними картами.
Общие правила наполнения самих карт — какие URL включать, как вести lastmod — собраны в руководстве о лучших практиках sitemap.xml.