Как создать sitemap.xml: генератор, CMS или вручную
Создать sitemap.xml можно тремя способами: включить встроенную карту в CMS, сгенерировать файл онлайн-генератором или собрать его программно. Для сайта до нескольких сотен страниц хватит генератора: вы получите готовый файл за пару минут. Дальше его нужно положить в корень сайта, прописать в robots.txt и отправить в Яндекс Вебмастер и Google Search Console.
Что такое sitemap.xml и кому он нужен
Карта сайта — XML-файл со списком адресов, которые вы хотите видеть в поиске. Она не заставляет поисковик индексировать страницы, а подсказывает, что существует и что менялось. Больше всего пользы файл приносит новым сайтам, каталогам с глубокой вложенностью и сайтам, где часть страниц плохо связана ссылками.
Если у вас лендинг из одной страницы, карта почти ничего не даёт. Если интернет-магазин на десятки тысяч товаров — без неё робот может месяцами не находить новые карточки.
Три способа создать карту сайта
| Способ | Кому подходит | Плюсы | Минусы |
|---|---|---|---|
| Встроенная карта CMS | WordPress, Битрикс, Tilda, магазины на движках | Обновляется сама при добавлении страниц | Часто включает лишнее: теги, вложения, служебные страницы |
| Онлайн-генератор | Небольшие сайты, разовая задача, проверка | Быстро, без программиста | Файл не обновляется сам, нужно пересоздавать |
| Программная генерация | Крупные каталоги, Next.js и свои движки | Точный список, правильный lastmod, разбиение по файлам | Нужна разработка |
Способ 1. Включить карту в CMS
В WordPress начиная с версии 5.5 есть встроенная карта по адресу /wp-sitemap.xml, а SEO-плагины заменяют её своей. В Битриксе карта настраивается в разделе «Маркетинг → Поисковая оптимизация». В Tilda файл формируется автоматически. Задача владельца — проверить, что туда не попали лишние адреса.
Способ 2. Сгенерировать онлайн
- Откройте генератор sitemap.xml и укажите адрес сайта.
- Дождитесь обхода: генератор пройдёт по ссылкам и соберёт найденные страницы.
- Просмотрите список и уберите адреса, которым не место в поиске: корзина, поиск, фильтры с параметрами, страницы благодарности.
- Скачайте файл и загрузите его в корень сайта, чтобы он открывался по адресу https://ваш-сайт.ru/sitemap.xml.
- Добавьте строку Sitemap в robots.txt. Если файла robots.txt нет, его можно собрать в генераторе robots.txt.
Генератор находит только страницы, на которые ведут ссылки. Если какой-то раздел есть на сайте, но в меню его нет, в карту он не попадёт. Это полезный сигнал: такие страницы-сироты плохо индексируются и без карты, о них есть отдельный разбор.
Способ 3. Собрать программно
Для каталогов и сайтов на своих движках карту лучше генерировать из базы: так в неё попадают только опубликованные страницы, а дата lastmod берётся из реального времени изменения. В Next.js для этого есть файл sitemap в каталоге app, в других фреймворках — свои модули.
Как выглядит файл и какие теги важны
Минимальная запись — тег url с адресом в теге loc. Остальные теги необязательны, и поисковики относятся к ним по-разному.
| Тег | Яндекс | Совет | |
|---|---|---|---|
| loc | Обязателен, полный адрес с протоколом | Обязателен | Только канонические адреса с кодом 200 |
| lastmod | Использует, если дата стабильно совпадает с реальными изменениями | Описывает как дату обновления | Не ставьте сегодняшнюю дату всем страницам |
| priority | Игнорирует | Учитывает при обходе | Можно оставить, но не ждите чуда |
| changefreq | Игнорирует | Описан как частота изменения | Необязателен |
Поведение Google описано в справке Search Central, Яндекса — в справке Вебмастера.
Лимиты и разбиение на несколько файлов
У обоих поисковиков одинаковые ограничения: не больше 50 000 адресов и 50 МБ в несжатом виде на один файл. Если адресов больше, разбейте карту на части, например по разделам, и перечислите их в индексном файле sitemap. Отправлять в Вебмастер и Search Console тогда достаточно только индексный файл.
- Кодировка файла — UTF-8, спецсимволы в адресах экранируются, как в любом XML.
- Адреса абсолютные: https://site.ru/page, а не /page.
- Протокол и домен совпадают с основным зеркалом: без смеси http и https, www и без www.
- Только страницы с ответом 200, без редиректов, 404 и закрытых в robots.txt.
Если карта не читается из-за кириллицы или амперсандов в адресах, посмотрите разбор ошибок экранирования в sitemap.
Как сообщить поисковикам и проверить результат
- Добавьте в robots.txt строку: Sitemap: https://ваш-сайт.ru/sitemap.xml.
- В Яндекс Вебмастере проверьте файл инструментом «Анализ файлов Sitemap», затем добавьте его в разделе «Файлы Sitemap».
- В Google Search Console откройте отчёт «Файлы Sitemap» и отправьте адрес.
- Через несколько дней посмотрите статус: сколько адресов найдено и сколько из них в индексе.
- Если в карте много адресов, а в индексе мало, ищите причину в качестве и дублях страниц, а не в самом файле.
Частые ошибки в sitemap
- В карте тысячи адресов фильтров и сортировок с параметрами.
- Встроенная карта CMS и карта плагина работают одновременно, в robots.txt указаны обе.
- После переезда на HTTPS в карте остались адреса с http.
- Файл давно не обновлялся: в нём удалённые страницы с ответом 404.
- lastmod у всех страниц равен дате генерации файла.
Остальные ошибки, которые режут трафик вместе с robots.txt, мы собрали в статье про карту сайта и robots.txt.
Вопросы и ответы
Как создать карту сайта бесплатно?
Воспользуйтесь онлайн-генератором: укажите адрес, дождитесь обхода и скачайте файл. Затем загрузите его в корень сайта и добавьте ссылку в robots.txt. Если сайт на CMS, сначала проверьте встроенную карту — возможно, она уже есть.
Сколько страниц можно указать в одном sitemap.xml?
Не больше 50 000 адресов и 50 МБ без сжатия. Если страниц больше, карту делят на несколько файлов и перечисляют их в индексном файле sitemap.
Где должен лежать файл sitemap.xml?
Лучше всего в корне сайта: https://site.ru/sitemap.xml. Технически файл может лежать где угодно, если его адрес указан в robots.txt и в панелях вебмастера, но корень — самый понятный вариант.
Нужно ли указывать priority и changefreq?
Google эти теги игнорирует. Яндекс учитывает priority при обходе, поэтому оставить его можно. Гораздо важнее правильный lastmod и чистый список адресов.
Как часто обновлять карту сайта?
Каждый раз, когда появляются или удаляются страницы. Поэтому для сайтов, где контент меняется часто, лучше карта, которая генерируется автоматически из CMS или базы, а не файл из генератора.
Читайте также
Sitemap не читается: URL-кодирование и экранирование XML
SEOSEO-анализ страницы сайта: что проверить за 15 минут
SEOПроверка сайта на битые ссылки: как найти и что исправить
SEOGoogle показывает старую дату статьи: что проверить
SEOЗапросы внутреннего поиска: какую SEO-страницу создавать
SEOФильтр regex в Search Console: как не потерять нужные запросы