Теги Hreflang не найдены? Как диагностировать и исправить это

Что означает предупреждение «нет тегов hreflang», если его можно игнорировать, почему поисковые роботы пропускают существующие теги и как добавить и проверить hreflang, используя текущие правила Google.
Нет данных карты Никаких обязательств

· Обновлено · Алекс Б · Блог

Подведите итог этому посту следующим образом: 11 мин чтения

“Нет тегов hreflang” означает, что сканер просмотрел ваши страницы и не нашел <link rel="alternate" hreflang="…"> аннотации, поэтому у него нет явного сопоставления между вашими языковыми версиями. Если ваш сайт существует только на одном языке, вы можете проигнорировать предупреждение. Если у вас есть переведенные или региональные страницы на отдельных URL-адресах, исправьте это, добавив полный, взаимный набор аннотаций hreflang (в заголовке HTML, заголовках HTTP или в вашей карте сайта XML), затем подтвердите их с помощью сканера, поскольку Search Console больше не сообщает об ошибках hreflang.

Ключевые выводы

  • Предупреждение имеет значение только в том случае, если у вас есть две или более языковых или региональных версий одной и той же страницы на разных URL-адресах.
  • Google принимает hreflang в трех эквивалентных местах: HTML <link> теги, HTTP Link: заголовки или XML-карта сайта. Выберите один.
  • Каждая версия должна содержать свой список и список всех остальных версий с полными URL-адресами. Если две страницы не указывают друг на друга, Google игнорирует эту пару.
  • Отчет Search Console о международном таргетинге, в котором раньше отображалось “без тегов hreflang”, был удален в 2022 году. Воспользуйтесь сканером сайта, чтобы проверить свои теги уже сегодня.
  • Наиболее распространенные причины, по которым сканер ничего не находит: теги вводятся слишком поздно, печатаются снаружи <head>, очищенный кэшем или плагином или находящийся только в карте сайта, которую инструмент не считывает.

Что на самом деле означает предупреждение “без тегов hreflang”

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

Сообщение “no hreflang” — это утверждение о том, что может видеть инструмент, а не штраф. Обычно его добывают в одном из следующих мест:

  • Старые скриншоты и руководства Search Console. В отчете International Targeting раньше отображалось сообщение, когда на объекте недвижимости не было обнаружено тегов hreflang. Google объявил этот отчет устаревшим в 2022 году; в нем говорится, что “продолжит поддерживать и использовать теги hreflang на ваших страницах”, но отчет и настройка таргетинга по странам исчезли (Помощь консоли поиска). Если вы следуете руководству, в котором говорится, что вам следует открыть International Targeting, то это руководство устарело.
  • SEO-сканеры. Такие инструменты, как Semrush Site Audit и Ahrefs Site Audit, проверяют отсутствие или неработающий hreflang, отсутствие самоссылок и отсутствие обратных ссылок (Список проблем Semrush, Помощь Ahrefs).
  • Расширения браузера и одностраничные тестеры которые читают только HTML-заголовок страницы, на которой вы находитесь.

Шаг 1: решите, нужен ли вам вообще hreflang

Вам нужен hreflang, если один и тот же контент существует на разных URL-адресах для разных языков или регионов. Google перечисляет три распространенные ситуации, в которых рекомендуется разметка альтернативных вариантов: страницы, на которых переведен только шаблон (навигация и нижний колонтитул), страницы на одном языке с небольшими региональными различиями (например, английский для США, Великобритании и Ирландии) и сайты, которые полностью переведены (Центр поиска Google).

Вам не нужен hreflang, и вы можете смело игнорировать предупреждение, когда:

  • Сайт написан на одном языке и не ориентирован на какие-либо конкретные регионы.
  • Ваш “перевод” происходит только внутри браузера посетителя и никогда не получает собственного URL-адреса. В таком случае hreflang не на что указать. Google рекомендует использовать “разные URL-адреса для каждой языковой версии страницы вместо использования файлов cookie или настроек браузера для настройки языка контента” (Центр поиска Google), поэтому настоящим решением будет сначала предоставить каждому языку свой собственный URL-адрес.

Полезный факт, который следует иметь в виду: Google заявляет, что не использует hreflang или HTML lang атрибут для определения языка страницы. Он определяет язык по видимому контенту (Центр поиска Google). Задача Хрефланга — связывать версии, а не маркировать язык.

Шаг 2: выясните, почему инструмент ничего не видит

Прежде чем что-либо добавлять, проверьте, что уже есть на странице. Откройте переведенный URL-адрес, просмотрите исходный код страницы (а не инспектор браузера, который показывает страницу после запуска JavaScript) и выполните поиск hreflang. Затем проработайте причины, указанные ниже.

