hreflang: Атрибут HTML для многоязычных веб-сайтов

Перед каждым, кто хочет интернационализировать свой сайт и предложить его версии на разных языках, стоит несколько задач: Например, им придется перевести весь соответствующий контент и адаптировать предложение к соответствующему рынку, найти подходящее (возможно, специфическое для конкретной страны) решение для отдельных доменов и доменных имен или создать правильные серверные структуры для постоянной загрузки сайта. Кроме того, сложным, но необходимым аспектом оказывается оптимизация поисковых систем для многочисленных языковых версий. Поисковые системы могут правильно классифицировать различные языковые версии веб-сайта только на основе мер SEO для конкретного языка или страны, а затем направить на них соответствующую аудиторию.

Одним из наиболее эффективных SEO-средств, доступных для решения этой проблемы, является атрибут ссылки hreflang.

Что такое hreflang?

В декабре 2011 года Google представил hreflang как простое и эффективное решение для информирования поисковых систем о взаимосвязи между альтернативными вариантами веб-сайтов. Атрибут сигнализирует поисковым системам о том, что содержимое текущей страницы доступно в разных языковых версиях. Для этого атрибут устанавливается в элементе ссылки в HTML-документе, включая соответствующую языковую аббревиатуру. Например, если вы хотите охарактеризовать испаноязычный сайт, вы используете ссылку ‘es’. Полный элемент выглядит следующим образом:

<link rel="alternate" hreflang="language code-country codel" href="website URL" />

Если бы этот элемент был встроен, например, в англоязычную страницу, поисковая система автоматически определила бы пользователей с испаноязычными IP-адресами и отправила бы их на соответствующую языковую версию сайта.

hreflang также может использоваться для различения вариантов одного языка. В этом случае атрибут просто расширяется за счет указания целевого региона. Для ранее упомянутого испанского варианта можно разделить пользователей на региональные категории, такие как Испания («hreflang=»es-ES») и Мексика («hreflang=»es-MX»). Список возможных языковых и региональных сокращений определен в стандартах ISO 639 и ISO 3166.

hreflang не может быть приравнен к переадресации и поэтому может быть пробит другими метаданными. Другие области международной поисковой оптимизации должны быть адекватно охвачены, чтобы неправильная языковая версия не появлялась в результатах поиска пользователей.

Структура элемента ссылки с атрибутом hreflang

Тег заголовка ссылки может быть реализован тремя способами: чаще всего это делается путем интеграции в область head соответствующего HTML-документа. Для документов не в формате HTML (например, PDF-файла) этот элемент может быть использован в HTTP-заголовке. Наконец, есть возможность интегрировать в карту сайта атрибут, определяющий язык или страну. Структура элемента link, который в принципе используется для распознавания структур отношений, уже была кратко представлена в приведенном выше примере для испаноязычной версии. Чтобы пояснить общую структуру, приведем неспецифическую форму кода:

<link rel="alternate" hreflang="Sprachkürzel-Länderkürzel" href="URL der Website" />

Ссылка <link /> является пустым элементом и предназначена просто для реализации соответствующих атрибутов. Он может использоваться только в области заголовка, но может использоваться столько раз, сколько необходимо. Чтобы связать различные языковые версии с hreflang, необходимо использовать два атрибута rel и href. Эти три различных компонента выполняют следующие функции:

  • rel: rel — это обязательный атрибут, который определяет связь между базовым документом и связанным документом. Значение ‘alternate’ сообщает поисковой системе, что внешний документ содержит альтернативную версию сайта.
  • hreflang: hreflang описывает язык, на котором написан связанный документ, а иногда может также указывать, для какой страны он особенно актуален. Значения для региона и языка также допускаются в соответствии с ISO-стандартами 639-1 и 3166-1. При наличии обоих утверждений их следует разделять с помощью дефиса. Четкий перечень всех возможных комбинаций можно найти на сайте lingoes.net.
  • href: Атрибут href указывает, где можно найти альтернативную языковую версию, и по умолчанию раскрывает абсолютный URL внешнего документа.
Примечание

Необязательная региональная аббревиатура обычно указывается прописными буквами. Однако Google принимает и строчные, поэтому явных границ написания нет.

Что скрывается за hreflang=»x-default»?

