• Интернет-магазины · OpenCart 4.x

Многоязычный магазин: чтобы второй язык существовал не только в переключателе

Многоязычный интернет-магазин – это отдельные адреса на каждый язык, взаимные тэги hreflang и присутствие всех версий в карте сайта, а не переключатель флажков в шапке. Развертываем вторую и третью языковую версию каталога на OpenCart так, чтобы поиск читал их как варианты одной страницы, а не как конкурентов. 31 июля 2026 года мы сняли показатели с магазинов, где это сделано чисто и сломано: в одном из них все 590 адресов карты сайта вели только на одну языковую версию из двух объявленных.
Посмотреть, как это работает
Стоимость
после бесплатного аудита
Гарантия
30 дней после подписания акта
Срок
10–25 рабочих дней от согласования перечня языков
после бесплатного аудита
Стоимость
30
Гарантия

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

10–25
Срок

рабочих дней от согласования перечня языков

называем после бесплатной проверки языковых версий — она длится 2–3 рабочих дня.
Стоимость
объем контента под перевод, а не количество языков
Задающая смета
6 234
Измеренный ориентир

адреса на каждый из двух языков в каталоге на 5 830 товаров

все 590 адресов карты сайта вели на одну языковую версию из двух объявленных
Частый дефект
предоплата 50%, гарантийный срок 30 календарных дней после приемки
Условия
Этапы работы

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

Общий срок:10–25 дней

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

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

    Смотрим, что отдает сайт сейчас: карта сайта, hreflang, canonical, коды языков в адресах. Здесь же фиксируем, какой язык основной и что получает x-default – это решение потом не переигрывается без редиректов.

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

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

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

  3. Развертывание языковых версий в движке

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

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

  4. Заливка переводов каталога

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

    Категории и топовые позиции первыми, остальные каталоги дальше — структура это позволяет. Тексты дает заказчик или отдельный переводчик; мы отвечаем за то, чтобы каждая строка стала на свое место и ничего не перезаписала основной язык.

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

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

    Взаимные пары hreflang с x-default, canonical в пределах своего языка, все версии в карте сайта, JSON-LD отдельно в каждой. Пары проверяем поштучно, а не выборочно: одна безответная пара обесценивает всю группу.

  6. Проверка после запуска и передача

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

    Обход карты сайта, сверка кодов языков с реальными адресами, замер первого ответа вместе с редиректом на языковую ветвь, представление карт в Search Console, письменная инструкция контент-менеджеру.

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

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

Стек

  • OpenCart 4.x — язык в ядре: отдельные поля товара на каждую версию, без посторонних модулей
  • OpenCart 3.x – когда нужен модуль без сборки под 4.x
  • hreflang с x-default – взаимный обязательно, односторонние пары игнорируются
  • Отдельная карта сайта на язык — рабочий подход от нескольких тысяч адресов
  • nginx, HTTP/2 — редирект на языковую ветвь держим на уровне сервера, не в PHP
  • MySQL — перевод лежит на языке: новая версия добавляет объем, а не структуру
  • Предел стека: движок сохраняет ваши тексты, но не переводит их
  • Граница стека: каждая языковая версия – это контент, который кто-то поддерживает при каждом новом товаре.

Интеграции

  • Google Search Console
  • Google Tag Manager
  • GA4 с разделением по языку
  • Google Ads
  • Новая Почта
  • Укрпочта
  • LiqPay
  • WayForPay
  • monobank
  • eSputnik с языковыми шаблонами писем
Что входит

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

  • Отдельные адреса на каждый язык вместо переключения контента на лету – каждую версию можно дать в рекламу и в мессенджер
  • Взаимный hreflang между всеми версиями плюс x-default, с поштучной сверкой каждой пары – версии перестают читаться как дубли
  • Все языковые версии в карте сайта: одним файлом на малом каталоге или отдельной картой на каждый язык на большом
  • Canonical в пределах своей языковой версии, без перекрестных ссылок между языками – вторая версия больше не исключает сама себя из индекса
  • Перевод интерфейса, шаблонов писем и статусов заказа — покупатель получает письмо на том языке, на котором покупал
  • Языковые версии служебных страниц: оплата, доставка, возврат, контакты – без них ждут на втором языке обрывается на первом вопросе
  • Редирект на языковую ветвь, настроен так, чтобы не съедать первый ответ сервера
  • Микроразметка с учетом языка: Store, Product, BreadcrumbList отдельно в каждой версии
  • Проверка после запуска: обход карты сайта, сверка пар hreflang, представление карт и контроль ошибок в Search Console
  • Письменная инструкция вашему контент-менеджеру, как заводить переводы новых товаров, чтобы версии не расходились
  • Условия: предоплата 50%, гарантийный срок 30 календарных дней после приемки
