Что такое XML Sitemap
XML Sitemap (карта сайта) — это файл в формате XML, в котором перечислены все важные страницы вашего сайта. Он служит подсказкой для поисковых роботов: какие URL существуют, как часто они обновляются и какая из страниц приоритетнее.
Без sitemap.xml робот Googlebot или Яндекс-бот обходит сайт, опираясь только на внутренние ссылки. Если у вас молодой домен, нет входящих ссылок или сайт содержит страницы с ограниченным внутренним перелинком, часть контента может так и не попасть в индекс.
Отличие от HTML-карты сайта: HTML-карта — это обычная веб-страница для людей со списком ссылок. XML Sitemap — машиночитаемый файл исключительно для поисковых роботов. Они решают разные задачи и нередко используются вместе.
Протокол Sitemap поддерживают все крупные поисковики: Google, Яндекс, Bing, DuckDuckGo. Стандарт описан на sitemaps.org и остаётся неизменным с 2008 года.
Когда sitemap.xml особенно важен
- Новый сайт — мало внешних ссылок и внутренней перелинковки
- Крупный сайт — тысячи страниц, которые сложно обнаружить через ссылки
- Медиасайт с изображениями и видео — для отдельных sitemap-файлов медиаконтента
- Новостной сайт — Google News требует отдельный News Sitemap
- Страницы не связаны друг с другом через навигацию (например, карточки товаров без перелинковки)
Структура sitemap.xml — обязательные и необязательные теги
Каждый корректный sitemap.xml начинается с XML-декларации и содержит корневой элемент <urlset> с пространством имён. Внутри — набор блоков <url>.
Минимальный валидный sitemap.xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
</url>
<url>
<loc>https://example.com/about/</loc>
</url>
</urlset>
Единственный обязательный тег внутри <url> — это <loc> с полным абсолютным адресом страницы. Все остальные теги — необязательные.
Расширенный пример с необязательными тегами
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/blog/sitemap-guide/</loc>
<lastmod>2024-11-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://example.com/</loc>
<lastmod>2024-11-20</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
</urlset>
| Тег | Обязателен | Описание |
|---|---|---|
<loc> |
Да | Полный URL страницы (с протоколом https://) |
<lastmod> |
Нет | Дата последнего изменения в формате YYYY-MM-DD или с временем по ISO 8601 |
<changefreq> |
Нет | Примерная частота изменений: always, hourly, daily, weekly, monthly, yearly, never |
<priority> |
Нет | Относительная важность от 0.0 до 1.0 (по умолчанию 0.5) |
Важно про changefreq и priority: Google публично заявил, что игнорирует эти теги при принятии решений о краулинге. Яндекс тоже относится к ним как к подсказке, а не директиве. Их добавление не вредит, но реального влияния на частоту обхода они не оказывают. Единственный полезный необязательный тег — <lastmod> с актуальной датой изменения.
Sitemap Index для крупных сайтов
Один файл sitemap.xml ограничен 50 000 URL и не должен превышать 50 МБ несжатого объёма. Если сайт крупнее — используют Sitemap Index: главный файл, который ссылается на несколько дочерних sitemap-файлов.
Типичная схема для интернет-магазина: один индексный файл ссылается на отдельные sitemap для категорий, товаров, статей блога и изображений.
Пример Sitemap Index
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-pages.xml</loc>
<lastmod>2024-11-20</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2024-11-19</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2024-11-18</lastmod>
</sitemap>
</sitemapindex>
В robots.txt достаточно указать только главный индексный файл. Поисковик сам обнаружит и обработает все дочерние sitemap, на которые ссылается индекс.
Как добавить sitemap в Search Console и Яндекс.Вебмастер
Сообщить поисковику о наличии sitemap.xml можно двумя способами: через панель вебмастера и через robots.txt. Рекомендуется использовать оба.
Через Google Search Console
- Откройте search.google.com/search-console и выберите нужный ресурс.
- В левом меню выберите Индексирование → Файлы Sitemap.
- В поле «Добавить новый файл Sitemap» введите относительный путь, например
sitemap.xml. - Нажмите Отправить. Google поставит файл в очередь на обработку.
- Через несколько часов (иногда дней) в столбце «Обнаружено URL» появятся данные.
Через Яндекс.Вебмастер
- Откройте webmaster.yandex.ru и выберите сайт.
- Перейдите в Индексирование → Файлы Sitemap.
- Введите полный URL файла, например
https://example.com/sitemap.xml. - Нажмите Добавить. Яндекс проверит доступность и начнёт обработку.
Указание в robots.txt
Добавьте строку в конец файла robots.txt — это универсальный способ, который работает для всех поисковиков без настройки в каждой панели вебмастера:
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml
Подробнее о настройке robots.txt читайте в статье Robots.txt — полное руководство.
Типичные ошибки в sitemap.xml
Большинство проблем с sitemap.xml относится к нескольким повторяющимся категориям. Разберём каждую.
Неверная кодировка или кириллица в URL
Файл должен быть сохранён в UTF-8 без BOM. Русскоязычные URL необходимо URL-кодировать: %D0%B1%D0%BB%D0%BE%D0%B3 вместо блог. Большинство CMS делает это автоматически.
Страницы в sitemap заблокированы в robots.txt
Если URL из sitemap закрыт через Disallow в robots.txt, Google не сможет его обойти и сообщит об ошибке в Search Console. Sitemap должен содержать только те страницы, которые доступны для краулинга.
URL с параметрами и дубли
Включать в sitemap ссылки вроде /catalog/?sort=price&page=2 — плохая практика. В sitemap должны попадать только канонические URL: чистые, без UTM-меток, сессионных параметров и дубликатов с/без слеша.
HTTP вместо HTTPS
Если основной сайт работает по HTTPS, в sitemap все URL должны начинаться с https://. URL с http:// будут приводить к редиректу, что снижает эффективность краулинга.
Страницы с noindex в sitemap
Страницы с мета-тегом <meta name="robots" content="noindex"> противоречат попаданию в sitemap — вы одновременно говорите «не индексируй» и «посети меня». Такие страницы нужно исключить из карты сайта.
Неправильный Content-Type
Сервер должен отдавать sitemap.xml с заголовком Content-Type: application/xml или text/xml. Если сервер возвращает text/html, некоторые парсеры могут некорректно обработать файл.
Как проверить Sitemap онлайн
Ручная проверка sitemap.xml занимает время и требует знания спецификации. Автоматические инструменты делают это за секунды — анализируют структуру XML, пространство имён, доступность дочерних файлов, корректность тегов и предупреждают о потенциальных проблемах.
Что стоит проверить в первую очередь:
- XML валиден и не содержит синтаксических ошибок
- Корневой элемент
<urlset>содержит верное пространство имён - Все
<loc>— абсолютные URL с правильным протоколом - Файл доступен по HTTP с кодом 200 и корректным Content-Type
- Количество URL не превышает лимит в 50 000
- Значения
<lastmod>,<changefreq>и<priority>соответствуют спецификации
Проверьте ваш sitemap.xml прямо сейчас
Chexter анализирует структуру XML, пространство имён, доступность, Content-Type, лимиты и валидность тегов. Без регистрации, результат за несколько секунд.