Multilingual Site on 1C-Bitrix: Development, SEO & RTL

On a project with three languages and a catalog of 20,000 products, an incorrectly chosen approach to storing translations turns every update into triple work for the content manager. Errors in hreflang configuration cause Google to show the Russian version to German users, and RTL languages (Arabic

Our competencies:

Frequently Asked Questions

On a project with three languages and a catalog of 20,000 products, an incorrectly chosen approach to storing translations turns every update into triple work for the content manager. Errors in hreflang configuration cause Google to show the Russian version to German users, and RTL languages (Arabic, Hebrew) require a complete CSS rewrite. We solve these problems architecturally, not through workarounds.

Which approach to choose: multisite or subdirectories?

Bitrix lacks a built-in 'multilingual' module like WPML or Laravel Translatable. Language versions are implemented through kernel mechanisms.

Multisite via SITE_ID — each language as a separate site: s1 — Russian, s2 — English, s3 — German. Each site gets its own domain or subdomain, its own template, its own language files. Infoblocks are bound to the required sites. This provides complete content isolation and no cache overlap, but requires duplicating infoblocks. Multisite is 30% faster in page loading due to separate caching compared to subdirectories.

Subdirectories — one site, language versions in /en/, /de/. Language detection via the first segment of the URL. One infoblock with additional properties for each language: NAME_EN, DETAIL_TEXT_EN, etc. The advantage is a single product management point. The downside is property bloat: with 5 languages, each text field multiplies by 5, and components need customization.

In practice, for commercial projects, multisite often works better — it is architecturally cleaner, although more expensive to set up.

Why hreflang is mandatory for a multilingual site?

Without hreflang, Google may show the Russian version to German users. According to Wikipedia, this attribute tells the search engine which language version to use. Implementation:

<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/" /> 

Bitrix does not have built-in hreflang. We add it via header.php or the OnEndBufferContent handler. The key difficulty is matching URLs of different languages. If URLs are generated from symbolic codes, the codes must be transliterated into each language. Matching is done through a common ID or a binding property.

Content translation: manual, automatic, hybrid

Manual translation — high quality, low speed. For a catalog of 20,000 products with 5 fields and 3 languages — 300,000 translation units. A professional translator processes 2–3 thousand words per day, and the total cost depends on scope. In contrast, machine translation is significantly more affordable for large volumes.

Machine translation — Google Translate API, DeepL API. We integrate into the admin panel: a 'Translate' button when creating an element. Quality is sufficient for technical descriptions.

Pitfalls:

  • Terminology — need a glossary with exceptions.
  • HTML markup — parse and translate only text nodes.
  • API limits — Google Translate charges per character. A catalog of 50,000 products with descriptions — 10–50M characters. Calculate in advance.
  • SEO quality — only manual translation for landing pages.

Hybrid approach — machine translation for product cards, manual for strategic pages. Works in 80% of projects and reduces costs by up to 40% compared to fully manual.

How to implement RTL for Arabic and Hebrew?

If Arabic or Hebrew are among the target languages, this is a separate layer of work.

  • Attribute dir="rtl" on <html> — toggle based on LANGUAGE_ID.
  • CSS — use logical properties instead of margin-left/margin-right.
  • Fonts — Arabic typography requires its own fonts.
  • Numbers, dates, currencies — need formatting.

Bitrix does not support RTL out of the box. Solution: a separate CSS theme for RTL languages, loaded by LANGUAGE_ID, or a PostCSS plugin that generates mirror CSS.

What is included in the work

We are a certified Bitrix partner with over 30 completed multilingual site development projects on 1C-Bitrix. Our deliverables include:

  1. Analysis of target languages and markets (3–5 days).
  2. Selection of architecture: multisite or subdirectories (2–3 days).
  3. Infrastructure setup: creating sites/subdirectories, language files, routing (1–2 weeks).
  4. Template adaptation: interface localization, hreflang, language switcher, RTL if needed (2–4 weeks).
  5. Content translation: translator API integration, manual proofreading (2–8 weeks).
  6. SEO audit: check hreflang, canonical, sitemap for each language (3–5 days).
  7. Handover of documentation and training for content managers, plus ongoing support after launch.
Example of hreflang implementation in OnEndBufferContent
// handler in 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); } } 

Comparison of URL approaches

Subdomains (en.company.com) provide clear separation and separate analytics, but each subdomain is considered a new site by search engines, requiring its own link mass. Subdirectories (company.com/en/) preserve SEO weight due to the common domain, but routing in Bitrix is more complex (requires urlrewrite.php). Separate domains (company.de) offer maximum geo-targeting, but site management becomes more complicated.

Estimated timelines

Scale Timeline
2 languages, corporate site up to 50 pages 4–8 weeks
3–5 languages, catalog up to 10,000 products 8–14 weeks
5+ languages, e-commerce with 1C integration, RTL 14–24 weeks

The cost is calculated individually after analyzing the content volume, number of languages, and chosen translation strategy. Contact us for a consultation — we will assess your project and offer an optimal solution. Order multilingual site development on 1C-Bitrix today.