Блог / 03, 07, 2026

Чому кастомна розробка перемагає готові CMS: досвід K2BAR та Tallers

Чому кастомна розробка перемагає готові CMS: досвід K2BAR та Tallers

"Давайте просто візьмемо готову CMS" — розумна ідея на старті і часто помилка на дистанції. Два наші проєкти, K2BAR і Tallers, почали з готових платформ (OpenCart і WordPress/WooCommerce відповідно) і в обох випадках прийшли до одного висновку: готове рішення впирається в стелю значно швидше, ніж здається на старті.


Кейс K2BAR: коли OpenCart "із коробки" ламається на банальних речах

K2BAR — інтернет-магазин з продажу та оренди ресторанного обладнання, посуду, меблів і текстилю. Попередня версія сайту працювала на OpenCart із темою, купленою на маркетплейсі.


Що не працювало:

  • Маршрутизація і ЧПУ — глобальна больова точка OpenCart "із коробки": URL-адреси генерувались непередбачувано, без нормального контролю над структурою
  • Друга мова тільки погіршила ситуацію — замість того щоб додати мовну версію "по-людськи", проблеми з маршрутами подвоїлись: кожна мова генерувала свій набір непередбачуваних URL
  • Оформлення замовлення — типова слабкість OpenCart "з коробки": довгий, заплутаний checkout-флоу, який відсіював частину клієнтів ще до оплати
  • Конфліктуючі сторонні плагіни — щоб хоч якось довести магазин до нормальної роботи, поставили набір сторонніх плагінів, які постійно конфліктували один з одним
  • Додавання товару — окремий біль — картка товару в OpenCart "із коробки" мала купу зайвих полів, які система вимагала заповнювати навіть якщо вони не мали жодного стосунку до конкретного товару


Рішення: розробка з нуля на Laravel

Замість чергової латки — повна переробка на кастомному фреймворку:

  • Динамічний каталог з нормальною фільтрацією товарів, побудований під конкретну структуру асортименту (обладнання, посуд, меблі, текстиль — кожна категорія зі своєю логікою)
  • Кошик без обов'язкової реєстрації, що зберігає вибрані товари при повторному вході
  • Покроковий чіткий checkout замість заплутаного OpenCart-флоу
  • Модуль порівняння товарів і модуль обраного — функціонал, який довелось би збирати з кількох конфліктуючих плагінів, тут написаний як частина єдиної системи
  • Особистий кабінет клієнта з історією замовлень
  • Картка товару в адмінці — тільки ті поля, які реально потрібні для конкретного асортименту, без обов'язкового "сміття" з коробки

Результат — сайт, де маршрутизація, мультимова і checkout більше не "болять", бо вони спроєктовані з нуля під конкретний бізнес, а не підлаштовані під чужу архітектуру.


Кейс Tallers: коли 15+ плагінів WordPress важать більше, ніж сам сайт

Tallers — протилежний за нішею (luxury fashion), але дуже схожий за суттю проєкт. Клієнт прийшов з запитом "перенести дизайн", а аудит показав: WooCommerce з масою плагінів довів сайт до Performance Score 56 і LCP 5.6 секунди.

Так само, як і в K2BAR, проблема була не в самій платформі, а в тому, що вона не витримувала реальних бізнес-вимог: мультивалютна оплата, міжнародна доставка, кастомна структура товару з кольорами і розмірами. Кожна така вимога в WooCommerce означала ще один плагін — і ще один потенційний конфлікт.

Повний кейс Tallers у блозі


Спільний патерн у обох кейсах

І K2BAR, і Tallers пройшли однаковий шлях:

  1. Бізнес стартує на готовій CMS, бо це швидко і дешево
  2. Реальні вимоги (мультимова, checkout-логіка, кастомні товарні структури, оплата/доставка) виявляються складнішими за те, на що система розрахована "з коробки"
  3. Замість вирішення проблеми система латається сторонніми плагінами — які самі стають джерелом нових проблем
  4. У якийсь момент латання коштує дорожче й повільніше, ніж переписати з нуля


Коли готові CMS все ж таки виправдані

Чесно: OpenCart, WooCommerce чи будь-яка інша готова CMS — це не погане рішення саме по собі. Вона працює добре, коли:

  • Бізнес-логіка стандартна, без специфічних вимог до каталогу чи checkout
  • Немає планів на мультимову чи мультивалюту найближчим часом
  • Магазин невеликий, і плагінові конфлікти малоймовірні через невелику кількість встановлених розширень
  • Пріоритет — швидкий запуск, а не довгострокова масштабованість

Але як тільки з'являється хоч одна нестандартна вимога — друга мова, складна товарна структура, кастомний checkout — готова CMS починає працювати проти тебе, а не на тебе.


Дивись кейси:

Потрібна кастомна розробка для вашого магазину? Розробка e-commerce