• Сайты · Next.js i18n-роутинг

Многоязычный сайт с корректным hreflang

Разработка многоязычного сайта — схема адресов, отдельный контент под каждый язык и техническая декларация языков, которую читает поиск. Вторую и третью версию делаем так, чтобы каждая страница имела свой адрес, собственные метатеги, собственный hreflang и попала в карту сайта вместе со всеми остальными. Срок – 12–30 рабочих дней; время самого перевода сюда не входит, оно идет параллельно стороне вашего переводчика. Цены на странице нет специально: объем текста и состояние имеющегося сайта сначала меряем аудитом.

Стоимость
после бесплатного аудита
Гарантия
30 дней после подписания акта
Языковые версии в измеренном магазине белья
три рабочих ветви — корневая ru, /ru/ и /pl/, все отдают HTTP 200
после бесплатного аудита
Стоимость
30
Гарантия

дней после подписания акта

три рабочих ветви — корневая ru, /ru/ и /pl/, все отдают HTTP 200
Языковые версии в измеренном магазине белья
hreflang заведено дважды двумя разными механизмами, наборы противоречат друг другу
Что там сломано
lang="ua" вместо uk, а на польском — lang="code": переменная не подставилась в шаблон
Коды языков там же
три версии bg/en/ru, первый ответ 512,6 мс при 220,4 КБ HTML
Фирменный сайт бренда на рынок ЕС
hreflang ru-ru/ru-ru/x-default корректны, 1 992 адреса в карте сайта без дублей
Двуязычный B2B-каталог запчастей
12–30
Срок работ

рабочих дней, без времени на сам перевод

бесплатный аудит языковых версий, 2–4 рабочих дня
Перед сметой
Этапы работы

Прозрачные этапы с согласованием на каждом шагу

Общий срок:12–30 дней

  1. Разбор языковых версий и решения по языкам

    2–4 рабочих дня

    Снимаем, что реально отдает сайт: коды языков, hreflang, canonical, состав карты сайта. Фиксируем перечень языков и рынков под них, а также то, какую версию видит зашедший без выбора посетитель.

  2. Схема адресов и план редиректов

    2–3 рабочих дня

    Выбираем префикс, поддомен или домен и обосновываем выбор в письменном виде. Здесь же составляется таблица «старый адрес → новый», которая затем становится планом 301-редиректов.

  3. Языковой роутинг в движке

    3–6 рабочих дней

    Разворачиваем языковые ветви, переключатель с переходом на ту же страницу, служебные страницы и формы в каждом языке. На Next.js это i18n-роутинг, на WordPress – WPML, на OpenCart – штатная мультиязыковость.

  4. Файлы для перевода и заливка готового

    2–8 рабочих дней

    Отдаем текст структурированным файлам с отдельными полями под title и description, принимаем перевод назад и заливаем. Разброс в днях велик именно из-за объема текста, а не из-за количества языков.

  5. hreflang, canonical, метатеги, карта сайта

    2–5 рабочих дней

    Проставляем взаимные hreflang из x-default, самопосылаемые canonical, проверяем, что каждая ветвь присутствует в карте сайта, и добавляем директиву Sitemap в robots.txt.

  6. Проверка в каждом языке, аналитика, передача

    1–4 рабочих дня

    Проходим формы и служебные сценарии на каждом языке, смотрим верстку на длинных словах, разделяем трафик по языкам в GA4, отдаем инструкцию по заведению страниц.

Технологии и интеграции

На чём строим и с чем это соединяется

Стек

  • Next.js i18n-роутинг – языковой префикс и словари из коробки; ограничение: новый язык прилагается релизом, редактор сам его не заведет
  • React и TypeScript — типизированные ключи перевода ловят забытую строчку на сборке, а не на живом сайте
  • WordPress + WPML – редактор ведет языки сам; ограничение: плагин платный, а на большом сайте заметно нагружает админку
  • Штатная мультиязыковость OpenCart – когда языковую версию добавляют в существующий магазин без изменения движка
  • nginx и HTTP/2 - правила языковых редиректов и сертификаты, если рынки разъезжаются по поддоменам
  • Cloudflare – кэш с учетом языкового префикса; ограничение: неправильный ключ кэша отдает один язык вместо другого

Интеграции

  • Google Search Console – отдельные свойства под языковые версии
  • GA4 с разделением по языкам
  • Google Tag Manager
  • WPML
  • Crowdin – обмен файлами перевода
  • eSputnik — рассылки на языках
Что входит

