Генератор sitemap.xml

sitemap generator: валидный sitemap.xml из списка URL или CSV, с lastmod, changefreq и priority. Проверка лимитов 50 000 URL и 50 МБ, копирование и скачивание.

Всё работает в вашем браузере — данные не отправляются на сервер.

Зачем сайту нужна карта сайта

sitemap.xml — это список адресов сайта в специальном XML-формате, который говорит поисковым роботам, какие страницы стоит обойти и какие из них считаются главными. Запрос «sitemap xml пример» и задача «как собрать карту сайта» возникают в двух ситуациях: на старте, когда сайт ещё не известен поисковикам, и после переезда, когда нужно показать новому домену всю структуру сразу. Генератор sitemap.xml собирает валидный файл из обычного списка адресов или из CSV-выгрузки: расставляет lastmod, подставляет домен, проверяет дубликаты и лимиты протокола. Файл получается готовым к загрузке в корень сайта, к строке Sitemap в robots.txt и к карте сайта в Search Console.

Что умеет генератор sitemap.xml

  • Два источника адресов: список вручную по одному в строке и CSV или текст через запятую
  • Абсолютные адреса: /about превращается в полный адрес по вашему домену
  • Дата lastmod для каждого адреса и общая дата для всех страниц сразу
  • Приоритет от 0.1 до 1.0 и частота изменения: daily, weekly, monthly, yearly, never
  • Проверка результата: число адресов, вес файла, повторы и лимиты протокола
  • Копирование готового XML и скачивание файла sitemap.xml

Как сделать карту сайта

  1. Впишите домен и, если нужно, общую дату изменения страниц
  2. Выберите источник: список вручную или CSV-выгрузка
  3. Вставьте адреса — по одному в строке или через запятую
  4. Задайте приоритет, частоту изменения и при необходимости оставьте только главную
  5. Проверьте счётчики, скопируйте XML и положите файл в корень сайта

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

Файл начинается со строки объявления XML и корневого элемента urlset с пространством имён http://www.sitemaps.org/schemas/sitemap/0.9 — без этого атрибута поисковик не признает файл картой сайта. Внутри стоят элементы url, а в каждом — обязательный loc с полным адресом страницы и, по желанию, lastmod с датой в формате YYYY-MM-DD, changefreq с частотой и priority с числом от 0.0 до 1.0. Перед сборкой список очищается: пустые строки пропускаются, значения разбираются как даты, повторяющиеся адреса сравниваются по нормализованному виду и удаляются, потому что один и тот же адрес дважды в карте считается ошибкой.

Примеры строк карты сайта и их смысл

СтрокаЧто означаетКомментарий
<loc>https://example.com/</loc>Адрес главной страницыОбязательный элемент каждой записи
<lastmod>2026-01-15</lastmod>Дата последнего измененияФормат YYYY-MM-DD, менять только при правках
<changefreq>weekly</changefreq>Заявленная частота обновленияGoogle это значение не использует
<priority>0.5</priority>Заявленный приоритет страницыGoogle это значение игнорирует
xmlns=...sitemap/0.9Пространство имён протоколаБез него файл не считается картой
<urlset>Корневой элемент картыСодержит все элементы url
Sitemap: https://example.com/sitemap.xmlСсылка на карту из robots.txtСамая простая схема подключения
<sitemapindex>Индекс карт для больших сайтовСсылки на несколько sitemap.xml
50 000 URLМаксимум адресов в одном файлеПревышение — ошибка протокола
50 МБМаксимальный размер файла без сжатияСчитается до сжатия архива
https://example.com/page?ref=1Адрес с параметромВ карту такие адреса не кладут
https://example.com/pageКанонический адресИменно он и должен быть в карте

Каждая строка примера соответствует тому, что реально попадает в готовый файл, — включая отступы и порядок элементов.

Когда карта сайта приносит больше пользы

Первый случай — новый сайт. Робот узнаёт о страницах из ссылок, а на новом домене ссылок ещё нет: карта превращается в список, по которому обход начинается осмысленно, с главной страницы и разделов. Второй случай — большой каталог, где обход всех товаров занимает несколько дней, а половина ссылок ведёт в тупики. Здесь карта экономит время робота: он идёт по списку, а не перебирает бесконечные пагинации. Третий — сайт с плохой перелинковкой, где важные страницы спрятаны за три клика и почти не упоминаются в меню. Четвёртый — сайт после переезда, когда старые адреса закрыты, а новые ещё не заработали.