1. Теги так и не были добавлены

Многие конструкторы сайтов и темы создают переведенные страницы без каких-либо альтернативных аннотаций. Плагин или служба перевода также могут иметь отключенную настройку hreflang.

2. Теги находятся за пределами <head>

Google требует <link> элементы, которые будут располагаться внутри хорошо сформированного <head> и предлагает запустить визуализированную страницу через HTML-валидатор, если есть сомнения (Центр поиска Google). Бродячий <div>, незакрытый тег или фрагмент отслеживания, который выводит видимую разметку на ранней стадии, может привести к тому, что парсеры закроют заголовок до того, как будут достигнуты строки hreflang.

3. Теги добавляются только JavaScript

Если скрипт вставляет теги после загрузки страницы, сканер, считывающий необработанный HTML, их не найдет. Google отображает JavaScript, но вывод на стороне сервера — надежный вариант, который может прочитать каждый инструмент аудита.

4. Их удаляет кэш, CDN или плагин оптимизации

Минификаторы HTML и полностраничные кэши иногда обслуживают версию страницы, которая была сгенерирована до запуска плагина перевода, или удаляют <link> элементы, которые они не распознают. Очистите кэш, затем снова загрузите страницу с помощью инструмента, который обходит его.

5. Они находятся в карте сайта, а инструмент читает только HTML

Аннотации карты сайта полностью действительны для Google. Одностраничная проверка, которая читает только HTML, все равно выдаст отчет “без hreflang”. Прежде чем предполагать, что что-то сломалось, проверьте карту сайта.

6. Теги существуют, но недействительны

Некоторые инструменты сообщают об отсутствии искаженных аннотаций. Ищите относительные URL-адреса, коды только для региона, такие как hreflang="uk", или коды, которые Google не поддерживает. Подробнее об этом ниже.

Шаг 3: добавьте полный набор аннотаций

Google рассматривает эти три метода как эквивалентные. В нем говорится, что использование более чем одной реализации не дает никаких преимуществ для поиска и что запуском трех реализаций сложнее управлять (Центр поиска Google).

МетодЛучше всего подходит дляКуда это идет
HTML <link> тегиБольшинство веб-сайтов и CMSВ <head> каждой языковой версии
HTTP Link: заголовокPDF-файлы и другие файлы, отличные от HTMLВ ответе сервера для каждой версии
XML-карта сайтаБольшие сайты или когда нельзя редактировать шаблоныОдин <url> запись по версии с xhtml:link дети

Вот минимальный пример HTML для страницы с английским, немецким и запасным вариантом. Один и тот же блок действует на каждую версию:

<link rel="alternate" hreflang="en" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />

Правила, которые имеют значение, все из рекомендаций Google:

  1. Каждая версия перечисляет себя и все остальные. Набор ссылок идентичен в каждой версии.
  2. Используйте полностью квалифицированные URL-адреса с https://, нет //example.com/de/ или /de/.
  3. Требуются обратные ссылки. “Если две страницы не указывают друг на друга, теги будут проигнорированы, - говорит Google.” Это не позволяет другим сайтам претендовать на роль альтернативы вашей странице.
  4. Язык прежде всего, регион необязателен. Используйте код языка ISO 639-1, за которым может следовать регион ISO 3166-1 Alpha 2: de, de-AT, en-GB. Регион сам по себе недействителен.
  5. Добавлять x-default для всех остальных. Он дает имя странице посетителям, языковые настройки которых не соответствуют ни одной из ваших версий. Google утверждает, что он был разработан для страниц выбора языка и лучше всего работает там.
  6. Альтернативные URL-адреса могут находиться на других доменах, так что example.de и example.com могут ссылаться друг на друга.

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

Полный синтаксис методов заголовка и карты сайта см. в нашем полное руководство по внедрению hreflang, и для пошагового руководства по каждому методу, как добавить теги hreflang.

Шаг 4: исправьте ошибки, которые появляются после “no hreflang”

Как только теги существуют, предупреждения меняются. Вот те, которые Google называет наиболее распространенными:

  • Отсутствуют обратные ссылки. На странице A указана страница B, но на странице B страница A не указана. Исправьте шаблон так, чтобы каждая версия выводила полный набор.
  • Неправильные языковые коды. Поддерживаются только языковые коды ISO 639-1. Документация Google дает es-419 (латиноамериканский испанский) как пример кода, который он не поддерживает.
  • Неправильные коды регионов. Коды, зарезервированные для других целей, например EU, UN или UK, не оказывают никакого эффекта в поиске Google. Соединенное Королевство - это GB, поэтому английский для Великобритании - это en-GB.
  • Код страны, используемый в качестве языка. be белорусский, а не бельгийский. Для бельгийской аудитории используйте nl-BE, fr-BE или de-BE.

