Sitemap для больших сайтов: индекс карт и лимиты
Когда на сайте сотни тысяч страниц, одной карты сайта уже мало: у sitemap.xml есть жёсткие лимиты, а поисковику нужно помочь обойти всё и понять, что обновилось. Решение — индекс карт сайта (sitemap index) с разбивкой и корректным lastmod. Разберём, как правильно организовать карты для крупного интернет-магазина или портала, чтобы все страницы попадали в индекс.
Лимиты одной карты сайта
У файла sitemap.xml есть стандартные ограничения, которые нельзя превышать:
Если страниц больше — нужно несколько файлов карт, объединённых в индекс. Сам индекс тоже ограничен 50 000 ссылок на карты, то есть теоретически вмещает до 2,5 млрд URL. На практике карты разбивают логически — по типам страниц.
Что такое индекс карт сайта
Sitemap index — это «карта карт»: один файл, который ссылается не на страницы, а на другие sitemap-файлы. Поисковик заходит в индекс, видит список карт и обходит каждую. Именно адрес индекса указывают в robots.txt и Вебмастере.
Разбивайте карты логически
Не делите карты механически по 50 000 — разбивайте по типам страниц: товары, категории, бренды, статьи, теги. Так удобнее следить за индексацией каждого раздела: в Вебмастере видно, сколько URL из карты товаров попало в индекс, а сколько — из статей. Если проседает конкретный тип — сразу понятно, где проблема.
lastmod — самый важный тег для крупных сайтов
Тег <lastmod> (дата последнего изменения страницы) для больших сайтов важнее всего: по нему поисковик понимает, что переобходить в первую очередь, и экономит ваш краулинговый бюджет. Но lastmod должен быть честным — реальная дата изменения контента, а не «сегодня» у всех страниц сразу. Если проставить всем текущую дату, поисковик перестанет ему доверять и будет игнорировать.
А вот теги <priority> и <changefreq> поисковики почти не учитывают — на них можно не тратить силы.
Технические моменты
- Сжатие .gz — большие карты можно отдавать в gzip (sitemap.xml.gz), лимит 50 МБ считается до сжатия.
- Динамическая генерация — карты крупного сайта должны генерироваться автоматически из базы и всегда отражать актуальные URL, без ручного редактирования.
- Только индексируемые URL — в карты кладут лишь страницы, отдающие 200 и открытые к индексации (без редиректов, 404, noindex и закрытых в robots.txt).
- Абсолютные адреса в одном протоколе и домене (https, без www, если это основное зеркало).
- Адрес индекса — в robots.txt (Sitemap:) и в Яндекс.Вебмастере / Google Search Console.
Спец-карты: изображения, видео, новости
Кроме обычной карты страниц, для крупных проектов бывают полезны специальные карты — они помогают индексировать контент, который иначе поиск может пропустить:
- Карта изображений — перечисляет картинки с тегом
<image:image>. Важна для интернет-магазинов и фотобанков, где трафик с поиска по картинкам ощутим. - Карта видео — описывает ролики (
<video:video>с названием, превью, длительностью). Помогает видео попадать в видео-выдачу. - Карта новостей — для новостных сайтов в Google News: содержит только свежие материалы за последние пару дней.
- hreflang в карте — языковые версии можно связывать прямо в sitemap, не раздувая
<head>каждой страницы.
Все эти спец-карты так же подключаются через общий индекс карт сайта.
Карта сайта не гарантирует индексацию
Главное заблуждение про sitemap: «добавил URL в карту — значит, страница будет в поиске». Это не так. Карта помогает поисковику обнаружить страницы и подсказывает приоритет переобхода, но решение об индексации он принимает сам — по качеству, уникальности и полезности. На большом сайте между «URL в карте» и «страница в индексе» всегда есть отсев:
Как читать отчёт по карте в Вебмастере
Польза разбивки карт по типам раскрывается именно в отчётах. В Яндекс.Вебмастере и Google Search Console видно, сколько URL из каждой карты обнаружено и сколько реально в индексе. Большой разрыв — сигнал к разбору. Частые причины: «обнаружено, но не проиндексировано» (поиск дошёл, но счёл страницу малоценной — улучшайте контент), «просканировано, но не в индексе» (то же про качество), «страница с редиректом / 404 в карте» (чистите карту). Когда карты разбиты по разделам, такой разрыв сразу локализуется: видно, что проседают, скажем, карточки товаров, а не статьи.
Динамическая генерация без боли
Карту крупного сайта нельзя поддерживать руками — она должна строиться из базы. Но генерировать миллионы URL на каждый запрос робота тоже нельзя: это нагружает сервер. Рабочий подход — генерировать карты по расписанию (например, раз в сутки или чаще для часто меняющихся разделов) и отдавать готовые файлы из кеша. Свежие и изменённые страницы при этом стоит дополнительно «толкать» через IndexNow, не дожидаясь следующей пересборки карты. Так робот всегда видит актуальные адреса, а сервер не задыхается.
Чек-лист карты для большого сайта
- Страниц больше 50 000 → используется sitemap index
- Карты разбиты по типам (товары, категории, статьи)
- В каждом файле не более 50 000 URL и 50 МБ
- Честный lastmod (реальная дата изменения, не «сегодня» всем)
- В картах только индексируемые URL (200, без noindex/редиректов)
- Карты генерируются автоматически из базы
- Адрес индекса указан в robots.txt и панелях вебмастера
Коротко
Для большого сайта одной карты мало: лимит — 50 000 URL и 50 МБ на файл. Объедините несколько карт в индекс (sitemap index), разбивая их логически по типам страниц, проставляйте честный lastmod (он экономит краулинговый бюджет), кладите в карты только индексируемые URL и генерируйте всё автоматически. Адрес индекса укажите в robots.txt и Вебмастере — тогда поисковик обойдёт даже сайт с миллионами страниц.