Прив'язка доменів до сайтів в 1С-Бітрікс: налаштування та оптимізація

Прив'язка доменів до сайтів в 1С-Бітрікс: налаштування та оптимізація Приходить запит: на одному сервері два домени, а відкривається один і той самий сайт. Знайома ситуація? Ми, як команда бітрікс-розробників з понад 10-річним досвідом, часто стикаємося з таким завданням. Ми налаштували прив'язку
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Прив'язка доменів до сайтів в 1С-Бітрікс: налаштування та оптимізація
Простий
~1 день

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

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    765
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    813
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1168

Прив'язка доменів до сайтів в 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 кроків?

  1. Створіть новий сайт в адміністративній панелі (код LID, назва, мова).
  2. Вкажіть домен у полі SERVER_NAME.
  3. Визначте DIR: якщо сайти розділяються тільки доменом, ставте / для обох.
  4. Налаштуйте веб-сервер: окремий server block для кожного домену зі спільним коренем.
  5. Випустіть 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, редиректи, міграція контенту). Замовте налаштування у нас — ми гарантуємо документовану схему та готове рішення.

Докладніше про мультисайтовість читайте в офіційній документації.