XML-карта сайта (sitemap)
Файл со списком URL и иногда датами обновления, который подсказывает поисковым роботам, что стоит обойти. Дополняет обычные ссылки на сайте и настройки в вебмастере, но не заменяет их.
Это список адресов страниц в формате XML, который отдают поисковым системам, чтобы проще находить и обновлять страницы. Для большого сайта карту обычно делят на несколько файлов или сжимают.
Зачем нужен
Карта не гарантирует индексацию и не поднимает ранжирование сама по себе. Она снижает задержку между публикацией и первым визитом робота, помогает при слабой внутренней перелинковке и после миграций, когда структура ссылок ещё не устоялась.
Поля url и sitemapindex
Ниже — только элементы базового протокола sitemaps.org. Расширения (картинки, видео, новости, hreflang) подключаются отдельными пространствами имён и тегами внутри url.
Дочерние теги элемента url
| Тег | Обязательность | Назначение |
|---|---|---|
| loc | Да | Абсолютный канонический URL страницы (обычно https, без сессионных параметров) |
| lastmod | Нет | Дата последнего существенного изменения страницы в формате W3C Datetime (например 2026-05-01 или с часовым поясом) |
| changefreq | Нет | Подсказка частоты изменений: always, hourly, daily, weekly, monthly, yearly, never (поисковики часто игнорируют) |
| priority | Нет | Число от 0.0 до 1.0 относительно других URL того же сайта; не влияет на позиции в выдаче |
Дочерние теги элемента sitemap (внутри sitemapindex)
| Тег | Обязательность | Назначение |
|---|---|---|
| loc | Да | URL дочернего файла sitemap (XML или сжатый .xml.gz) |
| lastmod | Нет | Ожидаемое время изменения дочернего sitemap (подсказка для обхода) |
Пример: обычный urlset
Корневой элемент urlset объявляет пространство имён по умолчанию http://www.sitemaps.org/schemas/sitemap/0.9. Внутри — один или много блоков url; в каждом обязателен ровно один loc.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2026-05-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.example.com/blog/sitemap-xml</loc>
<lastmod>2026-05-01T12:00:00+03:00</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>Пример: индекс sitemap
Индекс sitemapindex не содержит url напрямую: он только перечисляет дочерние карты. Удобно дробить по разделам (блог, каталог, лендинги) или по типам контента.
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemaps/static.xml</loc>
<lastmod>2026-05-01</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemaps/blog.xml.gz</loc>
<lastmod>2026-05-01</lastmod>
</sitemap>
</sitemapindex>Пример: новости (News)
Расширение Google для свежих новостных URL: в url добавляется блок news:news с публикацией, языком, датой публикации и заголовком. Обычно отдельный файл или отдельный дочерний sitemap только для новостей; см. официальные лимиты по возрасту URL.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
<url>
<loc>https://www.example.com/news/roboty-obnovili-indeks</loc>
<news:news>
<news:publication>
<news:name>Example Times</news:name>
<news:language>ru</news:language>
</news:publication>
<news:publication_date>2026-05-01T09:15:00+03:00</news:publication_date>
<news:title>Роботы обновили индекс</news:title>
</news:news>
</url>
</urlset>Пример: изображения
Для страницы с loc можно перечислить одно или несколько изображений через image:image. Минимально достаточно image:loc (URL картинки); caption и title улучшают контекст.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://www.example.com/gallery/moscow-night</loc>
<image:image>
<image:loc>https://cdn.example.com/photos/moscow-1600.webp</image:loc>
<image:caption>Ночная панорама Москвы</image:caption>
<image:title>Москва, набережная</image:title>
</image:image>
<image:image>
<image:loc>https://cdn.example.com/photos/moscow-thumb.webp</image:loc>
</image:image>
</url>
</urlset>Пример: видео
Блок video:video описывает ролик: миниатюра, заголовок, описание, файл или страницу плеера, длительность в секундах. Точный набор обязательных полей зависит от сценария (см. документацию Google).
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://www.example.com/watch/seo-audit-intro</loc>
<video:video>
<video:thumbnail_loc>https://cdn.example.com/thumbs/audit-intro.jpg</video:thumbnail_loc>
<video:title>Введение в техаудит</video:title>
<video:description>Коротко о структуре технического аудита сайта.</video:description>
<video:content_loc>https://cdn.example.com/video/audit-intro.mp4</video:content_loc>
<video:duration>612</video:duration>
</video:video>
</url>
</urlset>Пример: мультиязычность (hreflang)
Альтернативные языковые версии можно перечислить в том же элементе url через xhtml:link с rel="alternate" и hreflang. Часто дублируют набор ссылок на каждой языковой странице; hreflang на странице и в карте должны совпадать.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://www.example.com/ru/services/seo-audit</loc>
<xhtml:link rel="alternate" hreflang="ru" href="https://www.example.com/ru/services/seo-audit"/>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/services/seo-audit"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/en/services/seo-audit"/>
</url>
<url>
<loc>https://www.example.com/en/services/seo-audit</loc>
<xhtml:link rel="alternate" hreflang="ru" href="https://www.example.com/ru/services/seo-audit"/>
<xhtml:link rel="alternate" hreflang="en" href="https://www.example.com/en/services/seo-audit"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/en/services/seo-audit"/>
</url>
</urlset>Формат и лимиты
Обычно до 50 000 URL и до 50 МБ несжатого XML на один логический файл; при превышении делите на несколько sitemap и перечислите их в индекс-файле. Ссылку на индекс добавляют в robots.txt директивой Sitemap; в Search Console карту можно отправить отдельно.
- Расширения (news, image, video, xhtml) увеличивают размер файла — следите за лимитом 50 МБ и 50 000 URL.
- lastmod держите правдивым: массовые ложные обновления снижают доверие.
- changefreq и priority поисковики часто игнорируют — не тратьте время на «магические» значения.
- Проверяйте кодировку UTF-8 и валидность XML после генерации из CMS.
Качество карты
- Исключайте 404, редиректы на другие URL, дубли и параметрический мусор.
- Синхронизируйте карту с каноникалами и фактически индексируемым контентом.
- Мониторьте покрытие в отчётах вебмастера и логах обхода.
Частые вопросы
Обсудим ваш проект?
Расскажите о целях и сайте — предложу формат работы и следующий шаг.