Основная цель использования hreflang — направить пользователей на лингвистически подходящую версию вашего сайта. Однако даже при большом выборе языков существует вероятность того, что пользователи не смогут выбрать конкретный доступный вариант из-за кодов языка или страны. Если эти пользователи попадают на ваш сайт через поисковую систему, рейтинг решает, какой из языковых вариантов будет отображаться. В этом случае вы можете потерять потенциальных читателей уже через несколько секунд, когда они попадут на неправильный языковой вариант. Однако с помощью ‘x-default’ Google предоставляет опцию, которую вы можете использовать для разрешения ситуации.

Значение, которое вы можете установить в качестве альтернативы кодам ISO, дает поисковой системе знать, что URL-адрес ссылки является вариантом по умолчанию для всех пользователей, у которых нет явно указанной языковой версии. Затем можно представить обзор языков на этой странице по умолчанию с опцией выбора, чтобы посетитель мог сам выбрать язык. Для этого вам нужно будет добавить соответствующую строку кода в заголовок альтернативной версии, который выглядит следующим образом:

<link rel="alternate" hreflang="x-default" href="URL of the default site“ />

Как работает реализация hreflang?

Для того чтобы понять, как именно работает hreflang, важно знать один элемент атрибута: hreflang связывает два или более документа двунаправленно, а не однонаправленно — как это происходит при переадресации. Поэтому недостаточно, чтобы, скажем, немецкоязычный сайт содержал hreflang-ссылку на испаноязычный вариант без ссылки на страницу на немецком языке. Поисковая система может распознать структуру вашего сайта и соответствующим образом скорректировать результаты поиска пользователей, только если аннотация hreflang установлена во всех доступных направлениях (языковых вариантах) во всех документах.

Приведенный ниже пример кода для сайта zBdomain.de с языковыми версиями немецкий, итальянский, испанский и английский должен быть введен в заголовок всех четырех HTML-документов:

<link rel="alternate" href="http://exampledomain.de/" hreflang="de" />
<link rel="alternate" href="http://exampledomain.de/it/" hreflang="it" />
<link rel="alternate" href="http://exampledomain.de/es/" hreflang="es" />
<link rel="alternate" href="http://exampledomain.de/en/" hreflang="en" />

Интеграция кода в HTTP-заголовок, в принципе, работает по той же схеме, потому что там тоже есть ссылки на все существующие языковые шаблоны. Существует лишь несколько незначительных различий в синтаксисе.  Например, если вы предлагаете руководства в формате PDF для четырех ранее перечисленных языковых примеров и хотите сообщить об этом поисковым системам, код будет выглядеть следующим образом:

Link: <http://exampleldomain.de/downloads/manuals.pdf/>; rel="alternate"; hreflang="de"
Link: <http://exampledomain.de/it/downloads/manuals.pdf/>; rel="alternate"; hreflang="it"
Link: <http://exampledomain.de/es/downloads/manuals.pdf/>; rel="alternate"; hreflang="es"
Link: <http://exampledomain.de/en/downloads/manuals.pdf/>; rel="alternate"; hreflang="en"

Выделение атрибута hreflang в XML-карте сайта является особенно разумной альтернативой простому выделению на каждой отдельной странице, если вы ведете крупный международный веб-проект. Если вы предлагаете многоязычный контент в больших масштабах, усилия, затрачиваемые на обычное внедрение HTML, будут относительно высокими. В карте сайта все языковые версии также должны быть перечислены по отдельности с указанием соответствующего URL. Каждый URL дополнительно указывается элементом xhtml-ссылки, который ссылается на другие доступные варианты:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://exampledomain.de/</loc>
    <xhtml:link 
      rel="alternate"
      hreflang="de"
      href="http://exampledomain.de/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="it"
      href="http://exampledomain.de/it/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="es"
      href="http://exampledomain.de/es/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="en"
      href="http://exampledomain.de/en/"
    />
  </url>
  <url>
    <loc>http://exampledomain.de/it/</loc>
    <xhtml:link 
      rel="alternate"
      hreflang="it"
      href="http://exampleldomain.de/it/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="de"
      href="http://exampledomain.de/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="es"
      href="http://exampledomain.de/es/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="en"
      href="http://exampledomain.de/en/"
    />
  </url>
  <url>
    <loc>http://exampledomain.de/es/</loc>
    <xhtml:link 
      rel="alternate"
      hreflang="es"
      href="http://exampledomain.de/es/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="de"
      href="http://exampledomain.de/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="it"
      href="http://exampledomain.de/it/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="en"
      href="http://exampledomain.de/en/"
    />
  </url>
  <url>
    <loc>http://exampledomain.de/en/</loc>
    <xhtml:link 
      rel="alternate"
      hreflang="en"
      href="http://exampledomain.de/en/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="de"
      href="http://exampledomain.de/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="es"
      href="http://exampledomain.de/es/"
    />
    <xhtml:link 
      rel="alternate"
      hreflang="it"
      href="http://exampledomain.de/it/"
    />
  </url>
