Генератор sitemap xml нужен, когда CMS не пишет файл, пишет его с ошибками или его нет вовсе: статический сайт, выгрузка из базы, список после переезда. Достаточно канонических абсолютных URL. Плагин WordPress, модуль «SEO-пакета» и доступ в админку для этой задачи не требуются. Собрать файл можно в браузере: вставить список, выбрать lastmod, скачать XML и, если файлов несколько, индекс Sitemap.
Так устроен бесплатный генератор Sitemap прямо в браузере. Список обрабатывается на устройстве. На сервер ничего не уходит и не сохраняется. Это не отправка в Google и не обещание, что адрес появится в выдаче. Карта — подсказка для обнаружения.
Справка Google о сборке и отправке Sitemap задаёт рамку, которой генератор следует: один файл — до 50 000 URL или 50 МБ без сжатия, что наступит раньше; кодировка UTF-8; в <loc> — абсолютные URL; priority и changefreq Google игнорирует; lastmod учитывается, если дата правдива и её можно сверить. Файл, не отправленный через Search Console, влияет только на потомков своего каталога — поэтому карту обычно кладут в корень.
Что класть в список
Только канонические адреса, которые должны быть в поиске: HTML с ответом 200, без noindex, без цепочки редиректа, без дубля с параметрами. Не класть:
- редиректы и «спасибо за заказ»;
- внутренний поиск, сортировки, сессии,
utm; - PDF и файлы, если для них нет отдельной политики в поиске;
- URL с другого хоста в той же карте, которую потом укажут в
robots.txtэтого сайта — справка предупреждает не смешивать сайты в одном файле, привязанном кrobots.txt.
Источники списка: выгрузка CMS или базы опубликованных страниц; обход своего краулера по каноникалам с 200; старый sitemap.xml, из которого вынули адреса и почистили. Генератор умеет импортировать URL из уже существующей карты по адресу файла — это разбор инвентаря, не статус в поиске. После импорта дубликаты снимаются, спецсимволы в XML экранируются. В список всё равно стоит смотреть глазами: импорт не отличает каноникал от редиректа.
В <loc> нужны полные абсолютные адреса. Относительный путь /page.html робот попытается обойти как написано — и не найдёт. Кодировка файла — UTF-8. Значения внутри XML экранируют сущностями (&, <, >, кавычки). Генератор делает экранирование за список; руками в «Блокноте» это легко забыть.
lastmod: нет / сегодня / своя дата
Три режима в инструменте:
- не добавлять — в XML нет
<lastmod>. Так делают, если реальных дат нет. Лучше пустой тег, чем одна и та же «сегодня» на всём каталоге: тогда поисковик учится тег игнорировать. - сегодняшняя дата — одна дата на все URL. Имеет смысл только если список — это страницы, которые сегодня действительно существенно обновили. Для архива это ложный сигнал.
- выбранная дата — одна пользовательская дата на пачку, когда выгрузка уже несёт известный день среза.
«Существенное обновление» в справке Google — правка основного текста, разметки или ссылок, а не смена года в подвале. Генератор не знает, что происходило на странице. Он только пишет ту дату, которую выбрали.
Нарезка: 50 000 URL или 50 МБ
Длинные адреса с параметрами заполняют 50 МБ раньше, чем 50 000 строк. Инструмент режет список по этому двойному лимиту. Если файлов больше одного, собирается индекс Sitemap — отдельный XML, который указывает на части. Для скачивания нескольких файлов задают базовый URL, по которому они будут лежать на сайте (обычно корень). Имена должны совпасть с тем, что реально положат на сервер.
Порядок URL внутри файла Google не использует. Важны хост, абсолютность, экранирование служебных символов в XML и то, что в списке нет редиректов.
Куда положить и как указать
- Скачайте каждый XML и, если он есть, файл индекса.
- Положите их в корень сайта, например
https://example.com/sitemap.xmlилиhttps://example.com/sitemap-index.xml. - Отправьте индекс (или единственный файл) в отчёте Sitemaps Search Console.
- Добавьте строку, которую даёт генератор:
Sitemap: https://example.com/sitemap-index.xml
Строка в robots.txt не заменяет отчёт Search Console. Отчёт показывает, забрал ли робот файл и какие ошибки разобрал. Карта не гарантирует обход каждой строки и не ставит документ в выдачу.
Если карт несколько по разделам, их можно перечислить несколькими строками Sitemap: — лимита на число строк в справке нет. Для нескольких сайтов с одним местом хранения карт — отдельный сценарий cross-submit из той же справки; в список одного robots.txt чужой хост всё равно не кладут.
После выкладки имеет смысл открыть каждый скачанный файл: объявление urlset или sitemapindex, все <loc> с https://, без пустых строк и комментариев в текстовой карте. Если индекс ссылается на https://example.com/sitemap-2.xml, на сервере должен лежать именно этот путь. Имя «sitemap.xml» не обязательно, расширение .xml для XML-формата — да. Текстовый формат карты (один URL в строке, файл .txt) Google тоже принимает; этот генератор собирает XML, потому что так удобнее lastmod, нарезка и индекс.
Чего генератор не делает
Не ставит priority и changefreq: Google их игнорирует, поля только шумят. Не проверяет, жив ли URL: мёртвый адрес в карте остаётся мёртвым. Не подменяет каноникал. Не является плагином CMS и не обновляется сам при новой публикации — после выгрузки список собирают снова.
Как создать Sitemap XML из списка URL без плагинов и CMS, в одном проходе: чистый список каноникалов → lastmod по правде или без тега → нарезка по лимиту → индекс, если файлов несколько → корень сайта, Search Console, строка в robots.txt. Генератор sitemap xml здесь — сборщик файла. Решение держать URL в индексе остаётся за поисковиком.
Повторная сборка нужна после появления новых каноникалов или после чистки мёртвых. Старый файл с адресами, которых уже нет, продолжает подсказывать роботу ходить туда. Данные по-прежнему считаются в браузере: закрыли вкладку — списка на сервере нет. Это удобно для выгрузки, которую нельзя класть на чужой хостинг, и бесполезно как «облачный» архив карт. Когда карта выложена, отправить новые адреса на переобход можно в SpeedyIndex.
Вопросы
Нужны ли в файле priority и changefreq?
Нет. Google оба значения игнорирует.
Гарантирует ли карта индексацию?
Нет. Файл помогает обнаружить адреса. Попадёт ли страница в индекс, зависит от неё самой.
Можно ли в одной карте смешать два домена?
Файл, указанный в robots.txt сайта, должен содержать URL этого сайта. Инструмент предупреждает, если в списке разные хосты.
Где размещать файлы?
Обычно в корне, чтобы карта покрывала весь сайт, если её не отправляют через Search Console.
Telegram: t.me/SpeedyIndexOfficial · Бот: t.me/speedyindexbot · X: x.com/speedyindexbot · Facebook: facebook.com/speedyindexbot · YouTube: youtube.com/@speedyindex_com