Языковые версии в SEO
Если у сайта есть версии на разных
языках, поисковик должен понять,
какая страница для какого языка.
Иначе он может показать русскому
пользователю английскую версию,
а английскому - русскую. Для этого
и нужен атрибут hreflang.
hreflang - это подсказка поисковику, что перед ним одна из языковых версий страницы. Он говорит: «это страница для такого-то языка, а вот ее братья на других языках».
Разметку кладут в head
страницы. Для каждой версии
перечисляют ссылки на все остальные
версии, включая саму себя:
<head>
<link rel="alternate" hreflang="ru" href="https://example.com/ru/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="de" href="https://example.com/de/">
</head>
Код языка пишут по стандарту:
"ru", "en",
"en-US". Можно указать
только язык или язык и регион
через дефис.
Главная ошибка - размечать только часть версий. Если у русской страницы есть ссылки на английскую и немецкую, то и у английской, и у немецкой должны быть ссылки на все остальные. Разметка должна быть взаимной и полной.
Еще один важный атрибут -
x-default. Он указывает
страницу для тех, чей язык не
совпал ни с одной версией. Обычно
это страница выбора языка или
основная версия:
<head>
<link rel="alternate" hreflang="ru" href="https://example.com/ru/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="x-default" href="https://example.com/">
</head>
Проверить разметку можно в инструментах вебмастера. Если взаимные ссылки не сходятся, поисковик может проигнорировать всю разметку.
Практические задачи
Расскажите, зачем нужен атрибут
hreflang и где его
размещают.
Дана разметка языковых версий:
<head>
<link rel="alternate" hreflang="ru" href="https://example.com/ru/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
</head>
Найдите ошибку и исправьте разметку так, чтобы она была полной и взаимной.
Дана разметка:
<head>
<link rel="alternate" hreflang="ru" href="https://example.com/ru/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
<link rel="alternate" hreflang="de" href="https://example.com/de/">
<link rel="alternate" hreflang="x-default" href="https://example.com/">
</head>
Расскажите, что делает строка
с x-default и когда она
сработает.
Дана разметка:
<head>
<link rel="alternate" hreflang="ru" href="https://example.com/ru/">
<link rel="alternate" hreflang="en" href="https://example.com/en/">
</head>
Английская версия лежит по
адресу /en/, но в ней
нет разметки языковых версий.
Что произойдет и как это
исправить.