Мультиязычный сайт на 1С-Битрикс: разработка, SEO и RTL

На проекте с тремя языками и каталогом на 20 000 товаров неправильно выбранный подход к хранению переводов превращает каждое обновление в тройную работу для контент-менеджера. Ошибки в настройке hreflang приводят к тому, что Google показывает русскую версию немецким пользователям, а RTL-языки (арабс
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Мультиязычный сайт на 1С-Битрикс: разработка, SEO и RTL
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    995
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    733
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    862
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    772
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

На проекте с тремя языками и каталогом на 20 000 товаров неправильно выбранный подход к хранению переводов превращает каждое обновление в тройную работу для контент-менеджера. Ошибки в настройке hreflang приводят к тому, что Google показывает русскую версию немецким пользователям, а RTL-языки (арабский, иврит) требуют полной переработки CSS. Мы решаем эти проблемы архитектурно, а не через костыли.

Какой подход выбрать: мультисайтовость или подкаталоги?

В Битриксе нет штатного модуля «мультиязычность» как WPML или Laravel Translatable. Языковые версии реализуются через механизмы ядра.

Мультисайтовость через SITE_ID — каждый язык как отдельный сайт: s1 — русский, s2 — английский, s3 — немецкий. Каждый сайт получает свой домен или поддомен, свой шаблон, свои языковые файлы. Инфоблоки привязываются к нужным сайтам. Это даёт полную изоляцию контента и отсутствие пересечения кеша, но требует дублирования инфоблоков. Мультисайтовость на 30% быстрее в загрузке страниц за счёт раздельного кеширования по сравнению с подкаталогами.

Подкаталоги — один сайт, языковые версии в /en/, /de/. Определение языка через первый сегмент URL. Один инфоблок с дополнительными свойствами для каждого языка: NAME_EN, DETAIL_TEXT_EN и т.д. Плюс — единая точка управления товаром. Минус — раздутие свойств: при 5 языках каждое текстовое поле умножается на 5, а компоненты нужно доработать.

На практике для коммерческих проектов чаще работает мультисайтовость — она чище архитектурно, хотя и дороже в настройке. Экономия на переводе может достигать 250 000 ₽ при автоматизации перевода каталога в 10 000 товаров.

Почему hreflang обязателен для мультиязычного сайта?

Без hreflang Google может показывать немецким пользователям русскую версию. Согласно Wikipedia, этот атрибут указывает поисковику нужную языковую версию. Реализация:

<link rel="alternate" hreflang="ru" href="https://company.com/catalog/product/" /> <link rel="alternate" hreflang="en" href="https://company.com/en/catalog/product/" /> <link rel="alternate" hreflang="de" href="https://company.com/de/catalog/product/" /> <link rel="alternate" hreflang="x-default" href="https://company.com/catalog/product/" /> 

В Битриксе нет штатного hreflang. Добавляем через header.php или обработчик OnEndBufferContent. Ключевая сложность — сопоставление URL разных языков. Если URL генерируются из символьного кода, коды должны быть транслитерированы на каждый язык. Сопоставление — через общий ID или свойство-привязку.

Перевод контента: ручной, автоматический, гибридный

Ручной перевод — качество высокое, скорость низкая. Для каталога на 20 000 товаров с 5 полями и 3 языками — 300 000 единиц перевода. Профессиональный переводчик обработает 2-3 тыс. слов в день, что может стоить более 200 000 ₽ за проект.

Машинный перевод — Google Translate API, DeepL API. Интегрируем в админку: кнопка «Перевести» при создании элемента. Качество достаточное для технических описаний.

Подводные камни:

  • Терминология — нужен глоссарий с исключениями.
  • HTML-разметка — парсим и переводим только текстовые ноды.
  • Лимиты API — Google Translate: $20 за 1M символов. Каталог на 50 000 товаров с описаниями — 10–50M символов. Считаем заранее.
  • SEO-качество — для посадочных страниц только ручной перевод.

Гибридный подход — машинный перевод для карточек товаров, ручной для стратегических страниц. Работает в 80% проектов.

Как реализовать RTL для арабского и иврита?

Если среди целевых языков есть арабский или иврит — это отдельный пласт работы.

  • Атрибут dir="rtl" на <html> — переключается по LANGUAGE_ID.
  • CSS — logical properties вместо margin-left/margin-right.
  • Шрифты — арабская типографика требует своих шрифтов.
  • Числа, даты, валюты — нужно форматирование.

В Битриксе RTL не поддерживается «из коробки». Решение: отдельная CSS-тема для RTL-языков, загружаемая по LANGUAGE_ID, или PostCSS-плагин, генерирующий зеркальный CSS.

Что входит в работу

  1. Анализ целевых языков и рынков (3–5 дней).
  2. Выбор архитектуры: мультисайтовость или подкаталоги (2–3 дня).
  3. Настройка инфраструктуры: создание сайтов/подкаталогов, языковые файлы, маршрутизация (1–2 недели).
  4. Адаптация шаблонов: локализация интерфейса, hreflang, переключатель языков, RTL при необходимости (2–4 недели).
  5. Перевод контента: интеграция API переводчика, ручная вычитка (2–8 недель).
  6. SEO-аудит: проверка hreflang, canonical, sitemap для каждого языка (3–5 дней).
  7. Передача документации и обучение контент-менеджеров.
Пример реализации hreflang в OnEndBufferContent
// обработчик в init.php AddEventHandler("main", "OnEndBufferContent", "addHreflang"); function addHreflang(&$content) { if (defined('SITE_ID') && SITE_ID == 's1') { $tags = '<link rel="alternate" hreflang="en" href="https://en.company.com'.$_SERVER['REQUEST_URI'].'" />'; $content = str_replace('</head>', $tags.'</head>', $content); } } 

Сравнение подходов к URL

Поддомены (en.company.com) дают чёткое разделение и отдельные счётчики, но каждый поддомен считается новым сайтом для поисковика, требуя отдельной ссылочной массы. Подкаталоги (company.com/en/) сохраняют SEO-вес за счёт общего домена, но маршрутизация в Битриксе сложнее (требуется urlrewrite.php). Отдельные домены (company.de) обеспечивают максимальное гео-таргетирование, но управление сайтами усложняется.

Сроки ориентировочно

Масштаб Сроки
2 языка, корпоративный сайт до 50 страниц 4–8 недель
3–5 языков, каталог до 10 000 товаров 8–14 недель
5+ языков, e-commerce с интеграцией 1С, RTL 14–24 недели

Стоимость рассчитывается индивидуально после анализа объёма контента, количества языков и выбранной стратегии перевода. Свяжитесь с нами для консультации — мы оценим ваш проект и предложим оптимальное решение. Закажите разработку мультиязычного сайта на 1С-Битрикс уже сегодня.