Проверка hreflang: типовые ошибки разметки
Проверка hreflang находит типовые ошибки разметки языковых версий: односторонние ссылки, отсутствие ссылки на себя, неверные коды языка. Ошибка в одном месте отключает разметку целиком, поэтому проверять стоит после каждого изменения. Инструмент — валидатор hreflang.
Какие ошибки встречаются чаще всего
| Ошибка | Последствие |
|---|---|
| Версия ссылается на другую, а та на неё — нет | Пара игнорируется: разметка обязана быть взаимной |
| Нет ссылки страницы на саму себя | Набор считается неполным |
| Опечатка в коде языка | Строка не действует; коды задаются стандартом |
| Регион без языка | Не работает: регион указывается только вместе с языком |
| Ссылка на адрес с редиректом или ошибкой | Связка рвётся |
| Указаны неканонические адреса | Конфликт с каноническим адресом, поиск выбирает сам |
Код языка и код страны
Язык записывается двухбуквенным кодом, страна — отдельным двухбуквенным кодом после дефиса. Частая путаница: код страны и код языка для одной территории различаются, и подставлять один вместо другого нельзя. Если версия предназначена всем говорящим на языке, код страны не указывают вовсе — так правило работает шире.
Порядок проверки
- Проверьте одну страницу каждой языковой версии — ошибки обычно системные, из шаблона.
- Убедитесь, что все перечисленные адреса отвечают кодом 200.
- Сверьте адреса с каноническими — они должны совпадать.
- Проверьте запасной вариант для остальных стран, если он используется.
Нужен ли hreflang вашему сайту
| Ситуация | Нужен? |
|---|---|
| Сайт на одном языке | Нет |
| Несколько языков на одном домене | Да |
| Один язык, но разные страны с разными ценами | Да, с указанием региона |
| Переводы на поддоменах или отдельных доменах | Да, разметка работает и между доменами |
| Автоперевод без отдельных адресов | Нет: размечать нечего |
Как это сделано у нас
Каждая статья базы знаний существует в четырёх языковых версиях со своим адресом, и они связаны этой разметкой — поэтому английская версия не конкурирует с русской. Как переключаться между ними, описано в статье о языковых версиях.