Статья

Sitemap.xml: как создать и проверить XML-карту сайта

Сергей Торкунов

Sitemap.xml должен перечислять канонические URL, которые сайт действительно хочет отдавать в поиск. В карту не включают редиректы, ошибки, закрытые и неканонические страницы. Для небольшого сайта файл можно собрать вручную, но рабочий вариант для изменяемого каталога — автоматическая генерация из того же источника данных, который публикует страницы. Один файл ограничен 50 000 URL или 50 МБ без сжатия; более крупный набор разбивают на несколько карт и объединяют индексным файлом.

Актуально на 28.08.2026. Sitemap помогает поисковику обнаруживать URL, но не гарантирует обход или индексирование.

Граница материала: здесь основной фокус — что карта сайта делает и чего не гарантирует; какие url допускаются в xml. Полная методика кластера «XML-карта сайта» собрана в статье «Sitemap XML: как создать и правильно настроить карту сайта».

Sitemap.xml — логика работы и проверки.
Схема. Sitemap.xml — логика работы и проверки.

Что карта сайта делает и чего не гарантирует

Карта помогает поисковому роботу обнаружить предпочтительные URL и увидеть дату их существенного изменения. Она не заменяет внутренние ссылки, не отменяет canonical и не гарантирует индексирование. Если карта расходится с реальным состоянием сайта, она создаёт шум: поисковая система получает намерение индексировать адрес, который сам сайт редиректит, закрывает или объявляет дублем.

Что нужно зафиксировать до изменений

  • перечень индексируемых шаблонов и источник их публикации
  • правила canonical, noindex, удаления и постоянных редиректов
  • требования к локальным, языковым, видео- или новостным расширениям
  • фактическая дата содержательного изменения для lastmod
  • владелец генератора и способ аварийного отключения повреждённой карты.

Какие URL допускаются в XML

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

СитуацияЧто проверитьНормальный результатСледующее действие
Каноническая страница отвечает 200HTTP, indexability, self-canonicalURL присутствует один разОставить в карте
Старый URL редиректитКод и конечная цельВ карте только конечная страницаУдалить старый адрес
Страница содержит noindexMeta robots или X-Robots-TagURL отсутствует в картеИсправить правило или исключить URL
Фильтр канонизирован на категориюCanonical и назначение страницыВ карте каноническая категорияНе добавлять дубль
Страница удалена404/410 и внутренние ссылкиURL исключён из следующей генерацииУдалить ссылки и контролировать остатки

Сборка и публикация карты

Генератор должен быть воспроизводимым: одинаковое состояние сайта даёт одинаковый набор URL, а каждое изменение объясняется релизом или контентным событием.

1. Опишите правило включения

Для каждого шаблона задайте условия: опубликован, индексируем, отвечает 200, имеет self-canonical и доступен обычной ссылкой. Это правило хранится рядом с логикой публикации страницы.

Входные данные и условия. До начала шага «Опишите правило включения» ограничьте объект проверки, зафиксируйте исходное состояние и владельца решения. Для темы «XML-карта сайта» не смешивайте разные шаблоны, рынки или периоды в одной строке.

  • Определите объект шага и границы выборки для операции «Опишите правило включения».
  • Для каждого шаблона задайте условия: опубликован, индексируем, отвечает 200, имеет self-canonical и доступен обычной ссылкой.
  • Это правило хранится рядом с логикой публикации страницы.
  • Сохраните результат в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки и укажите дату проверки.
  • Проверьте основной и пограничный сценарии; отклонение оформите отдельной строкой с владельцем.

Нормальный результат. Шаг принят, если результат воспроизводится на контрольной выборке, зафиксирован в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки, а следующий участник понимает, что делать без устного пояснения.

Ошибка или исключение. Если наблюдение нельзя повторить или оно зависит от незафиксированного фильтра, шага ещё нет: вернитесь к исходной выборке и отделите причину от совпадения.

Следующее действие. Сформируйте XML из источника сайта.

2. Сформируйте XML из источника сайта

Экранируйте специальные символы и используйте абсолютные URL одного согласованного хоста. lastmod меняйте только при существенном изменении содержимого, а не при каждом запуске генератора.

Входные данные и условия. До начала шага «Сформируйте XML из источника сайта» ограничьте объект проверки, зафиксируйте исходное состояние и владельца решения. Для темы «XML-карта сайта» не смешивайте разные шаблоны, рынки или периоды в одной строке.

  • Определите объект шага и границы выборки для операции «Сформируйте XML из источника сайта».
  • Экранируйте специальные символы и используйте абсолютные URL одного согласованного хоста.
  • Lastmod меняйте только при существенном изменении содержимого, а не при каждом запуске генератора.
  • Сохраните результат в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки и укажите дату проверки.
  • Проверьте основной и пограничный сценарии; отклонение оформите отдельной строкой с владельцем.

Ошибка или исключение. lastmod меняйте только при существенном изменении содержимого, а не при каждом запуске генератора.