</urlset>

Частые ошибки при встраивании тега hreflang

Приведенные примеры hreflang для HTML показывают, что реализация практического автоматического распределения пользователей для многоязычного сайта ни в коем случае не должна считаться колдовством. Однако они также демонстрируют усилия и потенциал ошибок (который не следует недооценивать), которые сопровождаются многочисленными, чередующимися ссылками. Это иногда приводит к мелким или крупным ошибкам, которые лишь в некоторой степени влияют на отдельные страницы, но также ставят под угрозу функциональность hreflang для всего сайта. По этой причине мы обобщили некоторые из наиболее распространенных источников ошибок:

hreflang не внедрен на уровне URL-адреса

Поскольку награда hreflang всегда связана с конкретным URL, она всегда должна быть создана на этом уровне. Другими словами, если вы пометите атрибутом hreflang только выходные URL-адреса ваших различных языковых версий, автоматическое назначение пользователей будет работать только для этих стартовых страниц, а не для всего сайта. Поэтому ваша задача — реализовать элемент ссылки индивидуально для всех многоязычных URL или, в качестве альтернативы, работать с упомянутым вариантом карты сайта.

Одна или несколько языковых версий не ссылаются сами на себя.

Многие владельцы сайтов совершают ошибку, правильно оформляя URL других языковых версий с помощью атрибута hreflang, но забывают, что страница должна ссылаться сама на себя. В этом случае структура ссылок является неполной и не может быть интерпретирована для Google и других поисковых систем.

Неправильные коды ISO

Когда речь заходит о сокращении стран и языков, многие SEO-специалисты стремятся проявить творческий подход. Однако это часто оказывается неудачным и может привести к внедрению неправильного кода hreflang. Комбинация ‘en-uk’ может показаться хорошим выбором, если содержание страницы явно адресовано жителям Великобритании — однако правильной ссылкой на самом деле является ‘en-gb’. При обращении к датским пользователям код ‘dk-DK’ также кажется очевидным выбором — однако, хотя код страны Дании в ISO — ‘DK’, код датского языка — ‘da’, как определено стандартом ISO 639-1, таким образом, правильный префикс — ‘da-DK’.

Отказ от hreflang x-default

Работаете ли вы с начальным меню выбора языка на главной странице, перенаправлениями на основе IP-адреса или автоматической переадресацией на основе языка браузера посетителя, в принципе, нет причин отказываться от страницы по умолчанию. Как квази-местодержатель, она поможет вам создать превосходный сайт, привлекая пользователей, чей язык или страна не представлены на вашем сайте. Google также рекомендует использовать этот вариант отображения.

Ссылки на старые или несуществующие URL-адреса

Частой причиной неправильного кода hreflang является использование URL, которые не существуют или уже не существуют. Часто это происходит в первой строке, если награда автоматически интегрируется на все подстраницы, но не все подстраницы доступны во всех предложенных языковых вариантах. Веб-мастера часто забывают включить соответствующий логический элемент, чтобы в качестве альтернативных пунктов назначения назначались только те URL, которые действительно существуют. Устаревшие URL возникают автоматически всякий раз, когда вы вносите изменения в структуру URL и забываете внести эти изменения в элементы ссылок.

Противоречивое использование тега canonical и hreflang

Многие международные сайты используют тег canonical для того, чтобы поисковые системы не индексировали страницы с одинаковым содержимым дважды. Хотя такой подход является отличным вариантом для решения проблемы дублированного контента, он не совместим с атрибутом hreflang. Если страница содержит оба тега, поисковые системы получают следующую противоречивую информацию:

  • Игнорируйте эту страницу и используйте вместо нее следующую (тег Canonical-Tag).
  • Существуют альтернативные страницы, которые могут быть лучше для пользователя. Эта страница все равно должна быть захвачена и проиндексирована как возможный вариант (inter-tag).

