13 мин чтения Поисковая оптимизация (SEO)

Sitemap.xml: как создать карту сайта и сообщить о ней Яндексу и Google

продвижение сайтов
Содержание12

Sitemap.xml — файл со списком адресов сайта, по которому Яндекс и Google узнают о страницах, до которых робот мог не дойти по ссылкам. Создайте его средствами CMS или скриптом, положите в корень сайта, пропишите строкой Sitemap в robots.txt и добавьте в Яндекс Вебмастер и Google Search Console. Карта ускоряет обнаружение страниц, но не гарантирует, что все они попадут в поиск.

Что такое sitemap.xml и что он даёт сайту

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

Яндекс поддерживает два формата: XML и TXT. Текстовый файл содержит только адреса, по одному в строке. XML рекомендован, потому что передаёт дополнительные сведения: дату обновления, а через расширения — изображения и языковые версии страниц.

Главное, что даёт sitemap, — обнаружение. Робот находит страницы, переходя по ссылкам, и пропускает те, до которых ссылки не ведут или ведут через пять кликов. Карта сайта показывает ему такие адреса напрямую. Решение, индексировать ли страницу, поисковик при этом принимает сам: Яндекс прямо пишет, что не гарантирует попадание в поиск всех адресов из файла.

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

Факт. Яндекс не гарантирует, что все адреса из файла Sitemap попадут в результаты поиска: файл служит подсказкой для робота.

Нужна ли карта сайта именно вашему сайту?

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

Обратная граница тоже есть. Google считает, что файл Sitemap не нужен сайту, где не больше 500 страниц для поиска и с главной по ссылкам можно дойти до любой из них. Сайт-визитка из десяти страниц с нормальным меню проиндексируется и без карты.

На практике карту всё равно стоит сделать почти любому сайту: она ничего не ломает, а большинство CMS собирают её сами. Исключение — ручная карта на небольшом сайте, которую никто не обновляет. Устаревший файл с удалёнными адресами вредит больше, чем его отсутствие: робот тратит обход на ошибки 404, а в Вебмастере копятся предупреждения.

Мнение. Если у вас интернет-магазин, каталог или блог, который пополняется каждую неделю, автоматическая карта сайта обязательна. Если сайт из пары десятков страниц и CMS карту не строит, сначала проверьте внутренние ссылки: они важнее файла.

Как устроен файл sitemap.xml

Файл sitemap.xml — XML-документ в кодировке UTF-8 с корневым тегом urlset. Каждая страница описана блоком url, внутри которого обязательный тег loc с полным адресом. Остальные теги необязательны.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://site.ru/services/</loc>
    <lastmod>2026-09-15</lastmod>
  </url>
  <url>
    <loc>https://site.ru/blog/kak-vybrat-hosting/</loc>
    <lastmod>2026-09-28</lastmod>
  </url>
</urlset>

Яндекс и Google читают необязательные теги по-разному, и от этого зависит, стоит ли их заполнять:

Тег Что означает Яндекс Google
loc Полный адрес страницы Обязателен Обязателен
lastmod Дата последнего изменения Учитывает Учитывает, если дата точная
changefreq Как часто меняется страница Принимает Игнорирует
priority Значимость страницы от 0.0 до 1.0 Учитывает при порядке обхода Игнорирует

Отсюда вывод: lastmod заполняйте честно, датой реального изменения содержимого. Google использует это значение, только если оно гарантированно точное. Сайт, у которого CMS ставит сегодняшнюю дату на все страницы при каждой генерации, просто приучает поисковик не доверять этому полю.

Требования к файлу: лимиты, кодировка, домен

Требования к sitemap у Яндекса и Google совпадают, потому что обе системы следуют одному протоколу Sitemap. Нарушение любого пункта приводит к тому, что файл целиком или часть адресов не обрабатываются.

  • Не больше 50 000 адресов в одном файле — если ссылок больше, делите карту на части и собирайте их в файл индекса Sitemap.
  • Не больше 50 МБ в несжатом виде — лимит действует для файла до архивации gzip.
  • Кодировка UTF-8 — кириллические адреса робот Яндекса распознаёт и закодированными, и в исходном виде.
  • Только свой домен — в файле перечисляют страницы того домена, на котором он лежит, и с тем же протоколом и префиксом www.
  • Ответ 200 — при запросе файла сервер отдаёт код 200, а не редирект и не ошибку.
  • Полные абсолютные адреса — https://site.ru/page/, а не /page/: Google сканирует ровно те адреса, что перечислены.