Следующее действие. Разделите крупные наборы.

3. Разделите крупные наборы

Разбивайте карты по типам страниц или стабильным разделам, если файл приближается к техническому лимиту. Индексный файл должен содержать доступные карты, а не страницы сайта.

Входные данные и условия. До начала шага «Разделите крупные наборы» ограничьте объект проверки, зафиксируйте исходное состояние и владельца решения. Для темы «XML-карта сайта» не смешивайте разные шаблоны, рынки или периоды в одной строке.

  • Определите объект шага и границы выборки для операции «Разделите крупные наборы».
  • Разбивайте карты по типам страниц или стабильным разделам, если файл приближается к техническому лимиту.
  • Индексный файл должен содержать доступные карты, а не страницы сайта.
  • Сохраните результат в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки и укажите дату проверки.
  • Проверьте основной и пограничный сценарии; отклонение оформите отдельной строкой с владельцем.

Ошибка или исключение. Индексный файл должен содержать доступные карты, а не страницы сайта.

Следующее действие. Проверьте файл до публикации.

4. Проверьте файл до публикации

Валидируйте XML, затем выборочно запросите URL из каждого шаблона и сравните HTTP, canonical, robots и фактическое наличие на сайте.

Входные данные и условия. До начала шага «Проверьте файл до публикации» ограничьте объект проверки, зафиксируйте исходное состояние и владельца решения. Для темы «XML-карта сайта» не смешивайте разные шаблоны, рынки или периоды в одной строке.

  • Определите объект шага и границы выборки для операции «Проверьте файл до публикации».
  • Валидируйте XML, затем выборочно запросите URL из каждого шаблона и сравните HTTP, canonical, robots и фактическое наличие на сайте.
  • Сохраните результат в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки и укажите дату проверки.
  • Проверьте основной и пограничный сценарии; отклонение оформите отдельной строкой с владельцем.

Следующее действие. Отправьте и наблюдайте.

5. Отправьте и наблюдайте

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

Входные данные и условия. До начала шага «Отправьте и наблюдайте» ограничьте объект проверки, зафиксируйте исходное состояние и владельца решения. Для темы «XML-карта сайта» не смешивайте разные шаблоны, рынки или периоды в одной строке.

  • Определите объект шага и границы выборки для операции «Отправьте и наблюдайте».
  • Укажите карту в robots.txt и добавьте её в инструменты поисковых систем.
  • Ошибки обработки разбирайте по типу и шаблону, а не повторной отправкой неизменённого файла.
  • Сохраните результат в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки и укажите дату проверки.
  • Проверьте основной и пограничный сценарии; отклонение оформите отдельной строкой с владельцем.

Ошибка или исключение. Ошибки обработки разбирайте по типу и шаблону, а не повторной отправкой неизменённого файла.

Следующее действие. перейдите к итоговой проверке.

Контроль качества после каждой генерации

  • Сравнение версий карты быстрее показывает потерю целого шаблона, чем ручная проверка отдельных URL.
  • файл и все вложенные карты отвечают 200 и отдаются как XML
  • число URL по каждому шаблону сопоставимо с источником публикации
  • в карте нет 3xx, 4xx, 5xx, noindex и чужих canonical
  • каждое резкое изменение количества объяснено релизом или изменением ассортимента
  • выборка URL проходит повторную проверку после публикации.

Ошибки, которые карта не исправит

  • Повторная отправка XML не решает проблемы качества или архитектуры страницы.
  • важный URL остаётся сиротой без внутренних ссылок
  • несколько страниц конкурируют за один интент
  • canonical и Sitemap указывают разные предпочтительные версии
  • lastmod обновляется без изменения контента и перестаёт быть полезным сигналом
  • карта генерируется из устаревшей выгрузки и отстаёт от сайта.

Критерии приёмки Sitemap.xml

  • Карту можно считать готовой, когда её состав объясним и согласован с текущим сайтом.
  • каждый URL абсолютный, канонический, индексируемый и отвечает 200
  • XML валиден, а размер и число URL не превышают лимиты формата
  • вложенные карты доступны и перечислены в корректном индексном файле
  • lastmod связан с реальным существенным изменением
  • у генератора есть мониторинг, владелец и безопасный откат.

Контрольный сценарий

Сценарий описывает проверяемую процедуру и не подменяет фактические проектные результаты. Используйте один реальный объект из текущего контура и заполните поля данными сайта.

ЭтапЧто фиксируетсяКритерий перехода
Исходная точкаXML-карта сайтаОбъект, границы и владелец записаны
Первое действиеОпишите правило включенияРезультат сохранён в таблицу URL, ожидаемых HTTP/HTML-состояний и результатов проверки
КонтрольОтправьте и наблюдайтеОтклонение имеет причину и следующее действие

Итог

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

Получите бесплатный аудит и стратегию роста

Изучим сайт, покажем точки роста и подготовим прогноз до квалифицированных лидов и оборота из SEO/GEO.