SEO и поиск с искусственным интеллектом

SEO многоязычного сайта: как связать языки, URL, hreflang и canonical

Для каждого опубликованного языка нужны доступные страницы, понятный путь к заявке и согласованные связи между переводами. Начните с таблицы соответствий URL: она поможет разработчику настроить переключатель и разметку, а редактору — увидеть пробелы. Разберём небольшой RU/DE-сайт от выбора структуры до проверки запуска.

Сначала определите язык клиента и рынок обслуживания

Русскоязычный посетитель может находиться в Германии, Австрии или другой стране. Немецкий язык тоже не означает автоматически немецкий рынок. Поэтому до перевода запишите два отдельных решения: на каком языке человек читает и в каких странах компания действительно оказывает услугу. От этого зависят условия предложения, примеры, контакты и содержание формы.

В условном проекте из этого руководства одна компания обслуживает немецко- и русскоязычных B2B-клиентов. У неё одинаковый состав услуг и две полноценные языковые версии. Региональные предложения пока не разделяются. Используем языковые обозначения ru и de; если позднее появятся существенно разные условия для Германии и Австрии, отдельно обсудим необходимость региональных страниц.

Такое описание полезнее задания «добавить ещё один флаг». Оно позволяет проверить готовность бизнеса: кто отвечает на новом языке, какие материалы получит клиент и можно ли выполнить обещанное на странице. Техническая публикация перевода этих вопросов не решает.

Выберите структуру, которую сможете поддерживать

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

Варианты структуры для планирования проекта
СтруктураКогда рассматриватьЧто придётся поддерживать
example.com/ru/ и example.com/de/Один сайт, общая команда и общие шаблоныОбщую систему публикации и отдельную проверку контента каждого языка
ru.example.com и de.example.comВерсии должны работать в разных технических системахПоддомены, настройки публикации и согласованность переходов
example.de и другой домен компанииСамостоятельные региональные сайтыКаждый домен, контент, аналитику и связи между эквивалентами

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

У существующего сайта язык может уже находиться в корне, без /ru/. Сохранять такую схему допустимо. Не переносите работающие адреса только ради симметрии: изменение URL потребует отдельного плана миграции.

Составьте карту переводов до настройки тегов

Ниже — учебные адреса на example.com, а не действующий клиентский сайт. Каждая строка обозначает один материал. Переведённые названия в URL могут различаться, поэтому смена языка через механическую замену /ru/ на /de/ здесь не сработает.

Карта публикации условного RU/DE-сайта
МатериалРусский URLНемецкий URLСостояние
Главная/ru//de/Обе версии опубликованы
Разработка сайтов/ru/uslugi/sozdanie-saytov//de/leistungen/webentwicklung/Полноценная пара переводов
Контакты/ru/kontakty//de/kontakt/Обе версии опубликованы
Руководство по выбору подрядчика/ru/blog/vybor-podryadchika/Перевода пока нетПубликуется только русская статья

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

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

Настройте hreflang на уровне конкретной пары страниц

Hreflang сообщает о языковых или региональных вариантах материала. Для опубликованной пары каждая страница перечисляет себя и вторую версию; адреса должны быть полными, а ссылки — взаимными. Код ru означает русский язык, de — немецкий; дополнительный регион записывается после языка, например de-DE.

Ниже показаны два отдельных фрагмента head для строки «Разработка сайтов». Набор alternate одинаковый, canonical у каждой страницы свой. Заменять эти адреса на главные страницы нельзя: связь относится именно к услуге.

Google поддерживает указание вариантов через HTML, HTTP-заголовки или sitemap. Выберите один удобный способ и назначьте ответственного за него. Три параллельные реализации усложняют поддержку без дополнительного преимущества. Код ниже предназначен для внедрения специалистом; его не нужно вставлять в видимый текст страницы услуги.

<!-- head русской страницы услуги -->
<head>
  <meta charset="utf-8">
  <title>Разработка сайтов</title>
  <link rel="canonical" href="https://example.com/ru/uslugi/sozdanie-saytov/">
  <link rel="alternate" hreflang="ru" href="https://example.com/ru/uslugi/sozdanie-saytov/">
  <link rel="alternate" hreflang="de" href="https://example.com/de/leistungen/webentwicklung/">
</head>

<!-- head немецкой страницы услуги -->
<head>
  <meta charset="utf-8">
  <title>Webentwicklung</title>
  <link rel="canonical" href="https://example.com/de/leistungen/webentwicklung/">
  <link rel="alternate" hreflang="ru" href="https://example.com/ru/uslugi/sozdanie-saytov/">
  <link rel="alternate" hreflang="de" href="https://example.com/de/leistungen/webentwicklung/">
</head>

Разделяйте назначение canonical и x-default

Canonical обозначает предпочтительный адрес среди одинаковых или очень похожих страниц. Полноценный перевод с самостоятельным основным текстом не нужно автоматически объединять с оригиналом. Для нашей пары RU/DE используем собственный canonical каждой версии, как в примере выше. Ссылка canonical с русской услуги на немецкую посылает другой сигнал, чем тот, который мы хотим получить.

