Коли ми беремося за проєкт на Бітріксі, перше питання — не "який шаблон", а "як спроєктувати структуру даних так, щоб через рік не переписувати фільтри"?
Один невдалий інфоблок з 30 властивостями — і b_iblock_element_property розростається до мільйонів рядків. CIBlockElement::GetList виконується 4 секунди, а фасетний індекс не рятує, тому що властивості-прив'язки не потрапили до b_catalog_sm_*. Переробити на продакшені — переписувати шаблони, фільтри, SEO-правила. Дешевше спроєктувати один раз. Наш досвід показує: правильна архітектура економить до 40% бюджету на підтримку. Типові наслідки неправильної архітектури — зростання часу завантаження сторінок, падіння конверсії та перевитрата бюджету на доробки.
Чому вибір типу зберігання визначає продуктивність?
Це не абстрактне питання. Від нього залежить, які компоненти працюватимуть "з коробки", а які доведеться писати з нуля. Помилка на етапі проектування може коштувати місяців переписування коду.
Інфоблоки зберігають властивості в EAV-таблиці b_iblock_element_property. Для 5 000 товарів з 10 властивостями — 50 000 рядків, MySQL справляється. Для 80 000 товарів з 25 властивостями — 2 000 000 рядків, JOIN-и при фільтрації дають секунди. Зате інфоблоки дають SEO-обв'язку, візуальний редактор, компоненти каталогу.
Highload-блоки — плоска таблиця, колонка на властивість. Індекси ефективні, фільтрація 200 000 записів за 30-80 мс. Немає наслідування властивостей розділів, немає штатного SEO-модуля. Ідеально для довідників (міста, бренди).
D7 ORM (Bitrix\Main\ORM\Data\DataManager) — для сутностей, які не вписуються в інфоблоки або HL-блоки. Заявки зі зв'язками, кастомні логи, агрегації. Повний контроль, але адмінка малюється вручну.
| Критерій |
Інфоблоки |
Highload-блоки |
D7 ORM |
| Швидкість фільтрації 100К+ товарів |
1-3 с (з фасет. індексом 50-200 мс) |
30-80 мс |
Залежить від запиту |
| Штатні компоненти каталогу |
Так |
Ні |
Ні |
| SEO-модуль |
Так |
Ні |
Ні |
| Довільні зв'язки |
Обмежені |
По полю |
Повноцінні |
Як Бітрікс порівнюється з WordPress та Laravel?
WordPress — теж EAV через wp_postmeta, але без штатного e-commerce рівня. WooCommerce — плагін. Бітрікс дає модуль catalog з торговими пропозиціями, типами цін, складським обліком, обміном з 1С через CommerceML. Для компаній, які живуть у 1С:Підприємство, це вирішальний аргумент.
Laravel — фреймворк, не CMS. Свобода архітектури, але каталог, корзина, права доступу, обмін з 1С пишуться з нуля. На проєкті з бюджетом 4-6 місяців і командою з 3 осіб Laravel виправданий. Для корпоративного сайту, який потрібен через 2 місяці, Бітрікс швидше. Не краще — швидше при типових задачах.
Принципова відмінність — компонентний підхід. bitrix:catalog.section — готова зв'язка контролер + модель + кешування. Підключається в шаблон, налаштовується через $arParams, кастомізується в template.php. Бізнес-логіка — в result_modifier.php або в кастомному модулі local/modules/. Шаблон — в local/templates/. Не в ядрі, ніколи в ядрі.
Як ми забезпечуємо продуктивність до першого коміту?
Оптимізувати після запуску дорого. Ось що закладаємо в архітектуру:
Кешування — три рівні: керований кеш компонентів, загальний кеш (memcached/Redis), композитний сайт. Композит віддає HTML без ініціалізації ядра — час відповіді падає з 200 мс до 15-30 мс.
Статика — CDN для /upload/, /bitrix/js/, /bitrix/css/. WebP через CFile::ResizeImageGet(). Lazy loading. Винос статики на CDN знімає 40-60% навантаження з веб-сервера.
База даних — складені індекси на часто фільтровані властивості. EXPLAIN на кожен важкий запит. Для каталогів понад 50 000 товарів — фасетні індекси (Bitrix\Catalog\Model\SmartFilter), фільтрація з 3 секунд перетворюється на 50 мс.
PHP — OPcache з JIT на PHP 8.1+, realpath_cache_size=4096K. Перевірка через панель "Продуктивність" → "PHP".
Кейс: прискорення каталогу в 6 разів
Для клієнта з каталогом 120 000 товарів і 40 властивостями ми перевели фільтрацію з інфоблоків на Highload-блоки з фасетними індексами. Час завантаження сторінки каталогу впав з 4.2 с до 0.7 с. Додатково налаштували композитний кеш для неавторизованих користувачів — перший байт став 25 мс. Економія на підтримці склала до 30% річного бюджету.
Докладніше про композитний режим читайте в офіційній документації.
Що входить в роботу
- Аналіз вимог і проектування архітектури даних
- Розробка дизайну та адаптивна верстка
- Створення кастомних компонентів і модулів
- Інтеграція з 1С (CommerceML), платіжними системами, службами доставки
- Налаштування кешування, CDN, композитного режиму
- Тестування (функціональне, навантажувальне, безпека)
- Документація та навчання адміністраторів
- Гарантійна підтримка 12 місяців
Етапи та терміни
- Аналітика та проектування (1-2 тижні) — специфікація інфоблоків, інтеграцій, прототипи
- Дизайн (1-3 тижні) — UI/UX, дизайн-система
- Розробка (3-8 тижнів) — спринти по 2 тижні, демо на staging
- Тестування (1-2 тижні) — PageSpeed, Lighthouse, WebPageTest
- Запуск (3-5 днів) — деплой, моніторинг, стабілізація
| Масштаб проєкту |
Терміни |
| Корпоративний сайт, 10-20 сторінок |
6-10 тижнів |
| Каталог з фільтрацією, до 10 000 товарів |
8-14 тижнів |
| Інтернет-магазин з 1С |
12-20 тижнів |
| B2B-портал з кабінетом |
14-24 тижні |
Терміни коригуються після аналізу вимог. Вартість розраховується індивідуально — занадто багато змінних для шаблонних цифр.
Типові помилки в проєктах на Бітрікс
- Бізнес-логіка в
template.php. Розрахунок знижок, перевірка прав — виносимо в result_modifier.php або сервісний клас модуля.
- Прямі SQL-запити (
$DB->Query()) замість D7 ORM. Втрачається кешування, типобезпека, ін'єкції.
- Один гігантський
init.php на 2000 рядків. Переносимо в модуль з автозавантаженням.
- Кеш без тегів. Використовуємо
SetResultCacheKeys() та CIBlock::clearIblockTagCache().
- Оновлення ядра без staging. Завжди staging, потім продакшен.
Наші інженери мають сертифікацію 1С-Бітрікс та 10+ років комерційного досвіду. Ми гарантуємо якість та дотримання термінів.
Замовте сайт на Бітрікс — отримайте консультацію та оцінку проєкту за 2 дні. Зв'яжіться з нами, щоб обговорити деталі.
Як правильно проектувати інфоблоки?
Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок 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 — замовте аудит продуктивності та міграцію на Бітрікс.