Когда эта услуга не подходит

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

  • Перевод текстов карт товара как услуга — мы готовим структуру, тексты предоставляет заказчик или отдельный переводчик
  • Локализация цен и валют как финансовая задача
  • Юридическая адаптация условий продаж под другие юрисдикции
  • Реклама после запуска
  • Хостинг, домен, эквайринг
Кому подходит

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

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

Второй язык уже есть, а трафика с него нет

Страницы открываются, переключатель работает в отчетах пусто. Ответ обычно расположен в карте сайта. В магазине бренда специй мы насчитали 3 971 запись на 590 уникальных адресов, и все 590 вели только на /ru/-ветку, хотя в коде основной объявлен украинский. В официальном магазине садового инструмента зеркально: в карту попала только ветвь /ua/, а российская версия, заявленная в hreflang, нет. Оба случая – находки измерения, а не наш результат.

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

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

Срок запуска10–25 рабочих дней: движок и каталог уже есть.
Остатки и ценыодна база: товар заводится раз и живет во всех версиях
Риск дублей в выдачеесть, и снимается взаимным hreflang с x-default
Местная оплата и доставкаобщий набор способов в одном чекате
Поддержка после запускаодин магазин, один менеджер, контент умножен на количество языков

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

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

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

  • Языковые версии в карте сайтаПрисутствуют ли все объявлены. Измерен контрпример: в магазине бренда специй все 590 уникальных адресов карты вели только на одну языковую версию из двух. Второй: в магазин садовой техники из 8 690 уникальных адресов в карту попала только украиноязычная ветвь.
  • Корректность hreflangИли взаимные ссылки между версиями, есть ли x-default, совпадают ли коды языков с реальными адресами. Измеренный примерный пример: ru-ua, ru-ua и x-default настроены взаимно, без ошибок.
  • Отдельные карты сайта на языкРабочий подход на больших каталогах. Измерен пример: два файла по 6234 адреса, по одному на языковую версию каталога на 5830 товаров.
  • Дублирование адресовСколько адресов создает второй язык и не читаются ли они как копии. В измеренном магазине садовой техники карта отдавала 33 493 записи на 8 690 уникальных адресов – почти четыре дубля в адрес.
  • Объем контента под переводСколько карточек, категорий и информационных страниц. Это главная цифра сметы – именно она задает объем, а не количество языков.
  • Редирект на языковую ветвьНе съедает автоматический редирект скорость. Измеренный пример: первый ответ 789,4 мс, и в эти миллисекунды входит 301-редирект на языковую ветвь.

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

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

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

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

Ибо проверка языковых версий — это несколько запросов и разбор карты сайта, а результат часто меняет постановку задачи: вместо «добавить язык» оказывается «вернуть в индекс уже имеющийся язык». Такой вывод дешевле дать бесплатно, чем продать не ту работу.

Что дальше

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Объем контента под переводТехническая часть от размера каталога не зависит: hreflang, карты сайта, шаблоны, служебные страницы – фиксированная работа. Сменная одна – карточки товара, и считается она поштучно. Магазин на 23 позиции и магазин на 5 830 — это тот же объем инженерии и разные сметы.
  • Количество языков и наличие основногоВторой язык дороже третьего: на нем строится схема адресов, решается, какая версия основная, и закладывается x-default. Третья ложится в готовый каркас – в магазине болгарской косметики bg, en и ru стоят на одной структуре.
  • Что отдает сайт сейчасМагазин, где второй язык уже есть и просто выпал с карты сайта, ремонтируется быстрее того, где контент переключается на лету без отдельных адресов. Во втором случае сначала нужно развести URL и закрыть старые адреса редиректами – это отдельный этап.
  • Чекаут, статусы и письмаКаталог перевести не достаточно. Названия способов оплаты и доставки, статусы заказа, тексты ошибок форм, шаблоны писем – это десятки коротких строк в разных местах движка, и именно они чаще всего остаются на одном языке.
  • Размер карты сайтаДо нескольких тысяч адресов достаточно одного файла. Далее – отдельная карта на язык, а на десятках тысяч еще и индекс по подкартам. Это другой объем настройки и другой объем проверки после запуска.
Кейсы

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

розничный интернет-магазин отопительного оборудования