Есть отдельные ситуации с почти одинаковыми региональными страницами на одном языке. Для них выбор основного адреса рассматривают отдельно; правило «всегда canonical на себя без проверки» слишком грубое. Также согласуйте основной адрес с внутренними ссылками и sitemap. Canonical остаётся сигналом предпочтения: окончательный выбор делает Google.

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

Не публикуйте отсутствующий перевод как готовую версию

В нашей таблице руководство по выбору подрядчика есть только на русском. Мы оставляем его самостоятельной статьёй и не придумываем немецкий адрес в языковой разметке. Кнопка Deutsch не должна вести на несуществующий перевод или выдавать другую статью за тот же материал.

Практичный вариант интерфейса: сообщение «Эта статья пока доступна на русском» и отдельная ссылка «Перейти в немецкий раздел». Такой переход отличается от переключения текущей страницы и должен быть подписан соответственно. При публикации перевода редактор обновляет строку таблицы, а разработчик или CMS добавляет необходимые связи.

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

Дайте человеку сохранить выбранный язык

Не перенаправляйте посетителя принудительно по IP или языку браузера. Русскоязычный владелец бизнеса в Германии может намеренно открыть русский URL. Вместо неожиданного перехода можно предложить немецкую версию и оставить выбор человеку.

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

Проведите простой приёмочный тест. Откройте русский адрес напрямую в чистом окне, перейдите на немецкую услугу, обновите страницу, скопируйте ссылку и откройте её повторно. Во всех действиях адрес должен соответствовать выбранной версии. Затем проверьте контакты и возврат назад. Если язык сам меняется, сначала найдите правило переадресации; правка hreflang эту причину не устранит.

Отдельно обработайте переезды и удалённые страницы

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

Если страницы больше нет и содержательной замены тоже нет, корректный ответ 404 или 410 сообщает об этом. Не создавайте страницу «Перевод скоро появится» с кодом 200 только ради заполнения структуры: пустая страница может определяться как soft 404. Обычная 404 для отсутствующего адреса не означает, что весь сайт неисправен.

Для миграции составьте отдельную таблицу «старый URL → действие → конечный URL». Проверьте каждую строку запросом к серверу, включая адреса из старых меню и внешних материалов. Если старый адрес зацикливается, ведёт через несколько ненужных переходов или заканчивается ошибкой, исправляйте маршрут до запроса повторного обхода.

Запускайте проверенный набор страниц и фиксируйте результат

Не обязательно переводить весь архив к первому запуску. Для нового языка соберите завершённый путь: страница услуги, информация о компании, нужные условия, контакты и работающая форма. Ниже — предлагаемый порядок приёмки, который можно передать исполнителю.

Записывайте URL, ожидаемый результат, фактический результат, дату и ответственного за исправление. Статус «проверено» без адреса и сценария трудно перепроверить после обновления шаблона. Техническая доступность, включая код 200, не гарантирует индексацию: результат обработки нужно наблюдать отдельно.

  • Контент: редактор подтверждает смысл перевода, терминологию, актуальные условия и все элементы формы.
  • Адреса: разработчик проверяет конечный код ответа, отсутствие случайного noindex и доступность для обхода.
  • Связи: у каждой опубликованной пары сверяют canonical, языковую разметку и переключатель с утверждённой таблицей.
  • Навигация: проверяют меню, хлебные крошки, ссылки из статей и переход к заявке на каждом языке.
  • Публикация: новые основные адреса добавляют в sitemap; в Search Console проверяют несколько типовых страниц и затем отслеживают причины исключения.
  • Учёт обращений: проверяют, что заявка доходит ответственному сотруднику и язык обращения понятен без догадок.

Связывайте самостоятельные сайты по смыслу

У одного бренда могут быть два самостоятельных сайта. Для Salestudia материалы на .com и .de не становятся языковыми эквивалентами автоматически: у них могут различаться задача, глубина объяснения и аудитория. Общего владельца и похожего заголовка недостаточно, чтобы связывать статьи через hreflang.

Если русская статья на .com помогает сравнить предложения, а материал на .de объясняет этапы разработки, уместна обычная тематическая ссылка с понятной подписью. Читатель получает дополнительное объяснение, а каждая публикация сохраняет своё назначение. Вопрос языковых связей возникает только для реальных эквивалентных версий.

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

Полезные материалы

Официальные и профильные ссылки

Эти материалы дают контекст для данных, правил и рекомендаций на странице.

B2B-запрос

Обсудить проект

Расскажите о компании, целевом рынке и задаче. Состав работ и стоимость определяются индивидуально.

Отправляя запрос, вы передаёте указанные данные Salestudia для ответа на ваш B2B-запрос. Обработка формы выполняется через Formspree и может включать передачу данных в США. Подробнее — в Политике конфиденциальности. Не отправляйте медицинские сведения, документы, платёжные реквизиты и другие чувствительные данные.

Отправка через Formspree
Прямой контакт

Удобнее написать напрямую?

Коротко укажите компанию, рынок и задачу — так разговор будет предметнее.