Настройка мультирегиональности сайта 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка мультирегиональности сайта 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка мультирегиональности сайта 1С-Битрикс

Мультирегиональность — это когда Москва видит одни цены и контент, Екатеринбург другие, а поисковик индексирует оба варианта раздельно. В Битриксе это достигается несколькими подходами с разными компромиссами по сложности реализации и SEO-результату.

Три архитектурных подхода

Поддомены: msk.example.com, ekb.example.com. Каждый поддомен — отдельный сайт в мультисайтовой инсталляции (b_lang). Чистое решение с точки зрения SEO — разные URL для разных регионов. Сложнее в поддержке: контент нужно синхронизировать между сайтами или использовать общие инфоблоки с фильтрацией по привязке к сайту.

Директории: example.com/msk/, example.com/ekb/. Технически проще: один сайт, разные разделы инфоблока. SEO хуже, чем поддомены, но приемлемо при правильной настройке geotargeting в Яндекс.Вебмастере.

GET-параметр или cookie: example.com/?region=msk. Плохой выбор для SEO — один URL, разный контент, поисковик не может различить.

Для серьёзных проектов — поддомены. Для небольших — директории.

Реализация через поддомены в мультисайтовости

Создаёте несколько сайтов в Битриксе (b_lang): msk с SERVER_NAME = msk.example.com, ekb с SERVER_NAME = ekb.example.com. У каждого сайта свой языковой код и свои настройки.

Инфоблоки в Битриксе привязываются к сайтам через таблицу b_iblock_site. Инфоблок может быть общим для всех сайтов или отдельным для каждого. Для каталога товаров обычно один общий инфоблок, а региональные цены управляются через прайс-листы (b_catalog_price с привязкой к группам пользователей).

Региональные цены: создаёте типы цен в каталоге (/bitrix/admin/cat_price_type.php) — «Москва», «Регионы». Пользователь при переходе на региональный сайт автоматически попадает в группу с нужным типом цены. Логика присвоения группы — в OnAfterUserAuthorize и при каждой смене региона.

Определение региона пользователя

Автоматическое определение через IP + вручную через «попап выбора города». Модуль sale содержит класс \Bitrix\Sale\Location\LocationTable и таблицу b_sale_location с иерархией городов/регионов. Но для геопозиционирования по IP Битрикс не предоставляет встроенного решения — используете сторонние сервисы (MaxMind GeoIP, Sypex Geo, DaData).

Типичная схема: при первом визите определяете регион по IP через внешний API или локальную базу GeoIP, показываете попап «Ваш город — Екатеринбург? Да / Выбрать другой», сохраняете выбор в сессию и cookie с длительным TTL.

$regionId = $_COOKIE['user_region'] ?? detectRegionByIp($_SERVER['REMOTE_ADDR']);
$_SESSION['REGION_ID'] = $regionId;
// Перенаправляем на нужный поддомен если не совпадает

SEO-настройки для мультирегионального сайта

В Яндекс.Вебмастере для каждого поддомена настраивается геопривязка: Москва → msk.example.com, Екатеринбург → ekb.example.com. Это позволяет поисковику ранжировать региональные версии по соответствующим регионам.

Тег hreflang для региональных вариантов на русском языке не нужен (он для языков, не регионов). Но canonical — нужен: если один URL доступен с обоих поддоменов, указываете canonical на основной.

В Битриксе canonical устанавливается в шаблоне через $APPLICATION->SetPageProperty('canonical', 'https://msk.example.com' . $APPLICATION->GetCurPage()).

Региональные телефоны и адреса

Контент, специфичный для региона — телефоны, адреса офисов, условия доставки. Это либо параметры сайта в b_option с суффиксом региона, либо отдельный инфоблок «Офисы» с привязкой к региону через свойство. Компонент на странице контактов фильтрует офисы по текущему сайту/региону.