Есть ограничение и на длину одного адреса. У Яндекса общий лимит — 2048 символов, из них 1024 приходится на домен и 1024 на путь после него. Обычный сайт до этого предела не доходит, а вот фильтры каталога с десятком параметров в адресе иногда упираются.

Скорость сервера тоже важна. Если сервер отвечает дольше 10 секунд, инструмент Вебмастера файл не загрузит, и робот его при обходе не учтёт.

Какие страницы включать в карту сайта, а какие нет?

В sitemap попадают только канонические адреса — те, которые вы хотите видеть в выдаче. Яндекс первым шагом создания файла называет выбор канонических адресов для страниц с похожим содержимым, Google просит включать только основной вариант страницы.

Включайте:

  • Страницы услуг и товаров — всё, что приносит заявки и продажи.
  • Разделы каталога и статьи блога — основные адреса, без параметров сортировки.
  • Важные информационные страницы — контакты, доставка, оплата, о компании.

Не включайте адреса, которые противоречат другим сигналам сайта. Страница с редиректом, с ответом 404, с метатегом noindex, закрытая в robots.txt или с canonical на другой адрес не должна стоять в карте: вы одновременно просите робота её проиндексировать и запрещаете это. Сюда же относятся страницы поиска по сайту, корзина, личный кабинет, версии для печати и адреса с UTM-метками.

Карта сайта — список того, что вы хотите видеть в выдаче. Если адрес отдаёт редирект, 404 или закрыт noindex, ему в sitemap не место.

Как создать карту сайта: CMS, генератор или скрипт

Создать карту сайта sitemap можно тремя способами, и выбор зависит от размера сайта и движка. Google называет оптимальным вариантом средства самого сайта: так карта обновляется вместе с контентом.

  1. Средствами CMS

    WordPress, 1С-Битрикс и большинство других платформ строят карту сами или через модуль. Найдите в настройках раздел про sitemap, включите генерацию и проверьте, какие разделы в неё попадают.

  2. Вручную

    Подходит, если адресов несколько десятков или меньше. Файл пишут в текстовом редакторе по образцу выше и сохраняют в UTF-8. Минус в том, что каждую новую страницу придётся добавлять руками.

  3. Скриптом или генератором

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

Если адресов больше 50 000, создайте несколько файлов и файл индекса Sitemap с корневым тегом sitemapindex: в нём перечисляются не страницы, а адреса отдельных карт. Отправлять в поисковики достаточно индексный файл. Удобно делить карты по типам: товары, категории, статьи. Так в отчётах видно, какой раздел индексируется хуже.

Как указать sitemap в robots.txt?

Строка Sitemap в robots.txt сообщает адрес карты любому роботу, который читает этот файл, и не требует кабинета вебмастера. Достаточно одной строки с полным адресом:

User-agent: *
Disallow: /cart/
Disallow: /search/

Sitemap: https://site.ru/sitemap.xml

У Яндекса директива Sitemap межсекционная: робот учтёт её, в каком бы месте robots.txt она ни стояла. Если карт несколько, перечислите каждую отдельной строкой. Google количество таких строк не ограничивает. Адрес пишите полностью, с протоколом и доменом: относительный путь здесь не работает.

Проверьте, чтобы robots.txt не запрещал сам файл карты или разделы, адреса из которых в ней перечислены. Как правильно составить правила Disallow и Allow, разобрали в статье про файл robots.txt.

Факт. Директива Sitemap у Яндекса межсекционная: робот использует её независимо от того, в какой секции robots.txt она указана.

Как отправить sitemap в Яндекс Вебмастер

