На проекте с тремя языками и каталогом на 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.
Что входит в работу
- Анализ целевых языков и рынков (3–5 дней).
- Выбор архитектуры: мультисайтовость или подкаталоги (2–3 дня).
- Настройка инфраструктуры: создание сайтов/подкаталогов, языковые файлы, маршрутизация (1–2 недели).
- Адаптация шаблонов: локализация интерфейса, hreflang, переключатель языков, RTL при необходимости (2–4 недели).
- Перевод контента: интеграция API переводчика, ручная вычитка (2–8 недель).
- SEO-аудит: проверка hreflang, canonical, sitemap для каждого языка (3–5 дней).
- Передача документации и обучение контент-менеджеров.
Пример реализации 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С-Битрикс уже сегодня.
Как правильно проектировать инфоблоки?
Мы видим десятки проектов, где неправильная структура инфоблоков превращает сайт в тормоз. Типичный сценарий: заказчик просит «каталог товаров». Разработчик создаёт один инфоблок catalog, закидывает туда 15 свойств. Через полгода — 40 свойств, 8 из которых используются только для одной категории. Фильтр тормозит, таблица b_iblock_element_property разрослась до миллионов строк, CIBlockElement::GetList выполняется 3 секунды. Последствия — падение конверсии, потеря клиентов, дополнительные затраты на оптимизацию. В одном проекте после рефакторинга каталога время генерации страницы снизилось с 4,2 до 0,8 секунды, а стоимость поддержки сократилась на 250 000 рублей в год — за счёт устранения избыточных запросов и агентов.
Наш подход: проектируем инфоблоки до первой строки кода. Отдельные инфоблоки под сущности (товары, категории, бренды), свойства-справочники через highload-блоки, торговые предложения для SKU. Это закладывает производительность на годы вперёд. Если хотите получить предварительный аудит вашей схемы инфоблоков — свяжитесь с нами, разберём типовые ошибки и дадим рекомендации бесплатно.
Почему 1С-Битрикс выгоднее альтернатив?
Выбор CMS диктуется не предпочтениями, а бизнес-задачами. Вот ключевые аргументы:
- Нативный обмен с 1С — модуль
catalog.import.1c обеспечивает двусторонний обмен товарами, ценами, остатками и заказами через CommerceML. Без сторонних модулей. Это в 5 раз быстрее, чем разработка собственного обмена на OpenCart или WordPress. Подробнее о формате — в Wikipedia. Экономия на интеграции составляет в среднем 150 000–300 000 рублей по сравнению с кастомными решениями.
- Проактивная защита — модуль
security включает WAF, контроль целостности файлов, защиту от SQL-инъекций, двухфакторную аутентификацию. Для проектов с требованиями ФСТЭК — сертифицированное решение.
- Модульная архитектура — подключаем только нужные модули:
iblock, catalog, sale, search. Меньше модулей — меньше запросов к БД на каждый хит.
- Регулярные патчи — вендор выпускает security-патчи, закрывая уязвимости быстрее, чем open-source проекты (среднее время исправления CVE — 2 недели). Официальная документация по модулям — dev.1c-bitrix.ru.
Что дают HL-блоки и как мы ускоряем каталог
Highload-блоки — это альтернатива расширенным свойствам инфоблоков, когда список значений может расти до тысяч записей. Типичный пример: производители, страны, цвета. Если хранить их как свойства-списки в инфоблоке, каждая фильтрация вызывает полное сканирование таблицы b_iblock_property_enum. С HL-блоками выборка идёт по индексу — время ответа фильтра снижается с 1–2 секунд до 50 мс. Мы используем HLB компонент и кастомные запросы через Bitrix\Highloadblock\DataManager. Это особенно критично для каталогов с 100 000+ товарами.
Из нашей практики — проект интернет-магазина с 500 000 товаров. Стандартный фильтр по бренду выполнялся 4 секунды. Сервер не выдерживал нагрузку в 50 одновременных запросов — страницы падали. Мы перевели справочник брендов в HL-блок, добавили тегированное кэширование на 15 минут и настроили агент для сброса кэша при изменении. После доработки время фильтрации составило 120 мс, средний LCP страницы — 1,8 секунды. Проект работает стабильно без сбоев.
Что входит в разработку сайта на 1С-Битрикс
Каждый проект включает полный комплект документации и артефактов, исключающий потерю знаний после передачи.
-
Техническое задание — user stories, диаграммы инфоблоков, схемы интеграций.
-
Исходный код в Git — с историей коммитов, тегами релизов, правилами ветвления.
-
Административная документация — описание кастомных компонентов, инструкции по разворачиванию, перечень агентов и событий.
-
Обучение сотрудников — до 3 часов вебинара: панель управления, работа с заказами, настройка цен. Записываем, чтобы можно было пересмотреть.
-
Доступ к staging на время разработки — тестируете сами до деплоя на продуктив.
-
Гарантийная поддержка — исправление ошибок кода в течение 30 дней после запуска. Постгарантийные абонентские пакеты с SLA (реакция 2 часа, решение 8 часов).
Наш процесс и технологии
| Тип проекта |
Сроки |
Сложность |
Ключевые особенности |
| Корпоративный сайт |
от 1 месяца |
Средняя |
Каталог, новости, формы, CRM-интеграция |
| Интернет-магазин |
от 2 месяцев |
Высокая |
54-ФЗ, маркетплейсы, обмен с 1С, SKU |
| B2B-портал |
от 3 месяцев |
Очень высокая |
Персональные цены, документооборот, Bizproc |
| Лендинг |
от 2 недель |
Низкая |
LCP < 2с, композитный кеш, статика |
| Многосайтовая структура |
от 1,5 месяцев |
Высокая |
Раздельный контент, общий каталог, hreflang |
Стек: вёрстка mobile-first, тестируем на физических устройствах (iPhone, iPad, Android). Используем BrowserStack для Safari на iOS. Производительность — LCP < 2,5 с, FID < 100 мс, CLS < 0,1. Включаем композитный сайт (composite), CDN, тегированное кэширование, WebP/AVIF, lazy loading. SEO — Schema.org через JSON-LD, автогенерация sitemap.xml модулем seo, canonical и hreflang для мультиязычных версий. robots.txt закрываем /bitrix/ от индексации. CI/CD — Git, автодеплой через GitLab CI, staging. Миграции базы — модуль sprint.migration с версионированием.
Процесс работы:
-
Аналитика — изучаем конкурентов, собираем требования, рисуем прототипы в Figma. На выходе — ТЗ с user stories.
-
Дизайн — UI/UX с дизайн-системой. Компоненты переиспользуются.
-
Разработка — пишем компоненты с кастомными шаблонами в
local/templates/. Бизнес-логику выносим в модули local/modules/.
-
Тестирование — функциональное, кроссбраузерное, нагрузочное (до 1000 запросов). Критичные баги исправляем до запуска.
-
Запуск — деплой на прод, мониторинг через UptimeRobot, алерты в Telegram. Устраняем первые 48 часов.
Интеграции, мультиязычность и редизайн
| Направление |
Сервисы |
| CRM и аналитика |
Битрикс24 (нативная), amoCRM, Roistat, Calltouch, Mindbox |
| Платежи |
ЮKassa, CloudPayments, Тинькофф, Apple Pay, Google Pay |
| Фискализация 54-ФЗ |
АТОЛ, OrangeData — настройка через sale.cashbox |
| Логистика |
СДЭК, Boxberry, ПЭК, Почта России, Яндекс.Доставка |
| Коммуникации |
JivoSite, Carrot Quest, SendPulse |
-
Полная локализация через языковые файлы lang/ и механизм SITE_ID. hreflang для каждой версии. Региональные версии с разными ценами и контентом — определение по IP (main.geo) или ручной выбор. Мультидоменность — единое управление несколькими доменами.
-
Редизайн без потери позиций: аудит производительности (PageSpeed, WebPageTest), SEO (Screaming Frog). Новый шаблон в local/templates/ с сохранением URL-структуры. 301-редиректы только если URL меняется существенно. Обновление ядра, переход на D7 ORM, реструктуризация инфоблоков, миграция через sprint.migration с Git.
Гарантия и поддержка
Мы работаем с 1С-Битрикс 12+ лет, реализовали 500+ проектов. В штате сертифицированные разработчики. Фиксированная стоимость в договоре — без сюрпризов. Гарантийный период покрывает ошибки кода. После — абонентские пакеты с SLA (время реакции — 2 часа, решение — 8 часов). Мониторинг доступности 24/7, алерты в Telegram. Получите консультацию и предварительный расчёт: свяжитесь с нами через форму на сайте или напишите в чат — ответим в течение часа. Закажите разработку под ключ — мы спроектируем инфоблоки, интегрируем 1С и разгоним каталог. Если уже есть сайт на другой CMS — закажите аудит производительности и миграцию на Битрикс.