Атрибут rel="alternate" hreflang="x" — це мета-елемент HTML, описаний в RFC 8288. Hreflang визначає мову та додаткові географічні обмеження для документа. Hreflang інтерпретується пошуковими системами і може бути використаний веб-майстрами для уточнення мовного та географічного таргетингу веб-сайту.

Призначення ред.

Багато веб-сайтів орієнтовані на аудиторію з різними мовами і локалізовані для різних країн. Це може спричинити велику кількість дубльованого або майже дубльованого контенту, а також проблеми з таргетингом у користувачів пошукових систем.

Пошукові системи використовують hreflang для розуміння мовної та географічної спрямованості веб-сайтів і використовують цю інформацію, щоб показувати правильну URL-адресу в результатах пошуку залежно від мови користувача та його регіональних уподобань.

Існує 3 основні сценарії, які можна охопити за допомогою hreflang:

  • Одна країна, різні мови
  • Різні країни, різні мови
  • Різні країни, одна мова

Атрибут hreflang допомагає вашому веб-сайту надавати різні версії сайту різними мовами.[1]

Реалізація ред.

Hreflang може бути реалізований 3 різними способами.

Визначення атрибуту hreflang виконується шляхом створення повного набору всіх мовно-регіональних версій одного і того ж документа. Кожен URL у наборі повинен посилатися на повний набір URL-адрес. Обов'язкове посилання на самого себе, тому включений документ завжди повинен бути частиною набору URL-адрес.

Коди мов і країн ред.

Атрибут hreflang приймає значення, які визначають мови за стандартом ISO 639-1 та країни за стандартом ISO 3166-1. Значенням може бути мова або комбінація мови та регіону. Значення тільки для країни не допускається.

Приклад мови

en

uk

ru

Приклад мови та регіону

ru-UA

uk-UA

uk-PL

Значення атрибуту hreflang повинно відповідати стандарту, щоб його могли використовувати пошукові системи.

Варіанти сценарію мови ред.

RFC 5646 дозволяє використовувати як значення атрибуту hreflang варіації алфавіту мови. Варіації алфавіту мови можуть бути безпосередньо визначені за допомогою ISO 15924.

Приклади

zh-Hant: Chinese (Traditional)
zh-Hans: Chinese (Simplified)

X-Default ред.

x-default — це зарезервоване значення атрибуту hreflang, яке може бути використано для визначення версії за замовчуванням для документа. URL x-default не спрямований на конкретний регіон і/або мову, і призначений для відображення користувачам, які не визначили свій регіон або мову. Google рекомендує визначити версію x-default для кожного набору URL, яка буде відображатися користувачам з невизначеними регіонами або мовами у результатах пошуку.[2][3] Зазвичай, на багатомовних веб-сайтах значення x-default надається для кореневого домену (https://www.example.ua) в кожному наборі URL, а мовним папкам/піддоменам будуть присвоєні значення hreflang.

URL, який визначений як x-default для певного документа, може бути також вказаний для певної мови або мови та регіону одночасно.

Приклади розмітки ред.

HTML ред.

<link rel="alternate" hreflang="uk-UA" href="https://example.com.ua/page.html">
<html>
  <head>
    <link rel="alternate" hreflang="uk" href="https://example.com.ua/page.html">
    <link rel="alternate" hreflang="ru-UA" href="https://example.com.ua/ru-ua/page.html">
    <link rel="alternate" hreflang="uk-PL" href="https://example.com.ua/uk-pl/page.html">
    <link rel="alternate" hreflang="uk-UA" href="https://example.com.ua/uk-ua/page.html">
    <link rel="alternate" hreflang="x-default" href="https://example.com.ua/page.html">
  </head>
  <body>
  ...
  </body>
</html>

HTTP ред.

HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://example.com.ua/page.pdf>; rel="alternate";hreflang="x-default", <https://pl.example.com.ua/page.pdf>; rel="alternate";hreflang="pl-UA",
<https://en.example.com.ua/page.pdf>; rel="alternate";hreflang="en-UA"
...

XML-карти сайту ред.

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
 xmlns:xhtml="https://www.w3.org/1999/xhtml">
<url>
  <loc>https://example.com.ua/page.html</loc>
  <xhtml:link
         rel="alternate"
         hreflang="pl-UA"
         href="https://pl.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="en-UA"
         href="https://en.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="x-default"
         href="https://example.com.ua/page.html"
         />
</url>
<url>
  <loc>https://pl.example.com.ua/page.html</loc>
   <xhtml:link
         rel="alternate"
         hreflang="pl-UA"
         href="https://pl.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="en-UA"
         href="https://en.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="x-default"
         href="https://example.com.ua/page.html"
         />
</url>
<url>
  <loc>https://en.example.com.ua/page.html</loc>
   <xhtml:link
         rel="alternate"
         hreflang="pl-UA"
         href="https://pl.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="en-UA"
         href="https://en.example.com.ua/page.html"
         />
  <xhtml:link
         rel="alternate"
         hreflang="x-default"
         href="https://example.com.ua/page.html"
         />
</url>
</urlset>
...

hreflang та мовний закон України ред.

16 липня 2022 року набули чинності частина друга та шоста статті 27 Закону України «Про забезпечення функціонування української мови як державної», які регламентують використання державної мови в мережі Інтернет та інтерфейсах комп'ютерних програм.[4] Це призвело до того, що всім вебмайстрам українських сайтів, у яких основна мова не була українською, необхідно було додати версію державною мовою і зробити її основною на сайті. Зміна основної мови сайту може негативно позначитися на просуванні в пошукових системах (SEO)[5].

Приклад коду через додавання атрибута hreflang у <head> сторінки, мова якої початково не була українською:

<html>
  <head>
    <link rel="alternate" hreflang="ru" href="https://example.com.ua">
    <link rel="alternate" hreflang="uk" href="https://example.com.ua/ua">
    <link rel="alternate" hreflang="x-default" href="https://example.com.ua/ua">
  </head>
  <body>
  ...
  </body>
</html>

Примітки ред.

  1. Shaikh, Gulammohiyuddin (29 листопада 2021). A Guide To Hreflang Tag Best Practices For SEO.
  2. Use hreflang for language and regional URLs. Google Inc. Процитовано 8 жовтня 2015.
  3. Introducing "x-default hreflang" for international landing pages. Google Webmaster Central Blog. Процитовано 8 жовтня 2015.
  4. Начался отсчет дней до полного перехода всех сайтов на государственный язык: что ждет нарушителей. www.unian.net (рос.). Процитовано 9 жовтня 2023.
  5. Закон про мови: що потрібно знати власникам сайтів? – AIN.UA (укр.). 30 грудня 2020. Процитовано 9 жовтня 2023.