Как создать sitemap.xml для сайта
Карта сайта помогает поисковым роботам быстрее находить важные URL, особенно на больших проектах.
Обновлено 11 сентября 2026
За 20-40 минут вы создадите файл sitemap.xml, проверите его структуру и отправите карту сайта в Яндекс Вебмастер и Google Search Console. Ниже есть ручной способ, варианты для CMS и понятные проверки, которые помогут найти ошибки до публикации файла.
Что такое sitemap.xml
Sitemap.xml, или карта сайта, это XML-файл со списком URL, которые вы рекомендуете поисковым роботам для обхода. Файл лежит в корне сайта и обычно открывается по адресу https://site.ru/sitemap.xml.
Карта сайта не гарантирует индексацию каждой страницы. Она сообщает роботу о существовании URL, дате его изменения и связях между файлами. Робот все равно проверит доступность, пользу и качество страницы.
Не путайте XML-карту с HTML-картой для посетителей. Тепловая карта сайта тоже относится к другой задаче: она показывает клики и движение пользователей по страницам, а не адреса для поисковых систем.
Какие URL добавлять
Включайте страницы, которые должны получать органический трафик:
- карточки товаров и услуг;
- категории, направления и полезные разделы;
- статьи и новости, если они открыты для индексации;
- основные страницы, например "О компании", "Контакты", "Доставка";
- страницы пагинации, если вы разрешаете их индексацию.
Не добавляйте URL, которые закрыты в robots.txt, имеют метатег noindex, возвращают редирект или ошибку. Также уберите страницы поиска по сайту, корзину, личный кабинет, сравнение товаров, технические параметры и дубли с разными вариантами сортировки.
Каждый адрес должен соответствовать канонической версии страницы. Если сайт работает по HTTPS, не смешивайте в карте адреса с HTTP. Выберите один вариант со слешем на конце или без него и используйте его везде.
| Параметр | Допустимое значение | Практическое правило |
|---|---|---|
| URL в одном файле | до 50 000 | При большем количестве создайте индекс карт |
| Размер одного файла | до 50 МБ без сжатия | Разделите большой файл на несколько частей |
| Кодировка | UTF-8 | Не сохраняйте XML в Windows-1251 |
| Статус URL | HTTP 200 | Уберите редиректы, 404 и 5xx |
| Адрес карты | в том же домене или поддомене | Проверьте правила поисковой системы для чужих хостов |
Как создать файл sitemap.xml вручную
Шаг 1. Соберите список страниц
Выгрузите URL из CMS, базы товаров или таблицы. Для небольшого сайта можно пройти разделы вручную. Оставьте в списке только канонические страницы со статусом 200.
Проверьте адреса командой:
curl -I https://site.ru/catalog/item/
В ответе должна быть строка HTTP/2 200 или HTTP/1.1 200 OK. Если сервер отвечает 301, 302, 403, 404 или 500, сначала исправьте причину.
Шаг 2. Создайте XML
Откройте обычный редактор кода и вставьте шаблон. Замените примеры на свои страницы.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://site.ru/</loc>
<lastmod>2025-02-14</lastmod>
</url>
<url>
<loc>https://site.ru/catalog/</loc>
<lastmod>2025-02-10</lastmod>
</url>
<url>
<loc>https://site.ru/catalog/item/</loc>
<lastmod>2025-02-12</lastmod>
</url>
</urlset>
Тег loc содержит полный URL. Тег lastmod показывает реальную дату последнего существенного изменения страницы. Не обновляйте эту дату каждый день автоматически, если текст и данные не менялись.
Теги changefreq и priority встречаются в старых примерах карты сайта. Их можно не добавлять: поисковые системы часто не используют эти подсказки. Точная ссылка, корректный статус и доступность страницы важнее.
Шаг 3. Сохраните файл
Сохраните документ под именем sitemap.xml в кодировке UTF-8 без BOM, если сервер или валидатор чувствителен к служебным символам. Загрузите файл в корневую папку домена через FTP, файловый менеджер хостинга или Git-деплой.
После загрузки откройте адрес в браузере. Вы должны увидеть XML, а не страницу 404, форму авторизации или HTML-код главной страницы.
Как создать карту сайта онлайн
Для небольшого статичного сайта подойдет онлайн-генератор sitemap xml. Вставьте адрес главной страницы, запустите сканирование и скачайте результат. Перед публикацией проверьте список вручную: генератор может принять служебные URL, параметры фильтра и закрытые разделы.
В генераторе обычно есть настройки глубины обхода, задержки между запросами, исключений и даты изменения. Не ставьте максимальную глубину без причины. Для сайта с тысячами страниц сначала задайте исключения для поиска, корзины, входа и фильтров.
Этот же список можно получить готовым: Seohand собирает его бесплатно за пару минут.
Онлайн-генератор не заменяет проверку. Он видит только страницы, до которых добрался по ссылкам или которые указаны в исходных данных. Сиротские страницы (URL без внутренних ссылок) он может пропустить.
CMS и WordPress
В WordPress карта сайта часто создается автоматически самой CMS или SEO-плагином. Проверьте адреса:
/wp-sitemap.xmlдля встроенной карты WordPress;/sitemap_index.xmlдля некоторых SEO-плагинов;- отдельные файлы товаров, записей и категорий, если их создает индекс.
Откройте настройки SEO-плагина и отключите из карты записи, таксономии и типы страниц, которые не должны индексироваться. После этого очистите кэш и снова откройте URL карты.
Не создавайте второй независимый файл поверх автоматической карты без причины. Если в robots.txt указан один адрес, а в панели поисковика отправлен другой, вы получите разные списки URL и запутаетесь при диагностике.
Проверка структуры карты
Проверка XML
Сначала проверьте синтаксис: закрыты ли все теги, есть ли один корневой элемент urlset или sitemapindex, правильно ли указана кодировка. Спецсимволы в адресах нужно экранировать:
&вместо символа амперсанда;<вместо знака меньше;>вместо знака больше;"вместо двойной кавычки внутри значения.
Для проверки sitemap xml используйте XML-валидатор или отчет об обработке карты в панели вебмастера. Вставьте URL файла, а не скриншот и не HTML-страницу. Валидатор должен показать корректный XML без незакрытых тегов и недопустимых символов.
Проверка URL
Скачайте карту и сравните ее с реальным сайтом. Удобно открыть файл в таблице или использовать краулер. Проверьте несколько URL из начала, середины и конца списка, а для большого сайта возьмите выборку из 100-200 адресов.
Ищите такие расхождения:
- в карте есть URL с параметрами, которых нет в канонической ссылке;
- страница отдает 200, но содержит
noindex; - карта содержит старые адреса после изменения структуры;
- дата
lastmodотличается от даты изменения на странице на месяцы; - в индексной карте указан несуществующий дочерний файл.
Индекс из нескольких карт
Если страниц больше 50 000 или файл превышает 50 МБ, создайте несколько карт и общий индекс:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://site.ru/sitemap-products.xml</loc>
<lastmod>2025-02-14</lastmod>
</sitemap>
<sitemap>
<loc>https://site.ru/sitemap-pages.xml</loc>
<lastmod>2025-02-14</lastmod>
</sitemap>
</sitemapindex>
В поисковые системы отправляйте индексный файл. Он должен ссылаться на доступные карты, а те уже содержат URL страниц.
Добавление в поисковые системы
Яндекс Вебмастер
- Откройте нужный сайт в Яндекс Вебмастере.
- Перейдите в раздел "Индексирование" и откройте отчет "Файлы Sitemap".
- Нажмите "Добавить" или "Добавить файл Sitemap".
- Введите полный адрес, например
https://site.ru/sitemap.xml. - Нажмите "Добавить" и дождитесь обработки.
Состояние файла смотрите в том же отчете. Ошибки чтения, недоступности или URL с проблемами появятся после обработки. Их исправляют на сайте, затем повторно отправляют карту или ждут нового обхода.
Google Search Console
- Выберите нужный ресурс в Google Search Console.
- Откройте отчет "Индексирование" и раздел "Файлы Sitemap".
- Вставьте часть адреса после домена или полный URL, если интерфейс его принимает.
- Нажмите "Отправить".
- Откройте строку карты и проверьте статус, дату чтения и число обнаруженных URL.
Отправка карты не ускоряет каждую страницу автоматически. Она дает поисковой системе структурированный список для планирования обхода. Если число обнаруженных URL равно нулю, проверьте формат, доступ робота и содержимое файла.
Частые ошибки
- В карту попадают редиректы. Такое случается после смены URL. Замените старый адрес конечным.
- Указаны страницы с кодом 404. Удалите их из файла. Если страница нужна, восстановите ее или настройте корректный редирект.
- Карта закрыта в robots.txt. Проверьте, не блокирует ли правило весь путь
/sitemap.xmlили папку, где лежит файл. - Файл отдает HTML вместо XML. Так бывает при ошибке сервера, защите от ботов или неправильной настройке маршрута. Посмотрите заголовок ответа и тело страницы.
- Использованы относительные ссылки. Запись
/catalog/не подходит. Нужен полный адрес с протоколом и доменом. - В XML стоят реальные амперсанды. Адрес с
?color=red&size=lдолжен содержать экранированный символ в исходном XML. - В карту добавили все страницы фильтров. Это раздувает файл и создает дубли. Оставьте фильтры только при осознанной стратегии индексации.
- Дата lastmod меняется при каждом открытии страницы. Робот получает ложный сигнал и перестает доверять датам.
- После обновления CMS осталась старая карта. Очистите кэш, проверьте фактический URL и сравните его с адресом в robots.txt.
- Индексный файл ссылается на карту другого протокола. Приведите все ссылки к HTTPS и проверьте доступ без авторизации.
Как поставить задачу нейросети
Нейросеть поможет подготовить XML по списку URL, найти дубли и составить правила исключений. Дайте ей исходные адреса и явно опишите ограничения. Не просите ее самостоятельно сканировать закрытый сайт без выгрузки: модель не видит серверные ответы и не знает реальную структуру проекта.
Используйте такой промпт:
Ты технический редактор sitemap.xml. Из списка URL ниже создай корректный XML-файл по протоколу Sitemap 0.9.
Правила:
1. Используй только URL из входного списка, не придумывай новые адреса.
2. Оставь только абсолютные URL домена https://site.ru.
3. Удали дубли, URL с параметрами, если они повторяют каноническую страницу, а также адреса /search/, /cart/, /login/ и /account/.
4. Не меняй путь, регистр и слеши внутри URL без объяснения.
5. Экранируй символы XML.
6. Добавляй lastmod только для дат, которые указаны во входных данных. Не выдумывай даты.
7. Если URL больше 50000, раздели список на sitemap-1.xml, sitemap-2.xml и создай sitemap_index.xml.
8. В конце выведи отдельный список удаленных URL с причиной.
9. Перед XML перечисли найденные проблемы: чужой домен, пустой URL, повтор, недопустимый символ, неизвестная дата.
Входные данные:
Домен: https://site.ru
URL и даты:
ВСТАВЬТЕ СЮДА ВЫГРУЗКУ
Нейросеть может ошибиться даже при точном промпте. Она способна принять несуществующий URL за рабочий, пропустить страницу с noindex, перепутать HTTP и HTTPS, неверно экранировать символы или выдумать дату изменения. Она также не видит редиректы, код ответа и правила robots.txt без отдельной выгрузки.
Поэтому после ответа проверьте XML валидатором, выборочно запросите URL с кодом 200, сравните карту с каноническими ссылками и отправьте файл в отчеты "Файлы Sitemap" поисковых систем. Храните исходный список отдельно, чтобы восстановить удаленные адреса и понять причину расхождения.