Многоязычное SEO с помощью hreflang
Что такое hreflang?
Hreflang — это сигнал, который на многоязычном или многорегиональном сайте сообщает поисковой системе, какую языковую и/или региональную версию одного и того же контента следует показать конкретному пользователю. Обычно он добавляется в <head> разделе страницы <link rel="alternate" hreflang="..."> ; в качестве альтернативы он может быть указан в HTTP-заголовке или в файле карты сайта, однако из этих трех методов следует использовать только один.
Hreflang указывает не на то, что страница является «переводом», а на то, что различные языковые/региональные версии, служащие одной и той же цели, связаны между собой. Например, на сайте электронной коммерции цены на английском языке могут быть указаны в долларах США, а на турецком — в турецких лирах; hreflang связывает эти две версии между собой, обеспечивая отображение нужной версии для нужного пользователя.
Hreflang не является механизмом перенаправления (redirect); он не перенаправляет пользователя автоматически на другую языковую версию, а лишь сообщает Google, что «у этой страницы есть альтернативные версии на следующих языках». То, какую версию увидит пользователь, в значительной степени определяется собственным прогнозом Google относительно географического положения и языка пользователя.
Почему это важно?
Без атрибута hreflang Google может по ошибке показать пользователю, выполняющему поиск на английском языке, турецкую версию сайта или наоборот; такая ситуация приводит к немедленному уходу пользователя со страницы (bounce). Правильное использование атрибута hreflang позволяет каждому пользователю видеть страницу, соответствующую его языковым и региональным предпочтениям, что улучшает пользовательский опыт и, как следствие, повышает коэффициент конверсии.
Кроме того, это предотвращает путаницу с дубликатами контента (duplicate content) между разными языковыми версиями одного и того же материала: Google распознает страницы в пределах одной группы hreflang как альтернативы друг другу, а не как конкурирующие страницы, «перехватывающие» трафик друг у друга. Это становится особенно важным в случае различных региональных вариантов одного и того же языка (например, tr-TR и tr-CY).
Когда несколько эквивалентных SEO-сигналов (таких как канонический URL, мета-тег robots в файле robots.txt, атрибуты hreflang) служат одной и той же цели, целесообразнее выбрать единственный достоверный источник: повторение сигналов в нескольких форматах не улучшает SEO, а лишь увеличивает риск несогласованности.
Как это исправить?
- Каждая языковая версия должна содержать ссылки hreflang на все остальные версии той же группы (обратная ссылка обязательна); односторонние ссылки Google игнорирует.
- Для версии по умолчанию, не соответствующей ни одному конкретному языку, используйте атрибут
x-default. - Правильно указывайте языковые коды ISO, например, для турецкого языка
tr, для английскогоen; при необходимости объедините с кодом региона (например,en-US). - Выберите только один способ: применяйте атрибут hreflang либо с помощью HTML-
<link>, либо через карту сайта; не используйте оба метода одновременно — это дублирующийся и ненужный сигнал, который создает риск ошибки синхронизации. - Не забывайте, что каждая страница должна содержать ссылку на саму себя с помощью атрибута hreflang (самоссылка); группа должна быть полной.
- По мере роста сайта управляйте атрибутами hreflang не вручную, а с помощью механизма автоматического генерации на уровне шаблонов или CMS; добавленные вручную группы hreflang со временем теряют синхронизацию.
- При добавлении новой языковой версии обновляйте список ссылок всех остальных версий до тех пор, пока страница на этом языке не будет включена в существующую группу hreflang; пропущенная версия нарушает целостность группы.
- При автоматическом перенаправлении (например, на основе JavaScript) в зависимости от языка браузера пользователя убедитесь, что боты не подвергаются такому же перенаправлению; для ботов все языковые версии должны оставаться доступными для сканирования.
Пример
<link rel="alternate" hreflang="tr" href="https://example.com/tr/sayfa" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page" />
Плохой пример: ссылка на английскую версию с помощью атрибута hreflang на турецкой странице, но отсутствие обратной ссылки на турецкую версию на английской странице — такая односторонняя ссылка считается Google недействительной, и группа не распознается вовсе.
Распространённые ошибки
- Использование одностороннего атрибута hreflang (страница A ссылается на страницу B, но B не ссылается на A).
- Использование неправильного или недопустимого кода языка/региона.
- Создание путаницы из-за повторения одного и того же сигнала hreflang как в HTML-теге, так и в файле sitemap.
- Отсутствие определения версии x-default.
- В отчете Seoraporu.co односторонние ссылки hreflang отображаются в виде отдельного предупреждения; это, как правило, самая распространённая ошибка hreflang на многоязычных сайтах.