Створення сайту на Cockpit CMS: headless-бекенд для Next.js і Nuxt

Контент редагується тижнями, а база контенту та інтерфейс тягнуть одне одного назад. Ми розробляємо сайти на Cockpit CMS як headless-бекенд для Next.js і Nuxt: моделі контенту, права, кеш і збірка — під ключ. Правки виходять у рази швидше, а контентний шар перестає ламатися за кожної зміни дизайну.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Створення сайту на Cockpit CMS: headless-бекенд для Next.js і Nuxt
Середній
~5 днів
Часті запитання

Розробка сайту на Cockpit CMS: де ламається контентний шар

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

Чим більше розділів, тим частіше ручні правки контенту йдуть повз репозиторій: текст поправили в редакторі, наступне розгортання його затерло.

Контентний шар виносять окремо: редактор заповнює колекції в адміністративній панелі, фронтенд забирає значення й малює їх своїм шаблоном.

Біда в тому, що модель даних ніхто не описує заздалегідь — поля з’являються у ході задач, в однієї сутності виявляється три варіанти заголовка, а частина значень залишається тільки у старій верстці.

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

Розбираємо, як це закривається під час розробки сайту на Cockpit CMS: фіксованою схемою колекцій, єдиним контрактом видачі для всіх шаблонів і скиданням кешу за подією публікації. Далі — що саме ламається в контентному шарі й як ми це лагодимо.

Що дає headless-схема: швидкість правок і порядок у шарах

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

У headless-схемі дані віддає окремий бекенд на Cockpit CMS, а сторінки збирає фронтенд на актуальній гілці Next.js або Nuxt — у двох контурів свої цикли випуску, і вони більше не блокують одне одного.

Що це змінює на практиці:

  • Швидкість публікації контенту — правка йде на прод за хвилини, а не чекає вікна випуску. Раніше типове оновлення «поправити анонс і банер» розтягувалося на день-два; тепер це одна дія редактора.
  • Віддача сторінок під навантаженням — сторінки віддаються як підготовлені, а важкі запити до даних живуть окремо від відповіді користувачеві. На піку трафіку час відгуку не зростає пропорційно до кількості запитів: додається кеш, а не потужність серверів.
  • Кількість звернень до розробника на одну правку — типові задачі (новий розділ, картка, поле в шаблоні) закриваються готовими типами контенту. Розробник потрібен приблизно на одну правку з десяти-п’ятнадцяти — решту редактор робить сам.
  • Незалежне відкатування — невдалу публікацію відкочують версією контенту, невдалий реліз — попередньою збіркою. Одне не тягне за собою інше.
  • Передбачувана міграція оформлення — зміна верстки, шаблонів або фронтенд-фреймворку не вимагає перекладати контент: структура даних залишається тією самою.

Перевіряємо ефект замірами до й після: час від натискання «опублікувати» до появи на проді, відгук під піковим навантаженням, частка контентних задач, закритих без участі інженера.

Якщо хоча б один показник не рухається — отже, схема зібрана із зайвим зв’язуванням шарів, і це видно за цифрами, а не за відчуттями.

Режими роботи: класична база, headless-бекенд, гібрид

Режим роботи з контентом обирають не за смаком, а за тим, хто рендерить сторінку й як часто її вміст змінюється.

Cockpit CMS зберігає матеріали в колекціях і віддає їх через програмний інтерфейс, тому один і той самий набір даних може обслуговувати і класичний сайт, і окремий фронтенд на Next.js або Nuxt.

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

Режим роботи Коли підходить Обмеження
Класична база Контентні сайти, блоги, каталоги: розмітка збирається на боці CMS Правка вимагає перезбирання шаблону; контент складніше перевикористати в застосунку та мобільному клієнті
Headless-бекенд Продуктові інтерфейси з власним фронтендом, де контент — одне з джерел даних Потрібні кеш і попередня генерація; редактору потрібен окремий передперегляд
Гібридна схема Маркетингові сторінки та статті готуються заздалегідь, кабінети й пошук працюють на клієнті Дві схеми доставки треба узгодити за адресами, кешем і правами доступу

На практиці зміна режиму майже не зачіпає сам контент: колекції, поля й зв’язки залишаються тими самими, змінюється лише шар доставки.

Тому стартуємо з простішої схеми, а попередню генерацію або окремий headless-шар підключаємо тоді, коли з’являється другий споживач даних або вимоги до швидкості віддачі.

Порядок робіт: контентні моделі, збірка, перевірка, передача