Полный перечень работ и того, что вы получаете на выходе

  • Схема языковых адресов – префикс в пути, поддомен или отдельный домен – с письменным обоснованием выбора
  • Языковой роутинг: переключатель ведет на ту же страницу на другом языке, а не выбрасывает на главную
  • hreflang с x-default и самоссылающийся canonical в каждой версии — поиск читает их как варианты одной страницы
  • Перевод интерфейса: меню, кнопки, подписи полей, ошибки форм, страницы 404 и «спасибо»
  • Отдельные title и description на каждый язык – свой снипет вместо копии оригинала
  • Все языковые ветви в карте сайта плюс директива Sitemap в robots.txt
  • Форматы чисел, дат и валют под язык и падежи в шаблонах – без «3 товара» вместо «3 товаров»
  • Перенос имеющегося контента с разбором старых адресов и 301-редиректами один в один
  • GA4 с разделением по языковым версиям — видно, какой язык приносит обращение, а какой пуст
  • Передача: инструкция, как заводить страницу на всех языках, гарантия 30 календарных дней
Когда эта услуга не подходит

Что не входит в работу — чтобы не было сюрпризов на сдаче

  • Сам перевод текстов – мы готовим файлы и принимаем готовый перевод от вашего переводчика
  • Юридическая адаптация условий под законодательство другой страны
  • Машинный перевод как замена человеческому – мы его не ставим
  • Мультивалютность и локальные платежные методы – отдельный объем работ
  • Продвижение языковых версий в поиске после запуска
Кому подходит

Ситуации, в которых эта услуга даёт результат

Сценарий 1 из 4

Второй язык уже добавили, а обращений с него нет

Переключатель в шапке работает, страницы открываются, а у GA4 второй язык дает единицы визитов. Причина обычно техническая: версия не попала в карту сайта, или canonical с нее ведет на основной язык, или hreflang объявляет пару, которой не существует. Проверять это нужно замерами, а не глазом — в живом магазине мы видели, как 590 адресов карты сайта вели на одну ветку из двух объявленных.

Разберём вашу ситуацию на бесплатном аудите
Языковой префикс в пути против отдельного домена на рынок

Чем этот вариант отличается от альтернативы

Вес доменанакапливается на одном хосте, новый язык стартует не с нуля
Сколько мест администрированияодна кодовая база, одна панель, одна публикация
hreflangпроставляется внутри проекта и проверяется одной проверкой
Локальный сигнал для рынкаболее слабый: домен один и зона одна
Когда братьтот же бизнес говорит на нескольких языках

Бесплатный аудит языковых версий

Многоязычие ломается тихо: страницы существуют, переключатель работает, а поиск видит только одну ветку. Это видно только замерами, и именно их мы производим бесплатно.

Что мы измеряем

  • Какие языковые версии действительно есть в карте сайтаСамый частый дефект нашей выборки. На одном сайте все 590 уникальных адресов карты вели только на одну языковую ветвь, хотя было объявлено два; на другом в карту не попал ни один адрес второго языка.
  • Не противоречит hreflang сам себеНа измеренном магазине hreflang был заведен дважды двумя разными механизмами, и наборы противоречили друг другу: по ссылке для украинской версии отдавался контент на другом языке.
  • Коды языков и x-defaultПроверяем валидность кодов. Мы встречали lang="ru" вместо uk и даже lang="code" — в шаблон не подставилась переменная, и страница объявила язык несуществующим кодом.
  • Действительно ли переведены title и descriptionКлассика: интерфейс переведен, атрибут языка изменен, а title и описание остались языком оригинала — две страницы с одинаковыми метатегами, которые читает поиск как дубликат.
  • Самопосылаемые canonical на каждой версииЕсли canonical из всех языковых версий ведет на одну, остальные языки выпадают из индекса вместе со всем своим контентом.
  • Объем текста для переводаСчитаем реальный объем в знаках по типам страниц – от этого зависит и срок, и бюджет на перевод, который вы платите не нам.

Что вы получаете

  • Документ с замерами: какие языки объявлены, какие реально в карте сайта, где hreflang противоречит самому себе.
  • Список страниц, в которых метатеги не переведены, с объяснением последствий.
  • Схема языковых адресов: по какому принципу строятся пути и что делать со старыми ссылками.
  • Оценка объема текста для перевода в знаках по типам страниц.

Срок: 2–4 рабочих дня от получения адреса сайта

Почему это бесплатно

Потому что мы не знаем, это настройка на три дня или перестройка структуры на три недели. Замеры дают ответ через два-четыре дня и остаются у вас.

Что дальше

