7 лет практики в SEO 30+ сайтов в работе Беларусь · Россия · Казахстан Google + Яндекс Обсудить проект
Главная → Блог → Микроразметка и техничка → Sitemap.xml: как сделать правильно

Sitemap.xml в 2026: как сделать правильно и что чаще всего ловит Google

Микроразметка и техничка
8 октября 2026 8 минут на чтение
Коротко

Sitemap.xml не ранжирует страницы и не ускоряет их саму по себе — это карта для краулера, не чит-код для позиций. Но кривой sitemap с мусорными URL, редиректами внутри или вечно свежим lastmod забивает краулинговый бюджет и путает Google с Яндексом. Разбираю обязательный минимум, 6 ошибок, которые ловлю чаще всего на чужих сайтах, лимиты на размер файла и свою многолетнюю привычку бампать lastmod бездумно — и почему перестал так делать.

Sitemap почти всегда делают один раз при запуске сайта и потом забывают. Движок генерирует файл автоматически, разработчик один раз проверяет что он открывается в браузере — и на этом всё, в GSC и Вебмастер больше никто не заглядывает. Процентов 40 сайтов, которые смотрю на аудите, за годы ни разу не пересматривали, что реально лежит у них в sitemap. Там живут удалённые страницы, старые URL без 301, иногда прямо параметры фильтров, которые закрыты в robots.txt — то есть файл сам себе противоречит.

Зачем вообще нужен sitemap в 2026

Google и Яндекс находят страницы и без sitemap — через внутренние ссылки, через внешние, через sitemap конкурентов, где случайно оказалась ссылка. Для маленького сайта на 15 страниц с нормальной перелинковкой sitemap не критичен — его найдут и так. Но он всё равно экономит время на обход: даёт краулеру прямой список URL, которые ты считаешь важными, без необходимости докапываться до них через цепочку ссылок в 4 клика.

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

Что обязательно должно быть внутри

Минимальный валидный sitemap — это XML с тегом <urlset> и списком <url>, у каждого — <loc> с полным абсолютным URL и, по желанию, <lastmod> с датой последнего реального изменения контента. Абсолютный URL — не относительный путь, обязательно с протоколом и доменом, иначе некоторые парсеры его просто не примут.

URL в sitemap должен быть той же версией страницы, что указана как canonical. Это кажется очевидным, но на практике — одна из самых частых причин ошибок «Отправлено, canonical не совпадает» в GSC: в sitemap лежит URL с www, а canonical сайта — без www, или наоборот с завершающим слэшем / без него, и между ними нет единообразия.

priority и changefreq — зачем они там, если их не читают

Google прямо подтверждал ещё в 2023-м, что оба поля игнорирует — для него они бесполезны. Яндекс формально поддерживает changefreq, но на практике ориентируется больше на реальную частоту изменений, которую видит сам, а не на то, что написано в файле. Указывать эти поля не вредно, но и смысла тратить время на их тонкую настройку по страницам — нет. Если генератор sitemap в движке сайта проставляет их автоматически — пусть остаются, вручную выставлять не трачу время.

6 ошибок, которые ловлю чаще всего

ОшибкаЧто видит поисковикКак чинить
URL в sitemap ведёт на 301/302-редиректКраулер тратит запрос на переход, затем ещё один на целевую страницу — зря расходует бюджет обходаВ sitemap всегда финальный URL после редиректа, не исходный
404 или 410 внутри sitemapСигнал «на этой карте нарисован мусор» — доверие к остальному файлу падаетРегулярная чистка: сверять sitemap со статусами в GSC/Вебмастере раз в 1-2 месяца
Страницы с noindex попали в sitemapПрямое противоречие: «включи в индекс» в одном месте и «не включай» в другомnoindex-страницы (например, фильтры каталога, служебные страницы) не должны попадать в генератор sitemap вообще
lastmod без реальной связи с изменениямиЕсли дата меняется каждый день без разницы в контенте — поисковик со временем перестаёт доверять этому полю на конкретном сайтеОбновлять lastmod только когда контент страницы реально изменился, не по расписанию крона
Заблокированные в robots.txt URL лежат в sitemapТот же конфликт целей — «вот карта» и «сюда не ходи» одновременноСинхронизировать правила robots.txt и генератор sitemap — обычно это одна и та же логика фильтрации на уровне кода
Один файл на 50k+ URL или тяжелее 50 МБ несжатымОфициальный лимит протокола sitemaps.org — выше него файл может не прочитаться целикомПереходить на sitemap-индекс: главный файл со ссылками на несколько дочерних sitemap по разделам

