Проверщик XML‑карты сайта

Вставьте карту сайта и получите все ошибки с указанием строки, в которой они находятся — неверные даты, файлы, превышающие лимит, смешанные хосты, относительные URL, дубликаты, отсутствующие пространства имён.

Работает с обычной картой сайта или индексом карт сайта. Вставьте сам файл, а не URL — откройте его в браузере и скопируйте исходный код.
Ошибки — это то, что ломает файл или URL. Предупреждения допустимы, но обычно являются ошибкой.

Ничего, что вы вводите здесь, не загружается, не сохраняется и не отправляется куда-либо. Всё работает в вашем браузере.

Ограничения являются жёсткими

Файл карты сайта может содержать не более 50 000 URL и может быть не более 50 МБ без сжатия. При превышении любого из них весь файл отклоняется — не обрезается, а отклоняется. Разделите его и перечислите части в индексе карт сайта, к которому применяются те же два ограничения по количеству указанных карт.

Показатель 50 МБ относится к размеру без сжатия. Сжатие gzip полезно для передачи, но не повышает лимит: карта сайта размером 60 МБ, сжатая до 4 МБ, всё равно превышает ограничение.

lastmod — единственный необязательный элемент, который Google всё ещё читает

Google ясно заявил, что игнорирует <changefreq> и <priority> полностью. Установка для каждой страницы 1.0 ничего не меняет, и честная установка тоже ничего не даёт. Они не вредны, просто шум, а генератор карт сайта, который их заполняет, говорит, что он был написан давно.

<lastmod> отличается — Google использует его при одном условии: он должен быть достоверным. Если ваша CMS каждый вечер ставит сегодняшнюю дату на каждый URL, Google замечает, что даты бессмысленны, и начинает игнорировать элемент для всего сайта. Это хуже, чем просто опустить его. Используйте дату фактического изменения контента, а если её нельзя определить, оставьте элемент пустым.

Что может и чего не может содержать карта сайта

  • Только абсолютные URL. /pricing недействителен. Он всегда требует протокол и хост.
  • Один хост на файл. Каждый URL должен находиться на том же хосте, что и сама карта сайта, если только вы не подтвердили кросс‑публикацию в Search Console. Смешивание example.com и www.example.com считается двумя хостами.
  • Корректно экранировано. Сырой & в URL — ошибка корректности, которая делает весь файл недействительным. Он должен быть &amp;. Это самая распространённая причина, когда карта сайта корректно парсится в браузере, но не проходит в Search Console.
  • Только индексируемые URL. Файл представляет собой список страниц, которые вы хотите проиндексировать. Включение URL‑ов, помеченных как noindex, канонизированных в другом месте, перенаправленных или возвращающих 404, не является ошибкой в XML, но это самый быстрый способ сделать отчёт о покрытии нечитаемым.

Почему Search Console пишет «Couldn't fetch»

В девяти случаях из десяти проблема не в XML. Это URL карты сайта, который возвращает 404, 301 на другой адрес или HTML‑страницу от обработчика ошибок CDN. Search Console сообщает об этом одинаково. Скачайте URL карты сайта вручную, обойдя кэш, прежде чем предполагать, что виноват файл — и проверьте, что /robots.txt не запрещает путь, где находится карта сайта, что действительно часто является целью.

Вопросы, которые задают люди

Стоит ли использовать индекс карт сайта или один большой файл?

Индекс, как только у вас несколько тысяч URL, и разбивать его по разделам, а не произвольно — продукты, статьи, категории. Причина диагностическая, а не техническая: Search Console показывает покрытие для каждого файла карты сайта, поэтому разделение по разделам показывает, какая часть сайта вызывает проблемы. Один файл с 50 000 URL ничего не сообщает.

Помогает ли карта сайта улучшить позиции моих страниц?

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

Можно ли включать в карту URL, который перенаправляет?

Можно, и это не считается ошибкой валидации, но не стоит. Search Console помечает это как проблему и сигнализирует Google, что карта сайта не поддерживается. Карта сайта должна содержать окончательную, каноничную версию каждого URL с ответом 200.

А как насчёт карт сайта для изображений, видео и новостей?

Это пространственные расширения того же файла — дополнительные элементы внутри каждого <url>, объявленные с помощью xmlns:image, xmlns:video или xmlns:news атрибута в корне. Этот инструмент проверяет, что любой используемый префикс действительно объявлен, что является ошибкой, ломаюшей их, но он не валидирует содержимое этих расширений.

Почему это находит ошибки, когда мой браузер отображает файл без проблем?

Браузеры более снисходительны к XML, чем парсеры, и многие проблемы карт сайта вовсе не связаны с корректностью структуры. В будущем lastmod, смешанный хост, дублирующий URL и файл из 60 000 URL — всё это полностью корректный XML, но Google отклоняет или игнорирует всё это.

Моя карта сайта загружена где‑нибудь?

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

Чистая карта сайта обеспечивает её обход, а не ранжирование.

Отправка URL — это приглашение, а не аргумент. То, что заставляет Google возвращаться, — ссылки с других сайтов.

Посмотреть пакеты построения ссылок Связаться с Hayk