Одним из самых последних трендов сайтостроения в Украине является добавление на сайт мультиязычности, для реализации которой требуется наличие hreflang на технической стороне сайта.
Владелец сайта порой может и не знать об этой директиве, пока не переведет сайт на несколько языков и ему не прийдет уведомление из Google Search Console. Постараемся разъяснить максимально коротко, что же такое hreflang и как его правильно использовать. Максимум полезной информации без лишних слов.
Hreflang - это специальный HTML-атрибут сайта, используемый для указания наличия языковых версий страниц.
Именно hreflang указывает роботу Google, что данная страница есть на таких-то языках, и какой URL ведет на страницу по-умолчанию, если перевода для данной страницы нет.
Hreflang в html
Hreflang имеет следующий вид в коде html:
<link href="https://holostenko.ua/contacts" rel="alternate" hreflang="ru-RU" />
<link href="https://holostenko.ua/uk/contacts" rel="alternate" hreflang="uk-UA" />
<link href="https://holostenko.ua/contacts" rel="alternate" hreflang="x-default" />
Разберем по порядку что и зачем:
- rel="alternate" - атрибут html тега link, который сообщает Google обо всех языковых версиях данной страницы;
- hreflang="код языка и страны" - указание языка конкретной языковой версии и к какой стране он имеет отношение (язык прописывается в формате ISO 639-1 и страна в формате ISO 3166-1 Alpha 2). Для Украины hreflang будет следующим - hreflang="uk-UA";
* Атрибуты hreflang прописываются в раздел <head> html страницы.
Hreflang и SEO
Выше мы уже обсудили, что с помощью атрибута hreflang мы указываем языковую версию сайта для Google. Чисто теоретически поисковая машина должна у себя в базе хранить эти данные, и когда запрос пользователя осуществляется на конкретном языке - поисковая машина должна отдавать ответы на этом же языке, если такой ответ в машине имеется. По нашим ручным тестам это работает.
Но, основная польза hreflang в seo не только эта, но и решение проблемы рисков дублированного контента (“дубли сайта”, если на языке сеошников).
Дубль контента - это ситуация, когда один и тот же контент представлен на нескольких страницах сайта.
Представим ситуацию, когда один сайт продает на нескольких рынках сбыта в разных валютах на одном языке. К примеру, это Великобритания и США. Получится несколько карточек товара, которые будут отличаться лишь условиями доставки и ценой. Для Google это будет интерпретироваться как дублированный контент, но если указать hreflang в конкретных языковых версиях, этот вопрос будет решен.
По сути, hreflang является обязательным атрибутом для технической seo оптимизации мультиязычного сайта. И без него никак.
Hreflang в WordPress, Joomla, Opencart и других
Из нашего опыта с сайтами над которыми мы работали, если сайт обладает инструментом мультиязычности, то hreflang автоматически внедрен. Не нужно нигде ничего допиливать. Это железное правило для Wordpress, Joomla, Opencart.
О реализации hreflang стоит задуматься небольшим сайтам на html без CMS и большим проектам на Laravel (выше мы рассказали как внедрить hreflang в html).
Правила реализации hreflang, которые лучше не нарушать
1Парность
Если Вы на странице с английским языком указываете 2 атрибута hreflang в которых есть ссылка на другой язык, то на странице с другим языком ссылки с атрибутами hreflang тоже обязательно должны быть.
2Указание на себя
Ссылки с атрибутами hreflang должны указывать не только на другие языковые версии, но и указывать ссылку на саму себя.
3Указание резервной страницы
С точки зрения html “x-default” - можно не указывать, но Google это рекомендует сделать.
4Отсутствие битых страниц
Не должно быть в тегах ссылок на страницы, статус которых отдает 404.
5Несовпадение языков
Язык мультиязычных страниц должен совпадать с кодами, которые указаны для языков в hreflang.
Альтернативные способы реализации hreflang
Если в html у Вас ничего не получается, хотя это самый рабочий способ, то есть еще 2 альтернативных:
- HTTP-заголовки. Актуальный способ для страниц без html, а именно ссылки на скачивание файлов либо инсталляционные пакеты.
- Файлы Sitemap. Прописывание осуществляется через тег “xhtml: link”. Совершенно аналогично, как и в способе html в директории <url> прописываются ссылки на другие языковые версии сайтов с помощью “xhtml: link”. Пример прилагаем.
<url>
<loc>https://example.com/blog/test/</loc>
<xhtml: link rel = "alternate" hreflang = "x-default" href = "https://example.com/blog/test/ "/>
<xhtml: link rel =" alternate "hreflang =" ru" href ="https://example.com/blog/test/ "/>
<xhtml: link rel =" alternate "hreflang ="uk" href =" https://example.com/blog/uk/test/ "/>
</url>
Hreflang Test (проверка на валидность)
В интернете есть несколько сайтов, которые предлагают услуги моментальной тест проверки hreflang. Но, все по порядку.
- Если у Вас будут ошибки, Вам об этом в первую очередь сообщит Google Search Console в отчете покрытие или уведомлением на e-mail.
- Если, Вы желаете проверить свою конкретную страницу - самый адекватный сайт-тест hreflang этот app.hreflang.org.
Запустив проверку, Вы должны получить положительный ответ:

Вы должны получить зеленый тест. Если же что-то не так, тогда проверяете html.
На этом все. Надеемся, для Вас этот материал был полезным, понятным и без лишней информации. Желаем Вам успехов в реализации hreflang и мультиязычности для Вашего сайта.