Когда нужен sitemap-индекс

Для сайта услуг на 10-50 страниц один плоский sitemap.xml — это всё, что нужно, как у нас на mostly.by. Для крупного каталога или классифайда логичнее сегментировать по типу контента: отдельный файл под статичные страницы, отдельный под карточки товаров, отдельный под блог, иногда отдельный под бренды или теги. У одного автомобильного проекта из нашего портфолио видел именно такую структуру — sitemap-индекс со ссылками на отдельные файлы pages / cars / brands / posts. Плюс такого подхода не только в лимитах по размеру: в GSC и Вебмастере отчёт по каждому дочернему файлу отдельный, и сразу видно, в каком разделе каталога проблема — в карточках товаров или в статьях блога, а не «где-то на сайте что-то не так».

Как проверить через GSC и Яндекс.Вебмастер

В Google Search Console — раздел «Файлы Sitemap», там видно статус «Успешно выполнено» или список ошибок с конкретными URL. Отдельно обращаю внимание на разницу между «Обнаружено URL» и «Проиндексировано» — если разрыв большой и растёт, это не проблема sitemap как файла, это сигнал что сами страницы низкого качества или дублируются, sitemap тут просто курьер с плохими новостями.

В Яндекс.Вебмастере — раздел «Индексирование → Файлы Sitemap», похожая логика: статус загрузки и список найденных ошибок по каждому URL. У Яндекса чаще, чем у Google, встречаю отдельную ошибку про некорректную кодировку XML или превышение лимита — у хостеров с кривой генерацией файла через автоматические плагины такое попадается регулярно.

Моя привычка бампать lastmod — и почему бросил

Когда ведёшь блог-конвейер с ежедневными публикациями, велик соблазн на каждый деплой поднимать lastmod во всех затронутых записях sitemap — не только у новых статей, но и у листингов, категорий, вообще у всего, что физически touch'нул скрипт при публикации. Логика была простая: «вдруг Google быстрее перескрапит, если видит свежую дату». Делал так месяцами.

Разница в скорости обхода на практике не ощущалась вообще — краулинговый бюджет на сайт с несколькими десятками страниц и так достаточный, Google заходит на блог ежедневно независимо от даты в sitemap. А вот риск обратный: если бампать lastmod у страницы, где реально ничего не изменилось (например, у хаба категории просто потому что скрипт его вообще коснулся), со временем это поле на сайте обесценивается как сигнал — поисковик видит, что «обновление» в lastmod не коррелирует с реальным diff'ом контента, и начинает это поле для конкретного домена игнорировать сильнее. Сейчас бампаю lastmod только там, где в HTML реально поменялись карточки постов или текст — у листингов блога это честно, они действительно каждый день меняются, у статичных страниц типа /uslugi/ или /ceni/ — только когда там правда что-то редактировал.

Чеклист перед тем как закрыть вкладку

  1. Каждый URL в sitemap — финальный (не редирект), совпадает с canonical, не закрыт noindex и не заблокирован robots.txt.
  2. lastmod стоит только там, где контент страницы правда менялся — не на каждом деплое по кругу.
  3. Файл меньше 50 000 URL и 50 МБ несжатым — если ближе к лимиту, переходи на sitemap-индекс по разделам.
  4. Sitemap подключён в robots.txt строкой Sitemap: и отдельно отправлен в GSC и Яндекс.Вебмастер.
  5. Раз в 1-2 месяца сверяешь список URL в sitemap со статусами индексации — удаляешь мусор, который туда просочился.

Когда последний раз открывал отчёт по sitemap в GSC не для того, чтобы отправить новый файл, а чтобы посмотреть, что там реально происходит с уже отправленными URL?

Больше по смежной теме: настройка robots.txt, почему страницы просканированы, но не проиндексированы и карта редиректов при переезде сайта.

Проверю, что реально лежит в твоём sitemap

Технический аудит: какие URL в sitemap расходятся с canonical, где редиректы и 404 вместо финальных страниц, нужен ли переход на sitemap-индекс. С конкретным списком правок, не только диагнозом.