Розробка сайту на 1С-Бітрікс: архітектура, продуктивність

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка сайту на 1С-Бітрікс: архітектура, продуктивність
Складний
від 1 тижня до 3 місяців
Часті запитання

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

Етапи розробки

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1356
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    943
  • 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
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    828
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1073

Коли ми беремося за проєкт на Бітріксі, перше питання — не "який шаблон", а "як спроєктувати структуру даних так, щоб через рік не переписувати фільтри"?

Один невдалий інфоблок з 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. Аналітика та проектування (1-2 тижні) — специфікація інфоблоків, інтеграцій, прототипи
  2. Дизайн (1-3 тижні) — UI/UX, дизайн-система
  3. Розробка (3-8 тижнів) — спринти по 2 тижні, демо на staging
  4. Тестування (1-2 тижні) — PageSpeed, Lighthouse, WebPageTest
  5. Запуск (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 з версіонуванням.

Процес роботи:

  1. Аналітика — вивчаємо конкурентів, збираємо вимоги, малюємо прототипи в Figma. На виході — ТЗ з user stories.
  2. Дизайн — UI/UX з дизайн-системою. Компоненти перевикористовуються.
  3. Розробка — пишемо компоненти з кастомними шаблонами в local/templates/. Бізнес-логіку виносимо в модулі local/modules/.
  4. Тестування — функціональне, кросбраузерне, навантажувальне (до 1000 запитів). Критичні баги виправляємо до запуску.
  5. Запуск — деплой на прод, моніторинг через 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 — замовте аудит продуктивності та міграцію на Бітрікс.