Генератор 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
Как сделать карту сайта
- Впишите домен и, если нужно, общую дату изменения страниц
- Выберите источник: список вручную или CSV-выгрузка
- Вставьте адреса — по одному в строке или через запятую
- Задайте приоритет, частоту изменения и при необходимости оставьте только главную
- Проверьте счётчики, скопируйте 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 и зачем он нужен
Сколько адресов можно положить в sitemap.xml
Какие значения ставить в priority и changefreq
Нужно ли указывать дату lastmod и какую
Нужно ли отправлять карту в robots.txt и в Search Console
Можно ли класть в карту адреса с параметрами
Что делать, если в карте много страниц noindex
Нужно ли обновлять sitemap.xml постоянно
Похожие инструменты
Генератор favicon
Сделайте иконку сайта из монограммы или своей картинки: favicon.ico, apple-touch-icon, android-chrome-192 и 512, site.webmanifest и готовый HTML-код
Генератор JSON Schema
Постройте черновую JSON Schema по примеру JSON: типы полей, required, вложенные объекты и массивы
Генератор регулярных выражений
Соберите регулярное выражение по шаблону задачи или разберите своё выражение на конструкции
Генератор Open Graph
Соберите теги og:title, og:description, og:image и Twitter Card для превью ссылки в соцсетях
Таблица ASCII-кодов
Полный справочник ASCII: коды 0–127 в DEC, HEX, OCT и BIN с поиском по символу или коду
Тестер и отладчик регулярных выражений
Тестируйте регулярные выражения с подсветкой совпадений, группами и частыми паттернами
Генератор HTML мета-тегов
Генерируйте SEO-оптимизированные HTML мета-теги для вашего сайта
Конвертер cURL в код
Конвертируйте команды cURL в код на JavaScript, Python и PHP