HERON

Каждый язык находят в своём поиске

Многоязычный сайт без ошибок

Правильный многоязычный сайт даёт каждому языку свой адрес, сообщает поисковикам тегами hreflang, какие страницы — переводы друг друга, перечисляет все версии в карте сайта и позволяет посетителю переключить язык на любой странице. Тогда каждый язык находят в своей выдаче, а версии не конкурируют между собой.

В HERON всё это настраивается одной строкой в site.yaml. Ниже — как устроены адреса языков, что такое hreflang, частые ошибки и как добавить язык.

Как устроены адреса языков

Основной язык живёт в корне, каждый следующий — под своим префиксом. Адреса тоже можно переводить.

СпособПримерВывод
Главная//ru//de/
Услуги/services//ru/uslugi//de/leistungen/
Одна услуга/services/implants//ru/uslugi/implanty//de/leistungen/implantate/
Папка на языкexample.com/ru/Просто, один сайт, общий вес домена. Так делает HERON
Поддоменru.example.comРаботает, но поисковики считают его почти отдельным сайтом
Переключение без нового адресаexample.com/?lang=ru или скриптНе стоит: поисковик увидит только один язык

Зачем нужен hreflang

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

hreflangАдрес
enhttps://example.com/services/
ruhttps://example.com/ru/uslugi/
x-defaulthttps://example.com/services/

Частые ошибки

Автоматическая переадресация по языку браузера

Роботы поисковиков обычно приходят без языковых настроек и так и не видят другие версии. Лучше дать переключатель.

Машинный перевод без правки

Корявый пустой текст вредит больше, чем отсутствие страницы. Сначала нормально переведите главные страницы.

Один заголовок на все языки

У каждой версии свой title и description на своём языке.

Переключатель, который бросает на главную

Он должен открывать ту же страницу на другом языке, а если перевода нет — показывать язык неактивным.

Нет обратных ссылок в hreflang

См. выше: каждая версия перечисляет все остальные.

Как добавить язык в HERON

  1. 1

    Укажите язык

    В site.yaml: languages: [en, ru] и основной в default_lang: en. Или отметьте его в конфигураторе.
  2. 2

    Добавьте страницы

    У каждого языка своя папка внутри content/. Перевод кладётся в папку своего языка с тем же именем файла, что у оригинала, например content/en/services.md и content/ru/services.md. Так HERON понимает, какие страницы — пара.
  3. 3

    Переведите адреса, если нужно

    Добавьте русской странице slug: uslugi, и адрес станет /ru/uslugi/. Ссылки в текстах продолжат работать: они пишутся один раз, по имени файла.
  4. 4

    Соберите

    HERON напишет hreflang, переключатель языков, карту сайта на каждый язык и llms.txt на каждый язык.
  5. 5
  6. 6
  7. 7

Одна страница на двух языках

Перевод — это копия файла с переписанным текстом. Имя файла то же, поэтому HERON связывает две версии.

content/en/services.md                content/ru/services.md
---                                   ---
title: "Dental services in Vienna"    title: "Стоматология в Вене: услуги"
h1: "Our services"                    h1: "Наши услуги"
description: "Treatment, implants…"   description: "Лечение, импланты…"
                                      slug: uslugi
---                                   ---

Адреса

/services/ и /ru/uslugi/. У основного языка префикса нет.

Ссылки в тексте

Пишутся один раз, по имени файла: ссылка на /services/ на русской странице сама станет /ru/uslugi/.

Страница ещё не переведена

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

Что ещё меняется по языкам

Название сайта и окончание заголовка

Могут отличаться для каждого языка.

Адрес, телефон, описание компании

Пишутся один раз с языковым окончанием, например address_ru, и показываются на нужном языке.

Слова интерфейса

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

Разметка

schema.org пишется на языке каждой страницы.

Вопросы

Нужен ли отдельный домен для каждого языка?

Нет. Папка на язык на одном домене проще и сохраняет общий вес сайта в поиске. Отдельные домены оправданы, когда в каждой стране у вас отдельный бизнес.

Что, если страница ещё не переведена?

Её просто нет на этом языке. Переключатель показывает язык неактивным на этой странице, а hreflang его не упоминает.

Можно писать сначала на втором языке?

Да. Страница может существовать только на втором языке: она собирается как обычно и попадает в карту сайта своего языка, а отчёт сборки напомнит, что основной версии нет. Остановится только сайт, у которого на основном языке нет ни одной страницы: его главный адрес показал бы ошибку.

Как проверить, что hreflang работает?

Откройте код страницы и найдите строки с hreflang, затем откройте каждый указанный там адрес: каждый должен открываться и перечислять остальные в ответ. Инструменты SEO-аудита проверяют это сразу для всего сайта.

HERON переводит тексты?

Нет. Перевод — ваш текст или работа ИИ-агента, которую вы проверяете. HERON отвечает за адреса, теги и переключатель.