Мультиязычное SEO: hreflang, структура и локализация
Как спланировать языки, URL, hreflang и переведённый контент, чтобы каждая аудитория получала отдельную, полезную и индексируемую версию.
Мультиязычный сайт — это не просто набор переведённых страниц. Для SEO это отдельная архитектурная задача: Google должен понять, какая версия предназначена для какой аудитории, где находится каноническая страница и как ссылочный вес распределяется между языковыми версиями. Неудачная структура превращается в технический долг на годы.
Три стратегии структуры URL
Google официально поддерживает три подхода к структуре URL для мультиязычных и мультирегиональных сайтов. У каждого свои сильные стороны, ограничения и требования к инфраструктуре.
Подпапки
example.com/ru/, example.com/en/, example.com/de/ — всё на одном домене. Весь ссылочный вес концентрируется на одном домене. Простая поддержка: один сайт, один сервер, одна инфраструктура. Минус: Google не считает подпапку «местным» сайтом, потому что домен не привязан к стране. Лучший вариант для большинства бизнесов с международной аудиторией.
Поддомены
ru.example.com, en.example.com, de.example.com — технически отдельные сайты с общим корневым доменом. Google считает поддомен отдельным сайтом, и ссылочный вес передаётся хуже. Геотаргетинг настраивается через Search Console. Раньше им пользовались крупные игроки; сегодня для большинства задач мультиязычности это устаревший выбор.
Отдельные домены / ccTLD
example.ru, example.de, example.fr — отдельные домены, каждый привязан к конкретной стране. Самый сильный геосигнал для Google. Пользователи в Германии доверяют .de больше, чем .com. Минус: каждому домену нужны своя ссылочная масса, хостинг, поддержка SSL и контент. При масштабировании — высокие операционные расходы.
Нужна ли геопривязка?
Если бизнес работает в конкретных городах или регионах (услуги в Лондоне, Берлине, Варшаве), геотаргетинг — обязательная часть архитектуры. Для городов и регионов используют подпапки с понятными слагами: /london/, /berlin/, /warsaw/. Это не то же самое, что мультиязычность: геотаргетинг может работать и в рамках одного языка.
По ключевым параметрам: подпапки выигрывают в концентрации ссылочного веса и простоте поддержки. ccTLD — в силе геосигнала. Поддомены не выигрывают ни в одной категории и постепенно теряют популярность.
Геотаргетинг: города, регионы и страны
Региональное SEO — самостоятельная дисциплина внутри мультиязычной архитектуры. Когда пользователь ищет «ремонт квартир в Мюнхене», Google хочет показать сайт, который явно релевантен этому городу. За это отвечают несколько механизмов.
- Геотаргетинг через URL
- Подпапки с кодом региона или города: /london/, /berlin/, /warsaw/. Или ccTLD-домены для стран: .de для Германии, .fr для Франции, .pl для Польши. Робот читает URL-сигнал до разбора содержимого страницы.
- Геотаргетинг через Search Console
- Для поддоменов и общих доменов верхнего уровня (.com, .org) можно указать целевую страну в настройках ресурса в Google Search Console. Это дополнительный сигнал, слабее ccTLD. Не применяется к подпапкам — только к домену или поддомену целиком.
- Геотаргетинг через контент и NAP
- Упоминания города, региона, адреса и местных телефонных номеров в контенте (NAP — Name, Address, Phone). Важно для локального SEO. Google сверяет контентные сигналы с данными Google Maps и Google Business Profile.
Если у бизнеса офисы в нескольких городах, оптимальна структура с основным доменом и подпапками: site.com/london/, site.com/berlin/. Для каждого города — отдельные страницы с уникальным контентом, а не просто замена названия города. Дубли с заменой города — один из самых частых фильтров в локальном SEO.
Выбор платформы: WordPress, MODX, Next.js и headless CMS
Выбор CMS сильно влияет на возможности мультиязычного и мультирегионального сайта. Каждая платформа решает задачу по-своему, с разными компромиссами по гибкости, стоимости разработки и масштабируемости.
WordPress + WPML или Polylang
Самое распространённое решение. WPML — мощный платный плагин (около $99 в год): поддерживает любое число языков, синхронизацию переводов и конструктор hreflang. Polylang — бесплатная альтернатива с ограниченными возможностями в бесплатной версии. Ограничение: WordPress изначально не создавался для мультиязычности, поэтому любое решение — это надстройка, которая усложняет базу данных и со временем замедляет сайт.
MODX + Babel
MODX поддерживает мультиязычность через компонент Babel (настройка контекстов). Каждый язык или регион становится отдельным контекстом со своим деревом ресурсов, настройками и доменом. Гибче, чем WordPress + WPML, но нужен опытный разработчик MODX. Документации мало, экосистема небольшая. Подходит, если в команде уже есть экспертиза MODX.
Next.js + next-intl
Нативное решение для современных приложений. next-intl даёт маршрутизацию по локали, управление переводами через JSON-файлы и полную поддержку SSR/SSG. Ключевое преимущество: из одного монорепозитория можно обслуживать несколько доменов с разными локалями через middleware Next.js. Без накладных расходов на плагины и конфликтов версий: логика интернационализации встроена в архитектуру.
Headless CMS (Contentful, Sanity, Strapi)
Headless-подход отделяет бэкенд контента (CMS) от фронтенда (Next.js, Nuxt, SvelteKit). Один источник контента, несколько фронтендов или доменов поверх него. Contentful и Sanity поддерживают локализацию на уровне полей. Редакторы получают удобный интерфейс, разработчики — полностью свободный стек. Минус: это ещё один сервис в инфраструктуре и дополнительные расходы.
Для простого двуязычного корпоративного сайта разумный выбор — WordPress + WPML. Для сложной региональной сети из десятков доменов — только Next.js. MODX подходит, если команда уже работает с этой платформой и имеет нужную экспертизу.
Next.js и несколько доменов: один монорепозиторий, несколько ccTLD
Это самая мощная и самая сложная для внедрения архитектура. Суть: одна кодовая база, один репозиторий, один пайплайн деплоя, но несколько независимых ccTLD-доменов для разных стран. Доступна только на Next.js (и на Nuxt 3 в похожей логике): WordPress и MODX не справятся с этим без серьёзной перестройки инфраструктуры.
На практике: в next.config.ts описываете домены и соответствующие им локали. Middleware перехватывает запрос, проверяет имя хоста (seohead.ru → ru, seohead.com → en, seohead.de → de) и задаёт нужную локаль в запросе. Все компоненты, переводы и SEO-метаданные получают правильную локаль без дублирования кода.
Единое управление контентом
Один набор JSON-файлов или один headless CMS управляет контентом для всех доменов. Обновление статьи, добавление товара или изменение навигации применяется ко всем сайтам одним деплоем.
Единый пайплайн деплоя
CI/CD собирает один образ, который обслуживает все домены. Nginx или CDN направляет трафик с разных доменов в один контейнер. Инфраструктура обходится дешевле, чем запуск отдельных самостоятельных сайтов.
Переиспользование компонентов
Шапка, подвал, SEO-мета-теги и структурированные данные пишутся один раз и работают на всех доменах с правильной локализацией. Обновление компонента применяется везде сразу, без риска расхождений.
Сложность реализации
Архитектура требует опытного Next.js-разработчика. Нужно правильно настроить middleware, hreflang для каждого домена, отдельный sitemap на каждый домен, robots.txt для каждого домена и разделённые SEO-метаданные. Ошибки приводят к каннибализации запросов и потере геотаргетинга.
Этот подход подходит бизнесу, который работает в 3+ странах с отдельными ccTLD, имеет команду разработки (а не одного фрилансера) и существующий или запланированный стек на Next.js. Для малого бизнеса с одним-двумя языками это избыточно.
Локализация и перевод: как делать правильно
Локализация — это не перевод. Перевод передаёт смысл на другом языке. Локализация адаптирует контент под культурный контекст, ожидания аудитории и местные нормы. Для SEO разница критична: машинный перевод даёт низкокачественный дублированный контент, который Google всё лучше распознаёт.
- Машинный перевод (DeepL, Google Translate)
- Быстро и дёшево, но обязательна правка носителем языка. Сырой машинный перевод без постредактуры — это не локализация, а риск попасть под санкции за тонкий контент. Используйте его как черновик, а не как готовый результат.
- Профессиональный перевод с локализацией
- Переводчик-носитель адаптирует не только текст, но и примеры, кейсы, единицы измерения, форматы дат и валюты, культурные отсылки. Дорого, но это правильный подход для ключевых страниц: главной, услуг, «О компании».
- CAT-инструменты и память переводов (TM)
- Для больших объёмов контента: Phrase (ранее Memsource), Lokalise, Crowdin. Они хранят согласованные переводы терминов и экономят до 40% времени при обновлении контента. Интегрируются с кодовой базой через CI/CD-пайплайны.
Ключевые запросы на целевых языках нужно исследовать отдельно: прямой перевод фразы часто не совпадает с тем, что реально вводят носители. Используйте Ahrefs или Semrush с переключением на целевую страну, а не переводчик.
Настройка SEO: hreflang, sitemap, canonical
Техническая настройка мультиязычного сайта состоит из нескольких обязательных элементов. Пропуск любого из них приводит к путанице в индексации и потере трафика.
hreflang
Атрибут hreflang сообщает Google: «это та же страница, но для другой языковой или региональной аудитории». Реализуется через <link rel="alternate" hreflang="en"> в <head> или через XML-карту сайта. Обязателен для всех языковых версий, включая x-default (запасной вариант). Ошибки в hreflang — одна из самых частых причин неверного ранжирования языковых версий.
XML-карта сайта
Для мультиязычного сайта sitemap должен содержать все языковые версии каждой страницы с аннотациями hreflang. Для мультидоменных схем — отдельная карта на каждый домен. Google не переносит знания о страницах между доменами автоматически, даже если их отдаёт одна кодовая база.
Канонические теги
Каждая языковая версия ссылается canonical на саму себя, а не на основную языковую версию. Не используйте canonical, чтобы «склеить» языковые версии: так вы сообщаете Google, что переводы можно игнорировать. hreflang и canonical — разные инструменты для разных задач.
Метаданные на правильном языке
Title, description, og:title, og:description — всё на языке версии страницы. Смешение языков в метаданных снижает CTR и сбивает алгоритм. Для каждой страницы в каждой локали — уникальные, оптимизированные метаданные.
Что выбрать: подпапки или мультидомены
Универсальный совет: начните с анализа конкурентов в каждом целевом регионе. Если топ-5 в вашей нише в Германии — немецкие ccTLD (.de), подпапка example.com/de/ будет работать, но с структурным отставанием. Если конкуренты используют подпапки, нет смысла вкладываться в ccTLD.
- Выбирайте подпапки, если
- Малый или средний бизнес без отдельных команд под каждую страну. Бюджет ограничен. Важна скорость запуска. Конкуренты в целевых регионах тоже используют подпапки. Масштабируется хорошо: новый язык — это новая папка и переводы.
- Выбирайте ccTLD, если
- Серьёзное присутствие в конкретных странах на высококонкурентном рынке. Конкуренты используют ccTLD. Есть отдельные команды или бюджет на поддержку каждого домена. Важна максимальная локальная доверительность (финансы, e-commerce, юридические услуги).
- Избегайте поддоменов
- Поддомены — худший из трёх вариантов: ссылочный вес передаётся хуже, чем у подпапок, геосигнал слабее ccTLD, а поддержка сложнее, чем у подпапок. Используйте их, только если этого требует техническая архитектура (например, SaaS с клиентскими доменами).
На практике большинство бизнесов начинают с подпапок и переходят на ccTLD по мере роста. Правильно настроенные 301-редиректы и hreflang обеспечивают безопасный переезд без потери позиций. Окончательного выбора нет: архитектуру можно изменить с помощью грамотного плана миграции.
Частые вопросы
Нужен ли hreflang, если у меня один язык, но несколько регионов?
Может ли WordPress управлять несколькими доменами ccTLD?
Как настроить мультиязычный сайт на MODX?
Влияет ли язык сайта на позиции в конкретной стране?
Насколько сложна миграция с подпапок на ccTLD?
Check it with SpiderHead
Free and local: run the audit on your own machine.