Роботи йдуть від розбору поточної структури даних до сайту, готового до правок, тому контентні моделі проєктуються до верстки: якщо схему змінюють у ході, доводиться переробляти розмітку, зв’язки між розділами й увесь перенос даних. Нижче — порядок, за яким ми ведемо проєкт.

  1. Інвентаризація контенту. Розбираємо наявні розділи, записи, довідники та зв’язки між ними, фіксуємо, що перевикористовуємо, а що переносимо в нову структуру.
  2. Контентні моделі. Описуємо типи записів, поля, обов’язковість, довідники та мовні версії; закладаємо чернетки, щоб правка не потрапляла на сайт одразу.
  3. Схема розділів і навігації. Збираємо дерево сторінок, хлібні крихти, правила адрес і переадресацій зі старих посилань — інакше позиції губляться під час зміни структури.
  4. Перенесення даних. Готуємо вивантаження, прибираємо дублі, зіставляємо поля старих записів із новими моделями й звіряємо кількість і зв’язки до та після завантаження.
  5. Збірка й виведення. Налаштовуємо видачу контенту з Cockpit CMS у фронтенд, кешування та перезбирання сторінок під час публікації; передперегляд відокремлений від робочої версії.
  6. Перевірка. Проганяємо форми, ролі й права доступу, пошук, адреси та точки виведення, звіряємо ключові сторінки з узгодженою структурою.
  7. Передача й регламент правок. Віддаємо доступи, опис моделей і порядок роботи: як додати розділ, поле або точку виведення без правки коду.

Кожен етап закривається короткою демонстрацією на тестовому середовищі — замовник бачить результат до того, як він піде в робочу версію.

Що залишається у вас: схеми колекцій, права, регламенти

Артефакти створюються у ході робіт, а не в кінці «для галочки»: документація оновлюється разом із моделлю контенту, інакше через місяць вона описує те, чого вже немає. Нижче повний перелік того, що ви отримуєте на руки.

  • Схеми колекцій — за кожним типом матеріалу: склад полів, типи, обов’язковість, значення за замовчуванням, правила перевірки на боці бекенду та зв’язки між колекціями. Цього достатньо, щоб додати поле або новий тип запису без розбору вихідного коду.
  • Опис довідників і словників — які значення існують, де використовуються, хто відповідає за поповнення і що станеться з уже опублікованими матеріалами під час перейменування значення.
  • Матриця прав доступу — ролі зведені в таблицю «роль × колекція × дія», окремо виділено публікацію, зняття з публікації та видалення. Видно, хто і що може, і куди звертатися за розширенням прав.
  • Інструкції для редакторів — покрокові сценарії з екранами: як завести матеріал, прикріпити медіа, поставити в чергу публікації і що робити, якщо матеріал не пройшов перевірку полів.
  • Карта інтеграцій — список зовнішніх систем, події, за якими йде обмін, формат даних і порядок дій за недоступності зовнішньої сторони.
  • Регламент резервного копіювання — що копіюється, з якою періодичністю, як перевірити придатність копії та як відновити окрему колекцію, не відкочуючи весь сайт.
  • Історія змін моделі контенту — журнал правок схем із зазначенням, які дані треба перенести після кожної зміни.

Передача йде за чек-лістом: проходимо за кожним пунктом разом із вашою командою, перевіряємо, що доступи видані, інструкції відтворювані, а оновлення схеми на тестовому контурі не ламає опубліковані матеріали.

Розбір проєкту: каталог на headless-схемі, метрики до й після

Каталог на 12 000 позицій жив у моноліті: правка картки або ціни йшла через адмінку, і публікація однієї сторінки займала до 40 хвилин — редактор чекав перезбирання всього сайту.

Прайс заливали нічним імпортом, категорії після нього звіряли руками, а раз на тиждень фронтенд віддавав порожні розділи: кеш не скидався, і частина товарів випадала з видачі.

Що зробили

Контент перенесли в Cockpit CMS як headless-бекенд: товари, категорії та характеристики описали явними полями зі зв’язками, щоб структура даних перестала залежати від верстки.

Вітрину збирають статично, а за веб-хуком перезбираються лише змінені сторінки — ціна або опис оновлюються без повного прогону.

Ручні операції залишилися там, де потрібна редакторська перевірка: імпорт прайсу зіставляє позиції за ідентифікатором і сам підтягує категорії, а не просить розкласти їх заново.

Виведення даних перевіряється на етапі збірки — якщо в товару немає обов’язкового поля, сторінка не публікується і порожній розділ не потрапляє на прод.

Метрики до й після: публікація — з 40 хвилин до 2, частка ручних операцій — з майже 100% до поодиноких правок, відмови виведення — з 3–4 на тиждень до нуля за квартал. Перезбирання каталогу тепер можна запускати будь-коли, не чекаючи нічного вікна.

Чим headless-бекенд відрізняється від класичної бази контенту?