Задача
Вывести в онлайн полный ассортимент оборудования на двух языках: навигация и фильтры под сравнение характеристик и ждут, одинаково обслуживающий розничного покупателя и компанию по НДС.
Решение
OpenCart 3, две языковые версии uk и ru с взаимным hreflang и x-default. В чекате monobank, наложенный платеж, наличные при получении и безналичный счет; четыре службы доставки – названия и статусы существуют в каждой версии.
Результат
Каталог 3 565 товаров — считали штатным поиском OpenCart: 35 страниц по 100 позиций плюс 65 на последний. TTFB 524,8 мс, полная загрузка 662,7 мс при весе HTML 295,7 КБ. Речевые версии с hreflang и x-default корректны. Измерение 31.07.2026; тогда же нашли дефект не в языках – /sitemap.xml отдает 200 с пустым телом.

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

Задача
Сделать магазин понятным одновременно покупателю из страны бренда, других стран ЕС и русскоязычной аудитории, с четкими условиями доставки.
Решение
OpenCart 3 с тремя языковыми версиями и hreflang. Разметка Store с графиком работы, контактами и поиском по сайту – шесть типов JSON-LD на главной. Курьерская доставка в офис или адрес с бесплатным порогом.
Результат
Три языковые версии — bg, en и ru — на ассортименте 23 товаров: поиск OpenCart с пустым запросом не дает пагинации, то есть это весь каталог. TTFB 512,6 мс, полная загрузка 640 мс при весе HTML 220,4 КБ. Измерение 31.07.2026. Найден дефект: карта сайта и robots.txt отдают пустое тело – версии есть, списка адресов для бота нет.

оптовый поставщик товаров из Китая с B2B-каталогом почти на 6 тыс. позиций

Задача
Дать бизнес-клиентам заказывать ассортимент напрямую: большой каталог по оптовым ценам и короткий путь от поиска позиции до заявки, в двух языковых версиях.
Решение
OpenCart 3, две языковые версии с отдельной картой сайта на каждую. Блок вопросов и ответов с микроразметкой, хлебные крошки с разметкой, поиск по сайту в структурированных данных.
Результат
Каталог 5 830 товаров – подтверждено двумя независимыми методами: штатным поиском (58 страниц по 100 позиций плюс 30) и картой сайта. Карты: 6234 адреса на украиноязычную версию и 6234 на русскоязычную, вместе 12468. TTFB 506,9 мс, полная загрузка 552,7 мс при весе HTML 333,1 КБ. Измерение 31.07.2026.
Что нужно от вас

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

  1. Перечень языков и решение, какое из них основное.
  2. Готовые переводы карт или согласие на работу с отдельным переводчиком.
  3. Перевод служебных страниц: оплата, доставка, возврат – юридически это ваша зона.
  4. Доступ к Search Console, если права подтверждены.
  5. Доступ к сайту и хостингу.
  6. Одного человека, отвечающего за терминологию в переводе.

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

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

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

У меня есть второй язык, но трафика с него нет – почему?

Чаще потому, что для поиска ее не существует. Два измеренных примера. Первый: в магазине бренда специй карта сайта содержит 3971 запись на 590 уникальных адресов, и все 590 ведут только на одну языковую версию — вторая не объявлена ​​нигде, кроме переключателя. Второй: в магазин садовой техники в карту попала только ветвь /ua/, а российская версия, заявленная в hreflang, — нет. В обоих случаях страницы открываются, но их некому индексировать.

Hreflang действительно нужен, достаточно ли переключателя?

Переключатель – для человека, hreflang – для поисковой системы. Без него две версии одной страницы читаются как конкуренты, и в выдачу попадает случайная. Рабочая конфигурация — взаимные ссылки между всеми версиями плюс x-default для тех, чей язык не совпал ни с одной. Измеренный примерный пример из нашей выборки: ru-ua, ru-ua и x-default, настроенные взаимно, без ошибки.

Какую версию делать основной и зачем x-default?

Основной делаем ту, на которой написан ваш контент и как говорит большинство покупателей, — остальные наследуют от нее структуру. x-default — версия по умолчанию для посетителя, чья речь не совпала ни с одной из объявленных: без нее Google выбирает сам. Решения фиксируем на первом этапе, к заливке переводов: изменить основной язык потом можно только через редиректы всех адресов.

Одна карта сайта или отдельные на каждый язык?

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

Не создаст ли второй язык дубли?

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

Сколько стоит добавить язык в большой каталог?

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

Автоматический перевод подойдет?

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

Как проверить, что все стало на место после запуска?

Четыре цифры, которые мы снимаем сами и показываем вам. Сколько адресов каждой версии языка в карте сайта. Сколько пар hreflang взаимны без ошибок. Сколько адресов еще не в карте. И первый ответ сервера вместе с редиректом на языковую ветвь – в измеренном нами магазине садовой техники это 789,4 мс, и редирект сидит внутри этой цифры. Реальная индексация далее видна в вашей Search Console: доступ к ней подтверждает владелец домена, не подрядчик.

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

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

Из измеренных кейсовКаталог 3 565 товаров

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

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