С одной стороны, такой URL ссылается сам на себя, но с другой стороны, он также ссылается на другой URL, который, в свою очередь, содержит обратную ссылку. В результате поисковая система игнорирует оба сигнала и пытается уловить структуру другим способом. Поэтому разметку hreflang следует использовать только для страниц, которые не ссылаются на другую страницу через атрибут canonical.

Настройки в Google Webmaster Tools посылают противоречивые сигналы

Каждый, кто заходит в Google Webmaster Tools (Search Console), может определить международную ориентацию домена или URL, при условии, что используются общие домены верхнего уровня. В передачах, ориентированных на конкретные страны, Google даже делает это сам. Несомненно, вы, как оператор сайта, можете извлечь пользу из этой функции: Google использует эту информацию, чтобы наилучшим образом классифицировать ваш сайт. Однако вы никогда не должны забывать включать эти параметры в свои SEO-меры. Если вы добавляете дополнительные страницы с атрибутом hreflang, не должно быть никаких противоречий или ошибок. Например, легко может случиться так, что странице присвоен только атрибут языка без указания региона, в то время как в Webmaster Tools назначена конкретная страна.

Полезные инструменты hreflang

Уже стало ясно, что интеграция тега hreflang во все соответствующие HTML-страницы требует определенных усилий и большого количества кода. Чем сложнее ваш мультиязычный сайт, тем больше вероятность того, что в реализацию hreflang будут вкрадываться ошибки, даже если вы знаете о потенциальных источниках проблемы и все время помните о них. По этой причине рекомендуется использовать инструменты для создания тегов и регулярно проверять их работоспособность. Некоторые интересные варианты можно найти в следующем списке:

  • SISTRIX hreflang Generator: С помощью бесплатного генератора hreflang от SISTRIX вы можете легко создавать элементы ссылок с атрибутом hreflang для HTML-заголовка вашего мультиязычного контента. Для этого достаточно указать URL-адреса и желаемые косые черты страны и языка, а затем сгенерировать код, нажав на кнопку «Создать код». Также можно определить страницу по умолчанию.
  • SISTRIX hreflang Validator: Если в вашем веб-проекте реализованы ссылки для разных языковых версий, вам может пригодиться валидатор SISTRIX hreflang. Бесплатный веб-сервис проверяет правильность установленных тегов hreflang для заданного URL.
  • flang: Маркетинговая компания Dejan SEO предоставляет бесплатную опцию для проверки ваших элементов hreflang. После короткого периода ожидания вы получите определенные целевые языки и регионы для всех введенных альтернатив, а в случае возникновения проблем — также предложения по оптимизации для нужного URL.
  • Google Search Console: Вход в Google облегчает отслеживание вашего сайта для поисковой системы, а также позволяет получить доступ к различным инструментам анализа для оптимизации вашего веб-проекта. В разделе «международная ориентация» приборная панель также предоставляет информацию об используемых тегах, включая список недостающих обратных ссылок.

Почему стоит использовать hreflang

Основной аргумент в пользу использования таких атрибутов, как canonical или hreflang, заключается в том, чтобы избежать дублирования контента в многоязычных веб-проектах. Часто вы пытаетесь обслуживать несколько рынков, не меняя коренным образом контент — за исключением фактического перевода. Для стран, где говорят на одном языке, ситуация еще сложнее: несколько изменений, связанных с культурными или региональными различиями (лексика, валюта, контактная информация и т. д.), создают проблемы для идентичного в остальном контента. Поскольку обычно используется один и тот же домен, важно посылать поисковым системам уникальные сигналы, чтобы предотвратить негативную классификацию.

В то время как атрибут canonical указывает URL на доминирующий вариант и исключает из индексации все альтернативные версии, атрибут hreflang сигнализирует, какая версия для определенной целевой группы (язык и/или страна) должна быть представлена в верхней части поиска поисковой системы. В связи с этим атрибут HTML всегда уместен, если вы хотите запустить успешный в международном масштабе сайт и иметь соответствующий многоязычный контент, доступный для ваших посетителей. Даже если атрибут не оказывает прямого влияния на рейтинг поисковых систем, его правильное использование окупится в долгосрочной перспективе, поскольку и поисковики, и пользователи в разных странах будут иметь более легкий доступ к вашему сайту.

Факт

Не все поисковые системы используют атрибут hreflang. Bing фиксирует языковую версию страницы с помощью атрибутов content-language в метатегах.

Оцените статью
cdelat.ru
Добавить комментарий