sitemapтехникакрupнный сайт

Sitemap.xml для агрегатора с 1000+ URL: приоритеты и разбивка

Плоский sitemap.xml на 30 000 URL — это сигнал «не знаю, что важное». Разбиваем на сегменты с приоритетами, делаем index. Объясняю как.

Зачем sitemap.xml вообще

Sitemap.xml — это список URL вашего сайта для поисковиков. Он:

  1. Подсказывает, какие страницы существуют (особенно полезно для глубоко вложенных)
  2. Указывает приоритеты — что важнее
  3. Сообщает дату последнего изменения — стимулирует переиндексацию обновлённых
  4. Помогает с crawl budget — поисковик не тратит время на обход через ссылки

Для каталога с 1000+ URL обязателен.

Структура для агрегатора

Плоский sitemap НЕ подходит

Один файл с 30 000 URL — это:

  • Тяжёлый для загрузки и парсинга
  • Не позволяет приоритизировать сегменты
  • Сложно отслеживать изменения

Правильно: sitemap-index + отдельные файлы по типам

<!-- /sitemap.xml -->
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-main.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-categories.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-cards.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
</sitemapindex>

И в каждом из отдельных файлов — URL соответствующего типа.

Приоритеты по типам

Приоритеты задаются через тег <priority> в значении 0.0–1.0.

Тип страницыПриоритет
Главная1.0
Hub-страницы (high-volume)0.9
Категории каталога0.8
Карточки0.7-0.8
Блог-статьи0.6
Тег-страницы, фильтры0.5
Служебные (О нас, Контакты)0.4

Поисковики не обязаны следовать этим приоритетам, но это сигнал внимания.

ChangeFreq — частота обновления

Тег <changefreq> указывает, как часто страница обновляется:

ЗначениеКогда
alwaysГлавная сайта новостей
hourlyГлавная активного агрегатора
dailyHub-страницы, главная каталога
weeklyКатегории, обновляющиеся карточки
monthlyСтабильные карточки, блог-статьи
yearlyЮридические разделы, контакты
neverАрхивные материалы

Правда: Google в 2024 объявил, что больше не использует changefreq и priority. Яндекс использует. Поэтому указываем — для Яндекса работает.

Lastmod — дата последнего изменения

Самый важный тег. Поисковики смотрят на lastmod для решения о переобходе.

<url>
  <loc>https://example.com/cards/kaspi-gold</loc>
  <lastmod>2026-05-15T12:34:00+03:00</lastmod>
  <priority>0.7</priority>
</url>

Правила:

  • lastmod должен меняться только при существенных изменениях контента
  • Не «обновляйте» все URL каждый деплой — поисковик начнёт игнорировать (это спам-сигнал)
  • Формат ISO 8601 с тайм-зоной

Размер файлов sitemap

Ограничения формата:

  • Один файл sitemap: до 50 000 URL и до 50 МБ в распакованном виде
  • Sitemap-index: до 50 000 sitemap-файлов

Если у вас 100 000 карточек — нужно 2 файла sitemap-cards-1.xml и sitemap-cards-2.xml.

Сжатие GZIP

Sitemap можно отдавать сжатым:

  • /sitemap.xml.gz — gzip-версия
  • Google и Яндекс принимают gzip-сжатие
  • Размер уменьшается в 5-10 раз

Это полезно для агрегаторов с большими файлами.

Регистрация sitemap

После создания нужно сообщить поисковикам:

  1. Через robots.txt (главное):
Sitemap: https://example.com/sitemap.xml

Это первое, что проверяют боты при заходе.

  1. Через Google Search Console — раздел «Файлы Sitemap»
  1. Через Я.Вебмастер — «Индексирование → Файлы Sitemap»
  1. Через IndexNow API (Yandex, Bing) — каждое обновление автоматически уведомляет

Что НЕ должно быть в sitemap

  • ❌ URL с noindex
  • ❌ URL с canonical не на самих себя
  • ❌ Redirect-страницы (3xx)
  • ❌ Битые ссылки (404)
  • ❌ Серверные ошибки (5xx)
  • ❌ Параметрические URL без необходимости
  • ❌ Закрытые в robots.txt

Любая из этих ошибок → поисковик считает sitemap низкокачественным и доверяет ему меньше.

Автогенерация sitemap

Для агрегатора sitemap обязательно автогенерируется при изменении данных или по cron.

В Next.js:

// src/app/sitemap.ts
export default function sitemap(): MetadataRoute.Sitemap {
  return cards.map(card => ({
    url: `https://example.com/cards/${card.slug}`,
    lastModified: card.updatedAt,
    changeFrequency: 'weekly',
    priority: 0.7,
  }));
}

В статических билдерах — генерация при сборке.

Мониторинг sitemap

В Search Console / Я.Вебмастер регулярно проверяем:

  • Сколько URL в sitemap → сколько проиндексировано
  • Ошибки обработки sitemap
  • Покрытие по сегментам

Норма: 80-95% URL из sitemap должны быть в индексе. Меньше — есть проблемы (тонкий контент, дубли, технические).

Чек-лист

  • [ ] Sitemap-index + отдельные файлы по типам
  • [ ] Приоритеты установлены по сегментам
  • [ ] Lastmod актуальный
  • [ ] Регистрация в robots.txt + GSC + Я.Вебмастер
  • [ ] Не больше 50 000 URL на файл
  • [ ] GZIP-сжатие для больших каталогов
  • [ ] Автогенерация по cron / при изменении
  • [ ] Только индексируемые URL внутри
  • [ ] Мониторинг покрытия раз в месяц

Итог

Sitemap.xml для агрегатора — это не формальность, а инструмент управления crawl budget и приоритетами индексации. Грамотно настроенный, он ускоряет индексацию новых карточек в 2-3 раза.

Прогнать SEO-аудит с проверкой sitemap →

Получить SEO-аудит своего сайта

Бесплатно. Без регистрации. Топ-проблемы и план роста позиций за 60 секунд.

Проверить сайт →