Прив'язка доменів до сайтів в 1С-Бітрікс: налаштування та оптимізація
Приходить запит: на одному сервері два домени, а відкривається один і той самий сайт. Знайома ситуація? Ми, як команда бітрікс-розробників з понад 10-річним досвідом, часто стикаємося з таким завданням. Ми налаштували прив'язку доменів для 50+ проектів — від простих інтернет-магазинів до складних мультиязичних порталів. Розбираємо, чому так відбувається і як налаштувати коректно, щоб кожен домен вів на свій сайт, і при цьому заощадити бюджет на обслуговування.
Як Бітрікс визначає поточний сайт і чому виникають проблеми?
При кожному запиті ядро Бітрікс читає таблицю b_lang і шукає запис, у якого поле SERVER_NAME збігається з HTTP-заголовком Host вхідного запиту. Знайдений LID (дволітерний код сайту) використовується далі для всіх операцій: вибору шаблону, інфоблоків, мови тощо.
SELECT LID, DIR, NAME, SERVER_NAME FROM b_lang WHERE ACTIVE = 'Y'; Якщо SERVER_NAME не збігається з жодним записом — Бітрікс використовує перший сайт за замовчуванням або повертає помилку залежно від конфігурації. Це і є причина, коли «всі домени показують один сайт». Ми бачимо цю проблему в кожному третьому проекті, де не було виконано налаштування доменів.
Як додати домен до сайту через адміністративну панель?
У /bitrix/admin/site_edit.php?LID=<код_сайту> заповнюється поле «Доменне ім'я сервера» (SERVER_NAME). Тут вписується домен без http:// і без слеша: example.com.
Якщо сайт має працювати і на www.example.com, і на example.com — оберіть один з них як основний, другий налаштуйте як редирект на рівні веб-сервера (nginx/Apache), не через Бітрікс. Не намагайтеся вказати обидва в SERVER_NAME — поле не підтримує кілька значень.
Поле DIR — це шлях до директорії сайту відносно кореня. Для основного сайту — /. Для другого сайту на тому ж сервері — /second/ або той самий /, якщо сайти розділяються тільки за доменом. У 80% випадків проблема вирішується саме правильним заповненням DIR.
Конфігурація веб-сервера: що потрібно знати?
Бітрікс відповідає за маршрутизацію всередині свого ядра, але веб-сервер повинен приймати запити до потрібних доменів і передавати їх у корінь Бітрікса.
Nginx: для кожного домену окремий server {} блок або загальний блок з server_name example.com example2.com. Документ-рут один і той же — корінь Бітрікс-інсталяції.
server { listen 80; server_name example.com www.example.com; root /var/www/bitrix; # ... стандартна конфігурація Бітрікс } HTTPS: для кожного домену потрібен окремий SSL-сертифікат або wildcard/multi-domain сертифікат. Let's Encrypt видає сертифікати на кілька доменів через certbot --domains example.com,example2.com. Без HTTPS налаштування прив'язки доменів втрачає сенс — пошуковики штрафують сайти.
Як налаштувати мультисайтовість за 5 кроків?
- Створіть новий сайт в адміністративній панелі (код LID, назва, мова).
- Вкажіть домен у полі SERVER_NAME.
- Визначте DIR: якщо сайти розділяються тільки доменом, ставте
/для обох. - Налаштуйте веб-сервер: окремий server block для кожного домену зі спільним коренем.
- Випустіть SSL-сертифікати для кожного домену та протестуйте редиректи.
Цей процес займає від 1 до 3 днів у досвідченого інженера. У нас він відпрацьований до автоматизму — за рахунок готових шаблонів конфігурацій.
Чому мультисайтовість на Бітрікс вигідніша за окремі CMS?
Порівняйте: одне ядро, єдиний пул оновлень, спільні користувачі та модулі — проти кількох ізольованих установок. Ось таблиця:
| Параметр | Одна CMS на три домени | Три окремі установки |
|---|---|---|
| Оновлення | Один набір | Три набори |
| Витрата пам'яті | Нижча (ядро одне) | Вища (три ядра) |
| Складність налаштування | Вища (мультисайт) | Нижча (кожен сам) |
| Швидкість розробки | Вища (спільні модулі) | Нижча (дублювання коду) |
Ми на практиці бачимо, що мультисайтовість у 2–3 рази скорочує час на оновлення та обслуговування. А витрати на ліцензії знижуються на 40% порівняно з покупкою редакції «Бізнес» для кожного сайту окремо.
Маскування домену: коли воно потрібне?
Ситуація: є основний домен main-shop.ru і партнерський домен partner-shop.ru, який має показувати той самий сайт, але з іншим брендингом. У Бітріксі це реалізується через перевірку $_SERVER['HTTP_HOST'] в init.php або в шаблоні сайту з умовним підключенням іншого шаблону — це не стандартна мультисайтовість, а кастомне рішення.
| Підхід | Контент | Шаблони | SEO |
|---|---|---|---|
| Мультисайтовість | Різний | Різні | Чистий |
| Маскування | Один і той же | Може відрізнятися | Ризик дублів |
Стандартна мультисайтовість передбачає різні шаблони, різні мови та різний контент для кожного сайту. Якщо потрібен один контент на різних доменах — використовуйте canonical URL у <head> для вказівки основного домену та уникнення дублювання в SEO.
Як виконати переїзд на новий домен?
При зміні домену оновлюєте SERVER_NAME в b_lang, потім перевіряєте:
- Налаштування
$_SERVER['HTTP_HOST']в/bitrix/.settings.php(якщо прописаний явно) - URL сайту в налаштуваннях модулів:
COption::GetOptionString("main", "server_name")— у деяких версіях зберігається там - Посилання в контенті інфоблоків — абсолютні посилання виду
http://old-domain.ru/...доведеться замінювати через SQL-запити доb_iblock_element_prop_s*іb_iblock_element - Email-шаблони в модулі
main— часто містять захардкоджені URL
Після переїзду обов'язково налаштуйте 301 редирект зі старого домену на новий. Втрати трафіку можуть сягати 30% без редиректів.
Чек-лист типових помилок
- Не заповнено поле DIR — другий сайт працює нестабільно.
- Забули про SSL — браузери лаються, SEO страждає.
- Не налаштовані редиректи — втрата трафіку та дублі.
- Абсолютні посилання в контенті — після переїзду картинки не завантажуються.
Перевірте все за чек-листом перед запуском.
Що входить у нашу роботу з налаштування прив'язки доменів
Ми виконуємо налаштування під ключ, включаючи:
- Аудит поточних доменів і таблиці
b_lang - Конфігурацію веб-сервера (nginx/Apache) з SSL-сертифікатами
- Налаштування мультисайтовості або маскування
- Перевірку canonical URL та усунення дублів
- Тестування всіх доменів (редиректи, HTTPS, швидкість)
- Документацію та передачу доступів
Оцінюємо проект після аналізу — зв'яжіться з нами, щоб отримати консультацію. Зазвичай базове налаштування одного сайту займає від одного дня до трьох, залежно від складності (SSL, редиректи, міграція контенту). Замовте налаштування у нас — ми гарантуємо документовану схему та готове рішення.
Докладніше про мультисайтовість читайте в офіційній документації.







