Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

hreflang в карте сайта вместо тегов

Продолжаем тему hreflang вторым способом указания — через файл sitemap.xml.

Как это выглядит

В карте сайта каждая страница описывается элементом url, а её версии — вложенными элементами xhtml:link. Как и в тегах, набор включает все версии, в том числе саму страницу.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/ru/delivery/</loc>
    <xhtml:link rel="alternate" hreflang="ru" href="https://example.com/ru/delivery/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/delivery/"/>
  </url>
  <url>
    <loc>https://example.com/en/delivery/</loc>
    <xhtml:link rel="alternate" hreflang="ru" href="https://example.com/ru/delivery/"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/delivery/"/>
  </url>
</urlset>
sitemap.xmlurl ru+ версииurl en+ версииurl de+ версии
sitemap.xmlurl ru+ версииurl en+ версииurl de+ версии
Каждая версия — отдельный элемент url со списком всех версий

Сравнение способов

Теги или карта сайта: что выбрать
КритерийТеги в headКарта сайта
Вес кода страницыРастёт с числом версийСтраница не меняется
ЦентрализацияНаборы разбросаны по страницамВсе связи в одном файле
ГенерацияНужна правка шаблоновФормируется одним скриптом
Проверка вручнуюВидно в коде страницыНужно открывать файл
Для не-HTML файловНе подходитПодходит

Ограничения и особенности

  • Размер файла растёт быстро: каждая страница содержит список всех своих версий. Для больших сайтов карту делят на части и объединяют индексным файлом.
  • Действуют обычные ограничения карты сайта на число адресов и размер файла.
  • Правила взаимности и ссылки на себя те же, что и для тегов.
  • Не дублируйте один и тот же hreflang и в тегах, и в карте: используйте единый способ.

Когда выбирать карту сайта

Карта сайта особенно удобна, когда версий много, шаблоны сложно менять или нужно указать версии для файлов, не являющихся страницами. Если же сайт небольшой, теги в head проще проверять глазами. Общие принципы карты сайта — в статье про sitemap.xml.

Как построить такую карту

  1. Возьмите таблицу версий страниц: адреса всех языков и регионов.
  2. Для каждого адреса создайте элемент url со списком всех своих версий.
  3. Проверьте, что каждая версия присутствует в карте и как собственный элемент, и как запись в наборе остальных.
  4. Разбейте файл на части при приближении к ограничениям и подайте индексный файл в панель вебмастера.

Что делать, если версия есть не у всех страниц

Неполные наборы версий
СитуацияКак поступать
У страницы есть все языковые версииПолный набор в каждом элементе
Страница существует только на одном языкеНаборы не нужны, страница описывается без них
Часть языков есть, часть нетУказывать только существующие версии
Версия удаленаУбрать запись из наборов остальных версий

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

Можно ли одновременно использовать hreflang в тегах и в карте сайта?

Не рекомендуется: лучше выбрать один способ, чтобы наборы не расходились между собой.

Нужно ли в карте сайта указывать саму страницу среди её версий?

Да, набор версий каждой страницы включает и её собственный адрес.

Что делать с ростом размера файла?

Разбить карту на несколько файлов и связать их индексным файлом sitemap.

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также