Пятый случай — интернет-магазин, где у каждого товара есть несколько адресов: с цветом, с размером, с фильтром. Карта помогает показать роботу, какие из этих вариантов считать основными, а какие — производными от одного товара. Шестой — сайт с нерусскими адресами, где часть страниц доступна по транслитерации, а часть по латинице. Седьмой — любой сайт, где важна скорость обновления: новостной раздел с часовыми публикациями или каталог с частыми остатками. Восьмой — ресурс с большим архивом, где старые страницы давно не обновляются, и карта помогает роботу отличить свежее от архивного.

  • Новый сайт, у которого ещё нет внешних ссылок
  • Большой каталог, где обход по ссылкам не успевает
  • Важные страницы, плохо связанные с остальными
  • Переезд на новый домен со сменой адресов
  • Магазин с фильтрами, цветами и вариантами товара
  • Сайт с транслитерацией адресов и дублями на латинице

Частые ошибки при составлении карты

Первая ошибка — положить в карту всё подряд. Служебные адреса, страницы поиска, фильтры и дубли выглядят как нормальные страницы, но для робота это шум, из-за которого обход растягивается. Вторая — указать адреса с метками: utm-разметка в карте не нужна, робот всё равно приводит адреса к каноническому виду. Третья — забыть протокол и написать адреса как /about. Такой файл формально невалиден, и часть поисковиков разбирает его частично или не разбирает совсем.

Четвёртая ошибка — поставить дату изменения в будущее или обновлять её без изменений. Робот быстро замечает, что lastmod меняется, а содержимое нет, и перестаёт ориентироваться на метку. Пятая — дубликаты: один адрес, записанный с www и без или с завершающим слэшем и без, считается разными строками, но для поисковика это один документ, и повтор снижает доверие к карте. Шестая — загрузить файл не в корень, а в папку: robots.txt работает только из корня, и с картой сайта то же самое, если на неё ссылаются через директиву Sitemap.

  • В карту попали служебные страницы и страницы поиска
  • Адреса записаны с utm-метками рекламы
  • Адреса без протокола: /about вместо полного адреса
  • lastmod меняется, хотя страница не менялась
  • Один и тот же адрес записан несколько раз
  • Файл загружен не в корень сайта

Разбор примера по шагам

Возьмём блог на домене example.com, у которого 24 страницы. Задача: собрать карту из выгрузки CSV, проставить дату изменения и не допустить попадания служебных адресов. Шаг первый — домен: вписываем example.com, чтобы относительные адреса превратились в абсолютные. Шаг второй — источник: выбираем CSV, потому что адреса пришли из таблицы, где в первой колонке ссылки, а во второй дата редактирования. Шаг третий — вставляем выгрузку: заголовок url,lastmod в генераторе распознаётся и пропускается, а строки вида https://example.com/posts/...,2026-02-11 разбираются на адрес и дату. Если выгрузка приходит не в CSV, а обычным текстом, её сперва приводят к табличному виду, например через конвертер CSV в JSON.

После разбора остаётся собрать файл. Для каждого адреса записывается блок url с четырьмя строками: loc с полным адресом, lastmod с датой из CSV или с общей датой, changefreq с выбранной частотой и priority с выбранным числом. Все элементы перечисляются в порядке, который требует протокол: сначала loc, потом lastmod, changefreq и priority. Корневой urlset с пространством имён пишется один раз в начале, закрывается в конце. Дальше остаётся проверить счётчики: сколько адресов попало в файл, сколько повторов убрано, укладывается ли вес в 50 МБ.

Что происходит на каждом шаге генерации

ШагЧто делаетЧто попадает в файл
1Разбор строкДелит ввод на строки и ячейки
2ЗаголовокОтбрасывает первую строку, если это шапка таблицы
3Абсолютные адресаДобавляет протокол и домен
4ПовторыСравнивает нормализованные адреса
5ПроверкаСчитает адреса, вес и сравнивает с лимитами
6Сборка XMLПишет urlset и элементы url
7ДатаПодставляет дату из строки или общую
8ВыгрузкаОтдаёт текст и файл для скачивания

Всё происходит в памяти вкладки: ни список адресов, ни готовый XML не покидают компьютер, пока вы сами не скопируете их.

Карта сайта, robots.txt и мета-теги: кто за что отвечает

Эти три вещи часто путают, потому что все три про поиск и все три живут в текстовых файлах. Карта сайта — это список адресов, которые стоит обойти и которые считаются основными. robots.txt — это запреты на обход, и его правила собираются в генераторе robots.txt. Мета-теги title и description — это то, что робот увидит, когда страница попадёт в выдачу, и они собираются в генераторе мета-тегов. Связка выглядит так: карта говорит, куда идти, robots.txt говорит, куда не идти, а мета-теги определяют, как страница будет выглядеть в результатах.

