Local & International
hreflang
Описание термина
HTML-атрибут для указания языковых и региональных версий страницы. Предотвращает дубли контента в международном SEO.
HTML-атрибут для указания языковых и региональных версий страницы. Предотвращает дубли контента в международном SEO.
Языковые альтернативы
hreflang — это атрибут link, который сообщает поисковым системам о существовании альтернативных языковых/региональных версий страницы.
Зачем нужен:
- Предотвращение дублей — Google понимает что это переводы, а не дубли
- Правильная версия — показ нужного языка пользователю
- Геотаргетинг — разные версии для разных стран
Синтаксис:
<link rel="alternate" hreflang="ru" href="https://example.com/ru/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Формат кодов:
Формат
Пример
Описание
Язык
ru, en, de
ISO 639-1 (2 буквы)
Язык-Регион
en-US, en-GB, pt-BR
ISO 639-1 + ISO 3166-1
x-default
x-default
Версия по умолчанию
Правила реализации:
- Self-referencing — страница должна ссылаться на саму себя
- Bidirectional — если A → B, то B → A
- Все версии — каждая страница должна иметь все hreflang
- Абсолютные URL — полные URL с https://
- x-default — обязательно для неопределённых регионов
Способы реализации:
Способ
Где
Когда
HTML <link>
<head>Обычные сайты
HTTP Header
Response header
PDF, файлы без HTML
Sitemap
sitemap.xml
Много страниц
Пример в sitemap:
<url>
<loc>https://example.com/ru/</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>
Проверка hreflang:
- Google Search Console — International Targeting
- Hreflang Tags Testing Tool — от Aleyda Solis
- Screaming Frog — проверка всех страниц
Частые ошибки:
- Отсутствие self-referencing
- Нет x-default
- Неправильные коды языков (rus вместо ru)
- Относительные URL вместо абсолютных
- Несимметричные ссылки (A → B, но B не → A)