Карта hreflang: рабочая таблица и шаблон проверки
Ошибки hreflang не видны сразу. Теги есть в коде страницы, никаких ошибок нет, а пользователи из другой страны всё равно видят не ту версию. Обычно причина одна из трёх: страница не ссылается в ответ, код недопустим (например, en-UK) или canonical указывает не туда, куда hreflang. Эта таблица ловит все три проблемы до запуска. Вы сопоставляете каждую единицу контента с её URL в каждой локали, а затем проверяете: каждая страница указывает себя и все остальные версии, коды допустимы, canonical с ними согласован. Варианты для планирования остались на месте, а ещё есть заполненный пример с ошибками, которые удалось поймать.
- Формат
- Редактируемый Word .docx
- Объем
- 9 вариантов - ~9 страниц
- Цена
- 100% бесплатно
- Начало
- Копировать или скачать
Получите редактируемый Word-документ в один клик.
★★★★★4.9·Бесплатно · Без регистрации · Мгновенная загрузка
Карта hreflang: рабочая таблица и шаблон проверки
Выберите схему URL для [Brand]
Международную структуру URL сложно поменять потом, поэтому решайте осознанно. Есть три распространённых варианта, и у каждого свои плюсы и минусы по стоимости, силе сигнала и поддержке.
- ccTLD: [example.de], [example.fr]: самый сильный географический сигнал, понятно пользователям, но дорого, и у каждого домена свой авторитет.
- Подкаталог: [example.com/de/], [example.com/fr/]: авторитет собирается на одном домене, поддерживать проще всего, подходит большинству команд.
- Поддомен: [de.example.com]: гибкий хостинг, но сигналы могут восприниматься как более обособленные, чем у подкаталогов.
Выберите один подход и применяйте его последовательно во всех локалях. Смешанные схемы путают краулеры и усложняют hreflang.
Зафиксируйте решение и его обоснование ниже, чтобы следующие участники не импровизировали.
- Выбранная структура: [ccTLD / подкаталог / поддомен]
- Причина: [бюджет, размер команды, приоритетные регионы]
- Локали в работе: [список]
Почему это работает
Launch localized pages with hreflang that Google can confirm, so each market sees the right version.
- Maps every piece of content across locales in one row, so missing return links show up as gaps.
- Checks codes, canonicals and status per row, so en-UK and conflicting canonicals get caught before launch.
- Records a fallback per row, so unmatched users land on a selector instead of a random version.
9 готовых вариантов
Копировать всеСтруктура URL для международного сайта
Когда использовать: Выберите, как размещать страновые и языковые версии, до начала разработки.
Выберите схему URL для [Brand]
Международную структуру URL сложно поменять потом, поэтому решайте осознанно. Есть три распространённых варианта, и у каждого свои плюсы и минусы по стоимости, силе сигнала и поддержке.
- ccTLD: [example.de], [example.fr]: самый сильный географический сигнал, понятно пользователям, но дорого, и у каждого домена свой авторитет.
- Подкаталог: [example.com/de/], [example.com/fr/]: авторитет собирается на одном домене, поддерживать проще всего, подходит большинству команд.
- Поддомен: [de.example.com]: гибкий хостинг, но сигналы могут восприниматься как более обособленные, чем у подкаталогов.
Выберите один подход и применяйте его последовательно во всех локалях. Смешанные схемы путают краулеры и усложняют hreflang.
Зафиксируйте решение и его обоснование ниже, чтобы следующие участники не импровизировали.
- Выбранная структура: [ccTLD / подкаталог / поддомен]
- Причина: [бюджет, размер команды, приоритетные регионы]
- Локали в работе: [список]
План карты hreflang
Когда использовать: Определите каждую пару «язык-регион» до того, как напишете первый тег.
Составьте карту локалей для [Brand]
Прежде чем что-то внедрять, соберите общий список всех локалей, которые вы обслуживаете. Следите за кодами: hreflang использует код языка ISO 639-1 (например, en, es, fr), за которым при необходимости идёт код региона ISO 3166-1 Alpha-2 (например, US, MX, GB). Сначала язык, потом регион.
- en: любой англоязычный пользователь (без региона) → [URL]
- en-US: английский, США → [URL]
- en-GB: английский, Великобритания → [URL]
- es-MX: испанский, Мексика → [URL]
- x-default: запасная версия для остальных пользователей → [URL]
Указывайте регион, только если для него действительно есть отдельный контент. Если испанская страница одинакова для всех стран, используйте просто es, а не придумывайте es-MX, es-AR и es-ES.
Запишите каждую пару и её целевую страницу, чтобы внедрение стало механической работой.
- Локаль: [язык или язык-регион]
- Целевой URL: [абсолютный https URL]
Правила внедрения hreflang
Когда использовать: Соблюдайте обязательные технические правила, чтобы теги действительно работали.
Внедрите hreflang правильно для [Brand]
Hreflang работает, только если одновременно выполнены несколько правил. Нарушите одно, и Google может проигнорировать разметку для этой страницы.
- Ссылка на себя: каждая страница должна указывать саму себя среди аннотаций hreflang.
- Обратные ссылки: аннотации должны быть взаимными. Если страница A указывает на страницу B, страница B должна указывать обратно на A.
- x-default: добавьте запасной вариант для пользователей, чей язык или регион вы явно не выбрали.
- Абсолютные URL: всегда используйте полные https URL, а не относительные пути.
Выберите один способ передачи и не смешивайте их: head HTML (link rel='alternate'), HTTP-заголовки (удобно для PDF и других не-HTML файлов) или XML-карта сайта.
Минимальный корректный набор для одной локали выглядит так:
- hreflang: en-us → [URL страницы для США]
- hreflang: en-gb → [URL страницы для Великобритании]
- hreflang: x-default → [запасной URL]
Помните: hreflang подсказывает, какую версию показать, а не повышает позиции.
Как избежать дублей между локалями
Когда использовать: Используйте canonical и hreflang вместе, чтобы локали не каннибализировали друг друга.
Не дайте локалям конкурировать на [Brand]
Почти одинаковые страницы для разных регионов (например, en-US и en-GB) могут выглядеть как дублированный контент. Hreflang и canonical решают это вместе, но только если оба настроены правильно.
- У каждой страницы локали должен быть canonical на саму себя.
- Не ставьте canonical всех локалей на один главный URL: так вы говорите поисковикам выкинуть остальные версии.
- Дополните canonical на себя полным взаимным набором hreflang, чтобы поисковики понимали: это альтернативы, а не дубли.
Вместе они сообщают: это равноценные версии для разных аудиторий, и каждая имеет право на существование.
Проверьте каждую страницу перед публикацией:
- canonical: указывает на [URL этой же локали]
- hreflang на себя: указывает [эту локаль]
- hreflang на другие: все соседние локали на месте [да / нет]
- x-default: есть [да / нет]
Если canonical и hreflang для одной страницы указывают на разные URL, исправьте это. Противоречивые сигналы игнорируются.
Локализация, а не перевод
Когда использовать: Выпускайте по-настоящему локальные страницы, а не машинные копии.
Локализуйте, а не просто переводите, для [Brand]
Сырой машинный перевод даёт страницы, которые читаются коряво и плохо конвертируют. Настоящая локализация адаптирует весь опыт под рынок. Заодно это усиливает сигнал, что каждая локаль заслуживает своей страницы.
- Валюта и цены: показывайте местную валюту, налоги и способы оплаты.
- Языковые нюансы: пусть носитель языка проверит тон, идиомы и терминологию.
- Единицы и форматы: адаптируйте даты, меры, адреса и формат телефонов.
- Местный интент: исследуйте ключевые слова на самом рынке; дословный перевод редко совпадает с тем, как ищут местные жители.
- Сигналы доверия: местные контакты, доставка, возвраты и юридические страницы.
Код языка в hreflang должен совпадать с реальным языком контента. Если страница помечена es-MX, а текст на ней английский, сигнал противоречивый.
Чек-лист локализации для каждой локали:
- Валюта адаптирована: [да / нет]
- Проверка носителем: [кто проверял]
- Местные ключевые слова изучены: [да / нет]
Проверка hreflang и типичные ошибки
Когда использовать: Проверьте внедрение и поймайте ошибки, которые незаметно его ломают.
Проверка hreflang на [Brand]
Большинство сбоев hreflang незаметны: теги есть, но их игнорируют. Проводите эту проверку после запуска и после любых изменений локалей.
- Нет обратных ссылок: убедитесь, что каждая аннотация подтверждена страницей, на которую она указывает.
- Нет ссылки на себя: каждая страница должна указывать саму себя.
- Неверные коды: ищите недопустимые коды регионов: используйте коды стран вроде GB, а не похожие на языковые; UK недопустим.
- Относительные URL: замените все относительные пути абсолютными https URL.
- Конфликт с canonical: canonical и hreflang должны указывать на один и тот же URL для каждой страницы.
- Нет запасной версии: подумайте об x-default для пользователей, не подходящих ни под одну локаль, например о странице выбора языка.
Используйте краулер, который проверяет взаимность hreflang, и выборочно проверяйте страницы инструментом проверки URL (URL Inspection) в Search Console, чтобы контролировать всё в масштабе (старый отчёт «Международное таргетирование» (International Targeting report) Google уже отключил).
Записывайте найденные проблемы и их статус:
- Ошибка: [описание]
- Затронутые локали: [список]
- Статус: [открыта / исправлена]
Рабочая таблица hreflang (для заполнения)
Когда использовать: Одна строка на единицу контента: её канонический URL в каждой локали, запасная версия и результат проверки взаимности.
Рабочая таблица
Одна строка на единицу контента (товар, гайд, категория). Один столбец на локаль. В каждой ячейке полный https URL или пусто, если у локали нет версии.
| ID контента | [en] | [en-GB] | [de] | [fr-CA] | x-default | Проверка взаимности | Ответственный |
|---|---|---|---|---|---|---|---|
| [id] | [URL] | [URL] | [URL] | [URL] | [URL или нет] | [ок / ошибка] | [имя] |
| [id] | [URL] | [URL] | [URL] | [URL] | [URL или нет] | [ок / ошибка] | [имя] |
| [id] | [URL] | [URL] | [URL] | [URL] | [URL или нет] | [ок / ошибка] | [имя] |
Правила для каждой строки
- Себя и все остальные: каждая версия указывает себя и все остальные версии из строки. Аннотации без обратных ссылок Google может проигнорировать.
- Canonical = URL в ячейке: каждая языковая версия сама себе canonical. Не ставьте canonical переводов на английскую страницу.
- Допустимые коды: язык по ISO 639-1, регион по ISO 3166-1 Alpha-2 при необходимости. Один регион без языка недопустим. Великобритания это GB, а не UK.
- Полные URL: с https://. Относительные URL и URL без протокола не засчитываются.
- Один способ: теги link в HTML, HTTP-заголовки или XML-карта сайта. Google обрабатывает их одинаково; несколько сразу ничего не дают.
Проверка кодов и взаимности
Когда использовать: Проверки для выборки строк после внедрения и журнал: что не прошло и кто исправляет.
Проверки
| Проверка | Как | Результат |
|---|---|---|
| Обратные ссылки | Каждый URL в строке указывает все остальные URL этой строки | [ок / ошибка] |
| Ссылка на себя | Каждая страница указывает саму себя | [ок / ошибка] |
| Коды | Нет кодов только с регионом, нет en-UK, нет неподдерживаемых кодов вроде es-419 | [ок / ошибка] |
| Canonical | Canonical каждой страницы совпадает с её ячейкой | [ок / ошибка] |
| Статус | Каждый указанный URL отдаёт 200, без редиректов | [ок / ошибка] |
| Совпадение языка | Контент страницы на том языке, который указан в коде | [ок / ошибка] |
| Запасная версия | x-default задан там, где есть выбор языка или глобальная страница | [задан / не нужен] |
Журнал проблем
| ID контента | Локаль | Проблема | Ответственный | Дата исправления |
|---|---|---|---|---|
| [id] | [локаль] | [проблема] | [имя] | [дата] |
| [id] | [локаль] | [проблема] | [имя] | [дата] |
Критерий готовности: выборка из [число] строк проходит все проверки, проверено [дата].
Разобранный пример (вымышленная софтверная компания)
Когда использовать: Три заполненные строки с выдуманного SaaS-сайта с четырьмя локалями и три ошибки, которые проверка поймала до запуска.
Разобранный пример: Fieldnote
Только пример. Компания, люди, URL и цифры выдуманы, чтобы показать, как выглядит рабочая заполненная версия.
| Контент | en | en-GB | de | x-default |
|---|---|---|---|---|
| Цены | /pricing | /en-gb/pricing | /de/preise | /pricing |
| Функция учёта времени | /features/time-tracking | /en-gb/features/time-tracking | /de/funktionen/zeiterfassung | /features/time-tracking |
| Гайд по НДС в Великобритании | (нет) | /en-gb/guides/vat | (нет) | (нет) |
Что поймала проверка
- Разработчик использовал en-UK. UK зарезервированный код; его заменили на en-GB.
- У немецких страниц canonical указывал на английскую страницу, что противоречило hreflang. Теперь каждая указывает на себя.
- Гайд по НДС, существующий только для Великобритании, ссылался на несуществующую немецкую альтернативу. В строке могут быть пропуски; теперь гайд указывает только себя.
Следующий шаг
С помощью Get Source Code of Webpage посмотрите, какие теги hreflang страница реально отдаёт, и запустите аудит сайта для каждой локали, чтобы найти битые альтернативы или альтернативы с редиректом. Если вы указываете hreflang в картах сайта, соберите файлы из своей таблицы с помощью XML Sitemap Generator. Планируете полноценный выход на международные рынки? Посмотрите наши услуги SEO и GEO.
Как использовать этот шаблон
- Перечислите все локали, которые вы обслуживаете, и запишите их коды: язык по ISO 639-1, регион по ISO 3166-1 Alpha-2 при необходимости (GB, а не UK).
- Выберите одну структуру URL для всех локалей: страновые домены, подкаталоги или поддомены.
- Заполните таблицу: одна строка на единицу контента, один столбец на локаль, полный https URL в каждой ячейке, где есть версия.
- Выберите один способ передачи: теги link в HTML, HTTP-заголовки или XML-карту сайта.
- Сделайте так, чтобы каждая страница указывала себя и все остальные версии из своей строки, а canonical вёл на её собственный URL.
- Добавьте x-default там, где есть страница выбора языка или глобальная страница для остальных пользователей.
- Прогоните проверки на выборке строк: обратные ссылки, коды, canonical, статус и совпадение языка.
- Записывайте ошибки с ответственным, исправляйте их и проверяйте заново после запуска любой локали или смены URL.
Советы
- Ставьте canonical каждого перевода на него самого. Canonical переводов на английскую страницу противоречит hreflang.
- Оставляйте ячейку пустой, если у локали нет версии. Никогда не указывайте в hreflang страницу на другом языке.
- Если у вас несколько региональных вариантов, добавьте общую языковую версию (en), чтобы остальные англоязычные пользователи тоже получали страницу.
- Сверяйте коды со списками ISO. en-UK, коды только с регионом и es-419 в Google не работают.
Частые вопросы
Какой формат у значения hreflang?
Код языка ISO 639-1, за которым при необходимости идёт код региона ISO 3166-1 Alpha-2, например en, en-GB или fr-CA. Один код региона недопустим, а Великобритания обозначается GB, а не UK.
Нужны ли обратные ссылки на каждой странице?
Да. Каждая версия должна указывать себя и все остальные версии. Google может проигнорировать аннотации, которые не подтверждены другой страницей.
Что делает x-default и обязателен ли он?
Он задаёт запасную страницу для пользователей, чей язык не совпадает ни с одной из ваших версий, например страницу выбора языка. Он необязателен, но полезен, если у вас есть выбор языка или глобальная страница.
Как canonical должен работать вместе с hreflang?
Каждая языковая версия должна быть canonical сама для себя. Если у немецкой страницы canonical ведёт на английскую, это противоречит hreflang, и немецкая страница может не показываться.
Где размещать hreflang?
В тегах link в head HTML, в HTTP-заголовках Link (удобно для PDF) или в XML-карте сайта. Google обрабатывает все три способа одинаково, поэтому выберите один и используйте его последовательно.
Улучшает ли hreflang позиции?
Не напрямую. Он помогает Google показывать каждому пользователю нужную языковую или региональную версию, а это может повысить клики и конверсии на каждом рынке.