hreflang

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Атрибут 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.