После аудита даем смету по этапам. Если окажется, что нужно только поправить hreflang и карту сайта – так и скажем, это несколько дней работы.

Короткая форма: контакт и адрес сайта

Не нашли свой случай?

Опишите, как это устроено у вас, — ответим, подходит ли «Разработка многоязычного сайта» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.

  • Договор, акт и гарантия 30 дней

    На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.

  • ФОП и безналичный расчёт

    Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.

  • Права и доступы — ваши

    Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.

  • Портал клиента вместо переписки

    Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.

  • Заказчики из Европы

    Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.

  • Цифры, которые можно проверить

    Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.

  • Сначала аудит, потом сумма

    Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.

  • Говорим «нет», когда не уверены

    Если задача не наша или срок нереальный — скажем сразу.

Что влияет на стоимость

Почему две одинаковые на вид задачи считаются по-разному

  • Объем текста, а не количество языковДва языка на сайте с двадцати страниц и два языка на каталоге продукции из двухсот – разные проекты при одинаковом количестве языков. На аудите считаем знаки по типам страниц, и именно эта цифра двигает срок сильнее всего остального.
  • Состояние имеющегося сайтаДобавить язык в чистую структуру — одна работа. Распутать сайт, где языковые версии уже противоречат друг другу двумя механизмами hreflang, — другая: сначала снимаем, что реально отдается, и только потом что-то меняем.
  • Тип языковых адресовПрефикс в пути остается в пределах одного проекта. Поддомен или отдельный домен добавляет работу с DNS, сертификатами, отдельными свойствами в Search Console и сшивкой hreflang между хостами.
  • Кто переводит и как быстроЗаливка готового перевода – прогнозируемый этап. Ожидание перевода нет: если файлы лежат у переводчика три недели, календарный срок проекта сдвигается на эти три недели, сколько бы дней ни было в плане.
  • Переезд из старых адресовЕсли страницы уже имеют трафик, к работам прилагается разбор старых адресов и 301-редакция один в один. Без этого языковая версия запускается чисто, а старая позиция гаснет вместе со ссылками на нее.
  • Языки с длинными словамиНемецкая, венгерская и финская дают строки вдвое длиннее украинских. Кнопки, табы и пункты меню проверяются в каждом языке отдельно – это отдельный проход по верстке, который на этапе оценки виден сразу.
Кейсы

Задачи и результат в цифрах — все показатели сняты нашим замером

розничный интернет-магазин нижнего белья с каталогом более 110 тыс. позиций

Задача
Держать три языковых версии на каталоге, где каждый размер и цвет заведен отдельной позицией, и сохранить страницы пригодными для индексации.
Решение
OpenCart 3 по HTTP/2 с gzip. Три языковые ветви: корневая ru, /ru/ и /pl/. Карта сайта сделана индексом из 42 подкарт. Самопосылающийся canonical на каждой языковой версии.
Результат
Измерение 01.08.2026: три ветви отдают HTTP 200, canonical на месте и самопосылочный в каждой. Каталог 115 456 позиций подтвержден двумя методами — штатный поиск и карта сайта, расхождение 2,4%. Найденные дефекты именно в языковой части: hreflang заведено дважды двумя разными механизмами, и по ссылке для uk-ua отдается русский контент; на украинской версии стоит lang="ua" вместо валидного uk, а на польском — lang="code" и dir="direction", то есть в шаблон не подставились переменные.

бренд натуральной косметики, фирменный сайт на рынок ЕС

Задача
Вывести бренд на европейский рынок на трех языках так, чтобы каждая версия имела свой контент и корректно объявлялась поиск.
Решение
Сайт на OpenCart 3 с тремя языковыми версиями bg/en/ru и hreflang. Разметка локального магазина: Store с графиком работы, контактной точкой и поисковым действием. Курьерская доставка по стране с бесплатным порогом.
Результат
Измерение 31.07.2026: три рабочих языковых версии с hreflang, шесть типов JSON-LD на главной — Store, WebSite, SearchAction, ContactPoint, EntryPoint, OpeningHoursSpecification. Первый ответ сервера 512,6 мс при 220,4 КБ HTML. Найдены дефекты: на главной нет ни одного счетчика аналитики, а карта сайта и robots.txt отдают пустое тело или HTML вместо XML – три языковые версии существуют, но поиск их никто не представляет списком.

B2B-каталог запчастей к промышленным швейным машинам