В сканерах возникают две связанные проблемы, хотя они и не являются строго синтаксисом hreflang:

  • Канонические конфликты. Немецкая страница, канонически указывающая на английскую страницу, сообщает Google, что немецкая страница является дубликатом. В каноническом руководстве Google говорится, что при использовании hreflang следует “указать каноническую страницу на том же языке” (Центр поиска Google). Каждая языковая версия обычно должна быть самоканонической.
  • Альтернативы, которые перенаправляют или возвращают ошибки. Укажите hreflang на последний URL-адрес 200, а не на старый путь перенаправления.

Случай не является ошибкой. Google утверждает, что значения hreflang нечувствительны к регистру, хотя регионы пишутся заглавными буквами (en-GB) соответствует конвенции ISO.

Шаг 5: проверьте исправление

Поскольку в Search Console больше нет отчета hreflang, проверка выполняется вручную:

  1. Точечная проверка источника по одной странице на каждый язык и подтвердите, что на каждом из них отображается один и тот же набор тегов.
  2. Запустите сканер сайта и проверьте раздел hreflang на наличие отсутствующих обратных ссылок, целей, отличных от 200, и недействительных кодов. На странице Google перечислены два сторонних инструмента, которые компания считает популярными: генератор тегов hreflang от Aleyda Solis и инструмент тестирования тегов hreflang от Merkle, однако отмечается, что он не поддерживает и не проверяет их.
  3. Используйте проверку URL-адресов в консоли поиска на переведенном URL-адресе, чтобы подтвердить, что Google может его сканировать и что выбранным каноническим является сам переведенный URL-адрес, а не ваша страница на исходном языке.
  4. Повторно проверьте после изменения шаблона или плагина. Hreflang обычно молча прерывается, когда обновление темы или правило кэширования изменяют то, что печатается в заголовке.

Как ConveyThis обрабатывает hreflang

Если вы переводите свой сайт с помощью ConveyThis и публикуете каждый язык в отдельной подпапке или поддомене, для вас будет сгенерирован hreflang. Плагин WordPress печатает альтернативные ссылки в заголовке страницы: одну для исходного языка, по одной для каждого переведенного языка и x-default указывает на страницу на исходном языке и добавляет альтернативные языки в карту сайта. Поскольку теги берутся из одного и того же списка языков, из которого формируются переведенные URL-адреса, добавление или удаление языка обновляет набор каждой страницы, что позволяет сохранить обратные ссылки нетронутыми.

Две вещи все еще стоит проверить самостоятельно: ваш плагин кэширования или оптимизации не удаляет <link> элементы, и что ваш SEO-плагин не устанавливает канон, который возвращает переведенные страницы к оригиналу. The многоязычный обзор SEO объясняет, как переводятся URL-адреса, метатеги и hreflang сочетаются друг с другом, а также справочная статья поддомены против подкаталогов охватывает выбор структуры URL. Если вы используете WordPress, Страница интеграции WordPress перечисляет, что настраивает плагин.

Часто задаваемые вопросы

Является ли предупреждение “без тегов hreflang” штрафом Google?

Нет. Это отчет инструмента, который не нашел альтернативных аннотаций. Ничто не понижается из-за этого. Стоимость косвенная: без hreflang Google может показать поисковикам версию на неправильном языке.

Нужен ли мне hreflang на одноязычном сайте?

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

Могу ли я использовать теги hreflang и карту сайта одновременно?

Это возможно, но Google утверждает, что в поиске нет никаких преимуществ, и это затрудняет поддержку настройки. Выберите один метод и сохраните его в полном объеме.

Куда делся отчет International Targeting?

Google прекратил его поддержку в 2022 году. Hreflang по-прежнему поддерживается и используется, но ошибки hreflang больше не отображаются в Search Console, поэтому используйте сканер сайта для проверки своих тегов.

Что такое x-default и нужно ли оно мне?

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

Получите правильный hreflang без ручного кодирования

Рукописный хрефланг имеет тенденцию ломаться, как только добавляется страница или язык. Если вы предпочитаете, чтобы переведенные URL-адреса и их аннотации hreflang были сгенерированы вместе, вы можете создать учетную запись ConveyThis и подключите свой сайт.

Поделиться:
G2 High Performer Spring 2023
G2 Easiest Setup Fall 2024
G2 Best Support Spring 2025