Класична база контенту тримає зберігання й виведення в одному контурі: сторінка збирається шаблонізатором самої системи, і розмітка жорстко прив’язана до її рушія. Додати новий канал або змінити оформлення — означає переписати шаблони всередині.

Headless-бекенд розриває цей зв’язок: Cockpit CMS зберігає структуровані записи й віддає їх на запит, а де і як їх показати, вирішує фронтенд.

Розділення зберігання й виведення — ключова механіка. Контент описується колекціями та полями: тексти, зв’язки, медіа й локалізації лежать як дані, а не як готова розмітка.

Фронтенд на Next.js або Nuxt запитує потрібний набір полів і збирає сторінку сам, тому один матеріал без переписування йде і на сайт, і в застосунок, і в окрему вітрину.

Для редактора змінюється небагато: він залишається у звичній адмінці, але працює з полями замість готових сторінок. З’являються чернетки, відкладена публікація, версії та передперегляд, а правка в одному місці розходиться по всіх каналах одразу.

Узгодження перестає впиратися у верстку — контент-менеджер не чекає розробника, щоб поправити текст.

Роль розробника зміщується від правки шаблонів до схем даних і шару запитів. Він описує колекції, права на читання й запис, кеш і скидання кешу, а фронтенд отримує стабільний контракт. Оновлення дизайну більше не чіпає сховище, а зміна системи виведення не вимагає міграції контенту.

Сумніви інженера: міграція, кеш, ролі та права доступу

Сумніви на етапі вибору підрядника стосуються не самого редактора контенту, а того, як він поводиться в експлуатації: що буде з накопиченою базою, як оновлюється кеш, хто і що зможе правити. Нижче — чотири питання, які ми розбираємо до старту, щоб після запуску не перезбирати схему даних.

Як переноситься контент із поточного сайту?

Структуру колекцій описуємо заздалегідь, а матеріали переносимо скриптом: текст, зображення, вкладення та зв’язки зберігають адреси, тому старі посилання не починають віддавати помилку.

Перед перенесенням робимо пробний прогін на копії бази й звіряємо кількість записів і зв’язків — розходження видно до відключення старого сайту.

Що з кешем сторінок після правки контенту?

Сторінки віддаються з кешу, а під час збереження запису скидається лише пов’язана з нею розмітка — решта сайту продовжує відповідати швидко. Для великих розділів налаштовуємо фонове оновлення, щоб перший відвідувач після публікації не чекав перезбирання.

Як влаштовані ролі та права доступу?

Права задаємо на рівні колекцій і окремих полів: редактор править тексти, але не чіпає структуру й налаштування. Публікацію відокремлюємо від редагування — правка не йде на робочий сайт без підтвердження, а всі дії пишуться в журнал із автором і часом.

Що із зовнішніми сервісами — аналітикою, формами, оплатою?

Бекенд віддає дані через API, тому платіжні модулі, форми й аналітика підключаються як окремі сервіси, а не вбудовуються в контент. Якщо зовнішній сервіс недоступний, сайт продовжує працювати: заявки йдуть у чергу й надсилаються повторно.

Обговорімо задачу: вхідні дані та порядок оцінки

Для оцінки обсягу робіт із headless-бекенду на Cockpit CMS достатньо тих вхідних даних, які у вас уже є — доступ до продакшену й докладний бриф на старті не потрібні.

Чим конкретніші ввідні, тим точніший склад етапів і план впровадження: що потрапляє в першу поставку, а що розумно відкласти на другу.

  • Схема контенту або її начерк: які колекції потрібні, які поля в кожній, зв’язки між ними, чи потрібні чернетки, версії та відкладена публікація.
  • Макети або прототип ключових шаблонів: де дані приходять з API, де залишається статика, які блоки збираються з повторюваних компонентів.
  • Список інтеграцій: форми, CRM, оплата, пошук, розсилки, аналітика — що має отримувати дані від сайту і що віддавати в нього.
  • Ролі та доступи: хто редагує, хто тільки публікує, чи потрібні мультимовність і різні редакції контенту під регіони.
  • Обмеження: поточний хостинг і домени, вимоги до розмітки для пошуку, правила зберігання персональних даних.
  • Наявний код або API, якщо проєкт уже працює: доступ до репозиторію та тестового контуру прискорює розбір.
  • Пріоритети за строками: яка частина потрібна до запуску, а яку можна винести окремим етапом без втрати цілісності.

На основі цього повертаємося з оцінкою обсягу робіт: розбивка за етапами, склад задач на вашому боці, порядок випуску й точки, де можна перевірити результат до фінальної здачі.

Якщо схему контенту ще не визначено, запропонуємо свій варіант структури й покажемо, як вона ляже на Next.js або Nuxt.

Опишіть задачу — повернемося з оцінкою та планом робіт.

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1140
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060