Задача
Держать две языковые версии каталога так, чтобы поиск получал полный список адресов без дублей.
Решение
Двуязычная версия с hreflang ru-ru/ru-ua и x-default. Карта сайта собрана одной полной картой на весь каталог.
Результат
Измерение 31.07.2026: hreflang ru-ru/ru-ru/x-default корректны, в карте сайта 1 992 адреса без дубликата — 1 848 карточек и 138 категорий. Первый ответ 388,1 мс, полная загрузка 419,5 мс. Найден дефект: robots.txt не содержит директивы Sitemap, хотя сама карта рабочая и полная – поиска приходится искать ее наугад.
Что нужно от вас

Без этого не начнём — лучше подготовить заранее

  1. Список языков и рынков, для которых они сделаны — английский для ЕС и английский для США — это разные тексты.
  2. Кто переводит: ваш переводчик, агентство или носитель языка на вашей стороне.
  3. Имеется сайт с доступами, если язык добавляется в готовый проект.
  4. Решение, какой язык основной и видящий посетитель, зашедший без выбора.
  5. Локальные контакты, если для рынка нужны телефон и адрес.
  6. Одного человека, принимающего перевод по каждому языку.

Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.

Частые вопросы

Что спрашивают чаще всего — с конкретными ответами

Как понять, что с языковыми версиями беда?

Посмотреть в карту сайта, а не на переключатель. В измеренном нами магазине специй все 590 уникальных адресов карты вели исключительно на одну языковую ветвь, хотя в разметке были объявлены две. В магазин садовой техники в карту попала только украиноязычная ветвь, а российская, заявленная в hreflang, — нет. Переключатель при этом работал в обоих случаях, и владельцы были уверены, что все хорошо.

Префикс в пути, поддомен или отдельный домен?

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

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

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

Что такое x-default и для чего он?

Это указание, какую версию показать посетителю, чей язык не совпадает ни с имеющимся. Без него поиск решает сам, и решение не всегда в вашу пользу. В измеренном B2B-каталоге швейных запчастей пара uk-ua/ru-ua дополнена корректным x-default – там языковые версии делались сознательно. Там, где второй язык добавляли на скорую руку, x-default обычно просто отсутствует.

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

Обязательно. Самая частая ошибка, которую мы видели: интерфейс переведен, атрибут языка страницы изменен, а title и description остались на языке оригинала. Для поиска это две страницы с одинаковыми метатегами – то есть дубликат, и одна из них выпадет из выдачи. Локализация метатегов входит в работу, а не в отдельную строку сметы.

Сколько времени занимает добавление языка на существующий сайт?

12–30 рабочих дней в зависимости от объема и состояния сайта. Разбор и схема адресов 2–4 дня, настройка языкового роутинга 3–6, подготовка файлов на перевод 2–3, заливка готового перевода 3–8, проверка hreflang, карты сайта и редиректив 2–4, тестирование 2–3. Время перевода сюда не входит: он на стороне вашего переводчика и обычно идет параллельно.

Упадет ли трафик после перехода на многоязычие?

Проседание на несколько недель возможно – это нормальная реакция на смену адресов, и мы не будем обещать, что его не будет. Что снижает риск: 301-редиректы один в один из старых адресов, сохранение title страниц, которые уже дают трафик, и полная карта сайта со всеми языковыми ветвями сразу после запуска. Ошибка, после которой трафик не возвращается, — редирект «все на главную».

Можно ли запустить один язык сейчас, а другой добавить позже?

Можно и часто так дешевле. Условие одно: схему адресов закладываем сразу под несколько языков, даже если работает пока один. Тогда второй язык прилагается как ветвь, а не как переезд всего сайта с редиректами. Если же первая версия жила в адресах без языкового префикса, появление второго языка почти всегда означает смену адресов — и именно отсюда берутся недели проседания, о которых спрашивают выше.

Кто следит, чтобы языковые версии не разошлись после запуска?

Человек с вашей стороны, и это честнее сказать сразу. Языковая версия умножает объем контента, который следует поддерживать: каждая новая страница, каждое изменение цены и каждая правка в описании должны повториться во всех языках. Мы закладываем это в интерфейс — страница без перевода видна обозначена в админке, а в инструкции описано, как заводить ее сразу на всех языках. Но если принимать перевод некому, через полгода версии разойдутся, и ни одна техническая настройка этого не удержит.

Отправьте адрес сайта и список языков, которые нужны.

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

Из измеренных кейсовИзмерение 01.08.2026: три ветви отдают HTTP 200, canonical на месте и самопосылочный в каждой

Смотреть кейсы
  • Ответ в течение 2 часов
  • Без обязательств
  • Работаем по договору

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