Ещё один слой — файл .htaccess, где на уровне сервера задаются редиректы и коды ответов, включая X-Robots-Tag. Его правила пишет генератор .htaccess. Отдельно стоит сказать про проверку: сначала убедитесь, что карта вообще доступна по адресу и отдаётся как XML, потом отправьте её в панель вебмастера и дождитесь обработки, а уже потом судите по статистике индексации. Иначе легко потратить день, разбираясь с цифрами, которые ещё не успели посчитать. Код ответа на саму карту стоит проверить отдельно: справочник HTTP-статусов поможет отличить рабочий файл от страницы с ошибкой.

  • Карта сайта перечисляет адреса, robots.txt запрещает обход
  • Title и description задают вид страницы в выдаче
  • Коды ответов и редиректы живут в конфигурации сервера
  • Закрытую в robots.txt страницу не стоит держать в карте
  • Сначала проверьте доступность файла, потом смотрите статистику
  • Для больших сайтов делают индекс карт, а не один гигантский файл

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

Что такое sitemap.xml и зачем он нужен

Это XML-файл со списком адресов сайта, который отдаётся поисковым роботам как подсказка: вот эти страницы существуют, вот они главные. Карта не запрещает обход, она направляет его. Для робота это способ узнать о страницах, до которых он не дошёл по ссылкам, — особенно на больших сайтах, где обход всех страниц занимает дни. Второе назначение — сообщить, какие адреса считать каноническими, если на одну страницу ведут несколько вариантов. Формат описан в протоколе sitemaps.org, и его понимают Google, Яндекс и Bing. Как строить карту сайта на живом примере, разобрано в статье sitemap.xml — карта сайта. Разница между двумя форматами XML разобрана в статье XML и JSON.

Сколько адресов можно положить в sitemap.xml

По протоколу в одном файле разрешено до 50 000 адресов, и размер файла без сжатия не должен превышать 50 МБ. Это ограничения формата, а не настройки вашего хостинга. Если адресов больше, их делят на несколько файлов, а эти файлы перечисляют в отдельном файле индекса карт — sitemap index, который ссылается на остальные. В самом индексе может быть не больше 50 000 ссылок на файлы, поэтому в очень крупных проектах структура становится двухуровневой. В генераторе обе границы проверяются на лету, и если файл упирается в лимит, вы увидите предупреждение до загрузки.

Какие значения ставить в priority и changefreq

Особого значения — никакого. Google прямо пишет в документации, что значение priority в карте сайта игнорирует, а changefreq не использует при обходе: робот сам решает, как часто возвращаться. Это касается и Яндекса. Поля остаются в файле ради совместимости с протоколом и ради сторонних инструментов, которые их читают. Практический вывод простой: не тратьте время на расстановку приоритетов, поставьте ровные значения и займитесь более важным — составом адресов и датами изменения.

Нужно ли указывать дату lastmod и какую

Указывать полезно, но отвечайте честно. Дата lastmod — это время, когда содержимое страницы менялось в последний раз, а не время, когда вы вспомнили про карту. Формат простой: YYYY-MM-DD, можно с часами и минутами. Если страница менялась в марте, а не в октябре, ставьте март: правдивая дата полезнее свежей. Ещё точнее работает вариант с полным временем, но для большинства сайтов достаточно дня. Важно другое правило: если дата меняется без изменения содержимого, сигнал обесценивается, и робот перестаёт доверять этой метке.

Нужно ли отправлять карту в robots.txt и в Search Console

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

Можно ли класть в карту адреса с параметрами

Как правило, нет. Адреса с параметрами, метками или сортировкой порождают бесконечное количество почти одинаковых вариантов, и робот обходит их вместо полезных страниц. В карту кладут только канонические адреса: без utm-меток, без сортировки, без номеров страниц, без идентификаторов сессий. Если на одну страницу ведут несколько вариантов, в карте должен быть один — тот, который вы считаете основным, и на всех вариантах должен стоять канонический тег. Страницы, закрытые в robots.txt, в карту тоже не добавляют: это прямое противоречие, которое поисковик разрешает не в вашу пользу. Список закрытых адресов удобно держать рядом с генератором robots.txt.

Что делать, если в карте много страниц noindex

Убрать их. Страница с тегом noindex не должна попадать в карту: robots.txt говорит роботу, куда идти, а карта — куда стоит смотреть, и если адрес присутствует в обоих местах с противоположным смыслом, результат зависит от того, что робот прочтёт первым. Обычно выигрывает запрет, но полагаться на это не стоит. Практический приём: выгрузите из Search Console отчёт об индексации, посмотрите, какие адреса выпали, и вычистите их из списка. Карта из 300 адресов, где все 300 в индексе, полезнее карты из 5000 адресов, из которых половина отсеяна.

Нужно ли обновлять sitemap.xml постоянно

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

Похожие инструменты