Hreflang атрибуты

Hreflang — это HTML-атрибут, который сообщает поисковым системам, какая версия страницы предназначена для пользователей с определённым языком или географическим регионом. Он используется для предотвращения дублирования контента и правильного отображения международных версий сайта в результатах поиска.

Пример базового синтаксиса для тега <link>:

<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.com/fr/" hreflang="fr" />

Здесь href указывает на URL альтернативной версии страницы, а hreflang — на язык или регион, используя ISO-коды.


Форматы указания Hreflang

  1. Языковой код: Используется стандарт ISO 639-1. Пример:

    hreflang="en"
    hreflang="ru"
  2. Язык + регион: Совместное использование языка и региона через дефис. Регион определяется по стандарту ISO 3166-1 Alpha 2. Пример:

    hreflang="en-US"  <!-- Английский для США -->
    hreflang="fr-CA"  <!-- Французский для Канады -->
  3. Автоматическое обозначение всех языков: Используется x-default для страниц по умолчанию, когда язык пользователя неизвестен или не совпадает ни с одним из указанных:

    <link rel="alternate" href="https://example.com/" hreflang="x-default" />

Реализация Hreflang на сайте

Hreflang можно внедрять тремя основными способами:

  1. Внутри HTML: Вставляется в <head> каждой страницы. Пример:

    <link rel="alternate" href="https://example.com/en/" hreflang="en" />
    <link rel="alternate" href="https://example.com/ru/" hreflang="ru" />
    <link rel="alternate" href="https://example.com/" hreflang="x-default" />
  2. В HTTP-заголовках: Используется для файлов, отличных от HTML (например, PDF):

    Link: <https://example.com/en.pdf>; rel="alternate"; hreflang="en"
    Link: <https://example.com/ru.pdf>; rel="alternate"; hreflang="ru"
  3. В Sitemap: Позволяет централизованно указывать языковые версии всех страниц:

    <url>
      <loc>https://example.com/</loc>
      <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/" />
      <xhtml:link rel="alternate" hreflang="ru" href="https://example.com/ru/" />
      <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
    </url>

Взаимные ссылки (reciprocal linking)

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

<!-- Страница на английском -->
<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.com/ru/" hreflang="ru" />
<link rel="alternate" href="https://example.com/" hreflang="x-default" />

<!-- Страница на русском -->
<link rel="alternate" href="https://example.com/en/" hreflang="en" />
<link rel="alternate" href="https://example.com/ru/" hreflang="ru" />
<link rel="alternate" href="https://example.com/" hreflang="x-default" />

Ошибки при использовании Hreflang

  • Неправильные ISO-коды — поисковые системы могут игнорировать некорректные значения.
  • Отсутствие взаимных ссылок — приведёт к неполному покрытию языков.
  • Дублирование URL — разные версии с одинаковым контентом без указания Hreflang создают конкуренцию между страницами.
  • Неправильный x-default — может перенаправлять всех пользователей на страницу, не предназначенную для их языка.

Lighthouse и проверка Hreflang

Google Lighthouse позволяет автоматически проверять корректность использования Hreflang:

  • Audit “Internationalization” выявляет:

    • отсутствующие альтернативные версии;
    • неправильные языковые или региональные коды;
    • отсутствие x-default;
    • дублирующиеся URL.

Рекомендации Lighthouse включают исправление всех ошибок, добавление отсутствующих ссылок и проверку корректности всех ISO-кодов.


Практические рекомендации

  • Использовать только стандартизированные коды ISO 639-1 и ISO 3166-1.
  • Всегда включать x-default для страниц по умолчанию.
  • Поддерживать полную взаимосвязь всех страниц на разных языках.
  • Проверять Hreflang через инструменты Lighthouse или Google Search Console.
  • При больших сайтах предпочтительно использовать Sitemap для централизованного управления.

Hreflang атрибуты критически важны для международной SEO-оптимизации, снижения дублирования контента и корректного отображения локализованных страниц в поиске.