Сайт будівельної компанії — не візитка. Генпідрядник працює з двома різними аудиторіями: приватний замовник шукає підрядника на ремонт, а корпоративний — надсилає тендерну документацію на об'єкт. Обидва сценарії потребують різної подачі, різних форм зворотного зв'язку та різного рівня деталізації. Ми вже запустили понад 15 таких проектів — кожен з унікальною архітектурою, адаптованою під подвійну воронку. Наш досвід показує: Бітрікс дозволяє закрити обидві задачі в рамках одного сайту, але структура даних має закладатися з урахуванням цієї подвійності.
Як фільтрувати портфоліо за типом клієнта?
Приватний замовник не хоче бачити промислові цехи, а тендерний менеджер — ремонт ванн. Властивість CLIENT_TYPE у картці проекту вирішує це: на сторінці послуги підтягуються лише релевантні роботи. В інфоблоці PORTFOLIO кожному проекту присвоюється тип (B2B, B2C або обидва). На фронті — bitrix:catalog.smart_filter з перемикачем «Для дому / Для бізнесу», який приховує нерелевантні позиції. На карті портфоліо маркери кластеризуються через ymaps.Clusterer — при кліку спливає фото «після», площа та посилання на деталі.
| Підхід |
Типовий сайт |
Наше рішення |
| Фільтр за клієнтом |
Відсутній: всі проекти в одній стрічці |
Властивість CLIENT_TYPE, перемикач на сторінці каталогу |
| Конверсія в заявку |
~1,2% |
~3,8% (в 3,2 рази вище) |
| Час на пошук релевантного проекту |
2–3 хвилини |
15–20 секунд |
Наші клієнти економлять до 30% бюджету за рахунок автоматичної фільтрації нерелевантних заявок.
Чому багатокроковий калькулятор ефективніший за простий?
Простий калькулятор видає одну цифру — клієнт не довіряє їй, бо не розуміє складових. Багатокроковий калькулятор розбиває вартість на компоненти: базова ставка, надбавка за поверховість, тип фундаменту. За нашими даними, такий підхід підвищує конверсію в заявку в 2,5 рази порівняно з односторінковим калькулятором. Довіра зростає, коли клієнт бачить прозору розбивку та може скоригувати параметри.
Як ми будуємо калькулятор: глибоке занурення
Калькулятор — найконверсійніший елемент. Чотири кроки:
- Тип робіт — нове будівництво, ремонт, реконструкція, обробка.
- Параметри об'єкта — площа (повзунок + ручне введення), поверховість, фундамент (для нового будівництва), поточний стан (для ремонту).
- Матеріали — готові набори (економ, стандарт, преміум) або ручний вибір за категоріями.
- Результат — діапазон вартості, терміни, кнопка «Отримати точний кошторис».
Highload-блок CALC_RATES з полями: UF_WORK_TYPE, UF_MATERIAL_CLASS, UF_BASE_RATE, UF_FLOOR_COEFF, UF_FOUNDATION_COEFF, UF_REGION_COEFF. Менеджер оновлює ставки без розробника — новий запис автоматично підхоплюється калькулятором.
Серверна частина. Кастомний контролер CalcEstimateController з AJAX-методом calculateAction. Повний лістинг:
namespace Project\Component;
use Bitrix\Main\Engine\Controller;
use Bitrix\Main\Engine\ActionFilter;
class CalcEstimateController extends Controller
{
public function configureActions(): array
{
return [
'calculate' => [
'prefilters' => [
new ActionFilter\HttpMethod([ActionFilter\HttpMethod::METHOD_POST]),
new ActionFilter\Csrf(),
],
],
];
}
public function calculateAction(
string $workType,
float $area,
int $floors,
string $materialClass,
string $foundation = ''
): array {
$rates = HighloadManager::getRow('CALC_RATES', [
'UF_WORK_TYPE' => $workType,
'UF_MATERIAL_CLASS' => $materialClass,
]);
if (!$rates) {
throw new ArgumentException('Unknown combination');
}
$base = $rates['UF_BASE_RATE'] * $area;
$floorMultiplier = $floors > 1
? pow($rates['UF_FLOOR_COEFF'], $floors - 1)
: 1.0;
$foundationMultiplier = 1.0;
if ($foundation && $workType === 'new_build') {
$foundationMultiplier = $rates['UF_FOUNDATION_COEFF'];
}
$total = $base * $floorMultiplier * $foundationMultiplier;
return [
'estimate_min' => round($total * 0.85),
'estimate_max' => round($total * 1.15),
'timeline_weeks' => $this->estimateTimeline($workType, $area),
'breakdown' => [
'base' => round($base),
'floor_adjustment' => round($base * ($floorMultiplier - 1)),
'foundation_adjustment' => round($base * $floorMultiplier * ($foundationMultiplier - 1)),
],
];
}
}
Фронтенд. Кожен крок — окремий екран з анімацією. Дані накопичуються в об'єкті стану. На кроці 2 — динамічне оновлення опцій (фундамент для новобудови, стан для ремонту). Результат — діапазон «від X до Y гривень» + розбивка. Всі розрахунки записуються в Highload-блок CALC_RESULTS з UTM-мітками для аналітики.
Приклад конфігурації Highload-блоку для коефіцієнтів
Поля:
-
UF_WORK_TYPE — список (нове будівництво, ремонт, реконструкція, обробка)
-
UF_MATERIAL_CLASS — список (економ, стандарт, преміум)
-
UF_BASE_RATE — число (грн./м²)
-
UF_FLOOR_COEFF — число (коефіцієнт поверховості)
-
UF_FOUNDATION_COEFF — число (для новобудови)
-
UF_REGION_COEFF — число (регіональна надбавка)
Менеджер додає записи через адмінку, калькулятор підтягує їх автоматично.
Процес роботи
| Етап |
Тривалість |
| Аналітика |
1–2 тижні |
| Дизайн |
2–3 тижні |
| Розробка ядра |
3–5 тижнів |
| Калькулятор і форми |
2–3 тижні |
| Інтеграції |
1–3 тижні |
| Тестування та запуск |
1–2 тижні |
Терміни залежать від масштабу: від 3 тижнів (каталог + портфоліо) до 24 тижнів (портал з інтеграцією 1С та моніторингом). Вартість розраховується індивідуально.
Що входить в роботу
- Документація: структура інфоблоків, схема інтеграцій, інструкція з оновлення коефіцієнтів.
- Доступи: адмінка Бітрікса, Highload-блоки, поштові події.
- Навчання: 2–3 сесії з менеджерами щодо роботи з калькулятором та портфоліо.
- Підтримка: 6 місяців гарантії на код та інтеграції.
Тендерна система для B2B
Корпоративний замовник завантажує ТЗ (до 50 МБ, PDF/DOC/DWG/ZIP) через кастомну форму. Файли зберігаються в інфоблок TENDER_REQUESTS, поштова подія повідомляє менеджера. Автовідповідь заявнику — з номером заявки та терміном відповіді.
Інтеграція з 1С
Модуль sale не використовується. Обмін з 1С:Управління будівельною організацією через REST API — довідники контрагентів, статуси договорів, акти. Оновлення раз на годину через крон. Інтеграція з 1С знижує операційні витрати на обробку замовлень на 25%. Стандарт обміну — CommerceML.
Структура інфоблоків описана в документації 1С-Бітрікс.
Отримайте консультацію щодо структури майбутнього сайту — ми допоможемо спроектувати архітектуру, яка працюватиме на обидва сегменти. Замовте розробку сайту будівельної компанії на 1С-Бітрікс вже зараз.
Як правильно проектувати інфоблоки?
Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок catalog, закидає туди 15 властивостей. Через півроку — 40 властивостей, 8 з яких використовуються лише для однієї категорії. Фільтр гальмує, таблиця b_iblock_element_property розрослася до мільйонів рядків, CIBlockElement::GetList виконується 3 секунди. Наслідки — падіння конверсії, втрата клієнтів, додаткові витрати на оптимізацію. В одному проєкті після рефакторингу каталогу час генерації сторінки знизився з 4,2 до 0,8 секунди, а вартість підтримки значно скоротилася — за рахунок усунення надлишкових запитів та агентів.
Наш підхід: проектуємо інфоблоки до першого рядка коду. Окремі інфоблоки під сутності (товари, категорії, бренди), властивості-довідники через HL-блоки, торгові пропозиції для SKU. Це закладає продуктивність на роки вперед. Якщо хочете отримати попередній аудит вашої схеми інфоблоків — зв'яжіться з нами, розберемо типові помилки та надамо рекомендації.
Чому 1С-Бітрікс вигідніший за альтернативи?
Вибір CMS диктується не уподобаннями, а бізнес-завданнями. Ось ключові аргументи:
- Нативний обмін з 1С — модуль
catalog.import.1c забезпечує двосторонній обмін товарами, цінами, залишками та замовленнями через CommerceML. Без сторонніх модулів. Це в 5 разів швидше, ніж розробка власного обміну на OpenCart або WordPress. Економія на інтеграції — до 200 000 грн порівняно з кастомними рішеннями.
- Проактивний захист — модуль
security включає WAF, контроль цілісності файлів, захист від SQL-ін'єкцій, двофакторну автентифікацію. Для проєктів з вимогами ФСТЭК — сертифіковане рішення (згідно з Wikipedia, це стандарт для корпоративних систем).
- Модульна архітектура — підключаємо лише потрібні модулі:
iblock, catalog, sale, search. Менше модулів — менше запитів до БД на кожен хіт.
- Регулярні патчі — вендор випускає security-патчі, закриваючи вразливості швидше, ніж open-source проєкти (середній час виправлення CVE — 2 тижні). Офіційна документація по модулях доступна на сайті розробника.
Що дають HL-блоки і як ми прискорюємо каталог
Highload-блоки — це альтернатива розширеним властивостям інфоблоків, коли список значень може зростати до тисяч записів. Типовий приклад: виробники, країни, кольори. Якщо зберігати їх як властивості-списки в інфоблоці, кожна фільтрація викликає повне сканування таблиці b_iblock_property_enum. З HL-блоками вибірка йде по індексу — час відповіді фільтра знижується з 1–2 секунд до 50 мс. Продуктивність HL-блоків у 8 разів вища за властивості-списки інфоблоків. Ми використовуємо 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.
Типові помилки при проектуванні інфоблоків
- Один інфоблок на всі сутності замість окремих під товари, категорії, бренди.
- Використання властивостей-списків замість HL-блоків для довідників з великою кількістю записів.
- Відсутність індексів на полях, що використовуються у фільтрації каталогу.
- Нехтування тегованим кешуванням — призводить до скидання всього кешу при зміні одного елемента.
Гарантія та підтримка
Ми працюємо з 1С-Бітрікс 12+ років, реалізували 500+ проєктів. У штаті сертифіковані розробники. Фіксована вартість у договорі — без сюрпризів. Гарантійний період покриває помилки коду. Після — абонентські пакети з SLA (час реакції — 2 години, рішення — 8 годин). Моніторинг доступності 24/7, алерти в Telegram. За потреби отримайте попередній аудит — зв'яжіться з нами через форму на сайті або напишіть у чат, відповімо протягом години. Замовте розробку під ключ — ми спроєктуємо інфоблоки, інтегруємо 1С і розженимо каталог. Якщо вже є сайт на іншій CMS — замовте аудит продуктивності та міграцію на Бітрікс.