Строки в robots.txt достаточно, чтобы робот нашёл карту, но в Вебмастере видно, обработал ли он файл и какие нашёл ошибки. Сайт должен быть добавлен в кабинет и подтверждён — как это сделать, описано в инструкции как добавить сайт в Яндекс Вебмастер.

  1. Проверьте файл

    Откройте инструмент «Анализ файлов Sitemap», вставьте ссылку на файл, его текст или загрузите сам файл и нажмите «Проверить».

  2. Добавьте карту

    Перейдите в раздел «Индексирование -> Файлы Sitemap», выберите сайт, впишите адрес файла и нажмите «Добавить».

  3. Дождитесь обработки

    Робот загрузит файл в течение двух недель. Каждый файл, вложенный в индекс Sitemap, обрабатывается отдельно.

  4. Проверьте статус

    «OK» значит, что файл загружен. «Редирект», «Ошибка» и «Не проиндексирован» требуют исправления.

Изменённый файл заново добавлять не нужно: робот сам регулярно его перепроверяет. Чтобы ускорить обход, нажмите значок обновления напротив файла — данные загрузятся в течение трёх дней. Функция доступна до 10 раз для одного хоста, а после того, как попытки закончатся, следующая откроется через 30 дней после первой.

Как отправить sitemap в Google Search Console?

В Google отправка карты — это сообщение, где лежит файл: сам файл в Google не загружается, робот забирает его по адресу. Отправить карту через отчёт может только владелец ресурса в Search Console. Без таких прав остаётся строка Sitemap в robots.txt.

  1. Опубликуйте файл

    Лучше в корне сайта: Google рекомендует корневой уровень, чтобы карта действовала на весь сайт.

  2. Проверьте доступ

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

  3. Отправьте адрес

    В отчёте «Файлы Sitemap» вставьте ссылку в поле «Добавьте файл Sitemap» и нажмите «Отправить».

  4. Смотрите статус

    «Успешно», «Не получено» или «Обнаружены проблемы».

Отчёт показывает только карты, отправленные через него или через API: файл, найденный роботом в robots.txt, в списке не появится. Если файл не виден, проверьте, тот ли ресурс выбран — с http или https, с www или без. Как подтвердить права и читать остальные отчёты, разобрали в статье как подключить сайт к Google Search Console.

Частые ошибки с файлом sitemap

Большинство проблем с картой сайта видно в Вебмастере и Search Console, но только если их там смотреть. Вот что встречается чаще всего:

  • 01 Адреса с редиректом и 404

    Карту собрали один раз, потом сменили структуру, а файл остался прежним.

  • 02 Не тот протокол или домен

    В карте http или www, а сайт работает на https без www. Вебмастер такой файл к сайту не отнесёт.

  • 03 Файл закрыт в robots.txt

    Правило Disallow для служебных файлов случайно задело и sitemap.

  • 04 Одинаковый lastmod у всех страниц

    Дата генерации вместо даты изменения, поисковик перестаёт ей доверять.

  • 05 В карте дубли

    Адреса с параметрами, со слэшем и без, сортировки каталога рядом с основной страницей.

  • 06 Ожидание, что карта поднимет позиции

    Sitemap помогает найти страницу, а не ранжирует её выше.

Если на сайте всё перечисленное уже проверено, а страницы всё равно не попадают в поиск, дело не в карте: смотрите качество страниц, дубли и внутренние ссылки. Такие вещи разбирают на SEO-аудите сайта — проверим карту, robots.txt и то, какие страницы поисковик исключает и почему.

Источники

Частые вопросы

Где должен лежать файл sitemap.xml?

Лучше всего в корне сайта: https://site.ru/sitemap.xml. Google пишет, что файл, размещённый в каталоге и отправленный не через Search Console, действует только на адреса этого каталога и ниже. Имя файла может быть любым, главное — указать точный адрес в robots.txt и в кабинетах.

Можно ли передать изображения через sitemap?

Да, через расширение протокола для изображений: и Яндекс, и Google поддерживают такие сведения в XML-карте. RSS и Atom-фиды в качестве Sitemap Яндекс не принимает, Google — принимает.

Почему Вебмастер показывает sitemap среди исключённых страниц?

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

Поделиться
ВКонтакте Telegram MAX

Расскажите о задаче — посчитаем смету

Ответьте на несколько вопросов: что за компания, какие разделы нужны, есть ли тексты и фотографии. Этого хватит, чтобы посчитать смету с фиксированной ценой и сроком — она бесплатна и ни к чему не обязывает.
Написать