Когда монолит становится проблемой
Битрикс, OpenCart, WooCommerce — знакомые имена. На них работают тысячи магазинов, и для стандартных задач они справляются. Но рано или поздно бизнес упирается в потолок.
Типичные симптомы:
- Скорость. Страницы грузятся 3–5 секунд. Core Web Vitals в красной зоне. Google понижает в выдаче, пользователи уходят — каждая лишняя секунда загрузки снижает конверсию на 7%.
- Кастомизация. Нужен нестандартный фильтр, персональные цены для B2B-клиентов, интеграция с 1С по специфичной логике — и начинается: «это нужно допиливать ядро», «поставьте плагин, но он конфликтует с другим», «после обновления всё сломалось».
- Мобильная версия. Адаптивная вёрстка поверх десктопного шаблона — это компромисс. Мобильный опыт всегда вторичен.
- Масштабирование. Черная пятница, сезонный пик — и сервер ложится, потому что монолит не умеет масштабироваться по частям.
Монолитная CMS — это когда база данных, бизнес-логика, шаблоны и админка живут в одном приложении. Удобно на старте, но со временем каждое изменение затрагивает всё остальное.
Что такое headless
Headless — это архитектура, где бэкенд (данные, логика, API) и фронтенд (то, что видит пользователь) разделены. Между ними — API.
«Без головы» — значит бэкенд не навязывает, как выглядит сайт. Он просто отдаёт данные. А фронтенд может быть любым: сайт, мобильное приложение, терминал в магазине, бот в Telegram.
Это не новая идея — крупные компании (Nike, IKEA, Under Armour) давно перешли на headless. Но раньше такая архитектура требовала большой команды и бюджета. Сегодня — нет.
Стек, который мы используем
Medusa — e-commerce движок
Medusa — open-source платформа для электронной коммерции. По сути, это «движок» интернет-магазина без привязки к конкретному фронтенду.
Что она умеет из коробки:
- Каталог товаров с вариантами, опциями, коллекциями
- Корзина и оформление заказа
- Промокоды, скидки, подарочные карты
- Управление складами и наличием
- Подключение любых платёжных систем (ЮKassa, Тинькофф, PayKeeper, Stripe)
- Подключение служб доставки (СДЭК, ПЭК, Яндекс Доставка, Деловые Линии)
- Мультивалютность, мультиязычность
- REST и GraphQL API
Почему не Shopify? Shopify — отличный выбор, но с ограничениями: ежемесячная подписка, комиссия с каждой транзакции, ограниченная кастомизация, данные хранятся на чужих серверах. Для российского рынка есть дополнительные сложности с оплатой и интеграциями с 1С. Medusa — это своя инфраструктура, полный контроль, нет комиссий, нет зависимости от зарубежного сервиса.
Payload CMS — контент и страницы
Интернет-магазин — это не только каталог. Это лендинги, акции, блог, SEO-страницы, FAQ, информация о доставке. Всё это — контент, и им удобнее управлять через CMS.
Payload — headless CMS на Node.js. Она отвечает за всё, что не является товарами:
- Страницы с визуальным конструктором блоков
- Блог и новости
- Баннеры, акции, промо-разделы
- SEO-поля (title, description, OG-изображения)
- Медиафайлы
Payload работает на том же стеке (Node.js, TypeScript), что и остальные компоненты — одна экосистема, один язык, одна команда разработки.
Next.js — фронтенд
Next.js — React-фреймворк для продакшн-сайтов. Именно он отвечает за то, что видит и с чем взаимодействует пользователь.
Ключевые возможности:
- SSR и SSG — страницы рендерятся на сервере или генерируются заранее. Результат: мгновенная загрузка и отличное SEO.
- Компонентный подход — интерфейс собирается из готовых блоков. Библиотеки компонентов (Mantine, shadcn/ui, Radix) дают профессиональный UI без отрисовки каждой кнопки с нуля.
- Оптимизация из коробки — автоматическая оптимизация изображений, шрифтов, JS-бандлов, lazy loading.
Что это даёт бизнесу
Главное: headless — это не «модная технология ради технологии». Это архитектурный выбор, который снимает ограничения монолитных платформ по скорости, дизайну, интеграциям и масштабированию.
Скорость сайта
Headless-магазин на Next.js — это статически сгенерированные страницы, оптимизированные изображения и минимальный JavaScript. Типичный результат: загрузка менее 1 секунды, зелёные Core Web Vitals. Это напрямую влияет на позиции в поиске и конверсию.
Свобода в дизайне
Никаких ограничений шаблона. Фронтенд пишется с нуля под задачи бизнеса. Нужен нестандартный конфигуратор товара? Интерактивная карта складов? Калькулятор стоимости? Всё это — компоненты, которые легко создать и встроить.
Простое масштабирование
Бэкенд и фронтенд масштабируются независимо. Пиковая нагрузка на сайт? Добавляем мощности фронтенду, не трогая бэкенд. Много заказов? Масштабируем Medusa. Статические страницы можно раздавать через CDN — сервер вообще не нагружается.
Независимость от вендора
Весь код — ваш. Все данные — на ваших серверах. Нет подписок, комиссий, рисков блокировки аккаунта. Можно сменить хостинг, CMS, платёжную систему — без миграции всего сайта.
Параллельная разработка
Фронтенд-команда и бэкенд-команда работают одновременно, не мешая друг другу. Хотите обновить дизайн? Фронтенд переписывается, а Medusa и база данных не меняются. Нужна интеграция с новой ERP? Бэкенд дорабатывается, а сайт продолжает работать.
Подходит всем — даже небольшим магазинам
Раньше headless-архитектура ассоциировалась с большими бюджетами и командами из 10+ разработчиков. Сегодня всё изменилось.
Ресурсов нужно немного. Medusa и Payload — готовые решения, которые не нужно писать с нуля. Каталог, корзина, оплата, CMS — всё работает из коробки. Разработчик подключает модули, а не пишет движок.
Фронт собирается моментально. Современные UI-библиотеки (Mantine, shadcn/ui) — это сотни готовых компонентов: карточки товаров, фильтры, формы, модальные окна, таблицы. Профессиональный интерфейс собирается за дни, не за месяцы.
Удобно развивать. Добавить мобильное приложение? Оно подключается к тому же API. Выйти на маркетплейс? Ещё один фронтенд. Интегрировать AI-бота? Он работает с теми же данными. Каждый новый канал продаж — это только новый «фронт», бэкенд уже готов.
Небольшой магазин на 100 товаров и enterprise-платформа с персональными ценами для 500 дилеров — один и тот же стек, разный масштаб. Начинаете с малого, растёте без переезда на другую платформу.
Как это выглядит на практике
Реальный проект: миграция интернет-магазина климатического оборудования с 1С-Битрикса на headless-стек.
Исходная ситуация:
- Каталог ~5 000 товаров
- Персональные ценовые соглашения для B2B-клиентов из 1С
- Три службы доставки (Яндекс Доставка, ПЭК, Деловые Линии)
- Онлайн-оплата через PayKeeper
- Сайт грузился 4+ секунды, мобильная версия неудобная
Что сделали:
- Каталог и заказы → Medusa с кастомными модулями для синхронизации цен из 1С
- Контент, акции, SEO-страницы → Payload CMS
- Фронтенд → Next.js с серверным рендерингом
- Три API доставок подключены как Fulfillment-провайдеры в Medusa
Результат: загрузка < 1 сек (было 4+), B2B-клиенты видят персональные цены после авторизации, единый интерфейс для управления контентом и товарами, масштабирование без ограничений платформы.
Итого
Стек Medusa + Payload CMS + Next.js — это:
- Medusa отвечает за коммерцию (товары, заказы, оплата, доставка)
- Payload отвечает за контент (страницы, блог, акции, SEO)
- Next.js отвечает за интерфейс (быстрый, удобный, кастомный)
Три инструмента, каждый делает своё. Вместе — полноценная e-commerce платформа без ограничений, без абонентских платежей, без комиссий.
Если ваш интернет-магазин растёт быстрее, чем ваша CMS — поговорим.