Наша платформа
Витрина нового поколения:
Vue 3 / Nuxt 4 SSR + headless Bitrix
Каталог на сотни тысяч товаров, устойчивость к пиковым нагрузкам и полная свобода дизайна.
Все цифры — замеры работающего тестового стенда, август 2026
Архитектура
Bitrix больше не рендерит страницы — он отдаёт данные
- Браузер
- NGINX
- Nuxt 4 SSR
- NGINX Unit
- Bitrix
- MySQL 8
Компоненты Bitrix (mode=class)
Каталог, разделы, карточки, меню. Компонент возвращает JSON вместо HTML — вся логика и кеш Bitrix сохраняются.
Ajax-контроллеры qupe:base.front.*
Корзина, избранное, сравнение, заказы, формы, авторизация. Единый формат ответов и ошибок.
REST iblock.* — токен только на сервере
Выборки данных при SSR идут с серверным токеном. В браузер ключи не попадают.
Витрина и Bitrix живут на разных серверах и масштабируются независимо. Падение или обновление одного не тянет за собой другое.
Проблема
Почему шаблоны из Маркетплейса — потолок для магазина
Монолит: каждый клик — полный рендер
Любая страница собирается PHP-ядром Bitrix заново. Всплеск трафика бьёт напрямую по ядру и базе — сайт «ложится» целиком, вместе с админкой.
Кастомизация = борьба с чужим кодом
Сотни настроек, переопределений и хуков шаблона. Каждая доработка дороже предыдущей, а обновление шаблона ломает сделанное.
Узнаваемый «шаблонный» дизайн
Сетки, блоки и поведение жёстко заданы шаблоном. Выйти за рамки — значит переписать шаблон, то есть потерять смысл его покупки.
jQuery и полная перезагрузка страниц
Каждый переход тянет весь HTML заново: у типового шаблонного магазина это 322 КБ на каждый клик. Медленно для людей, тяжело для сервера.
Шаблон экономит на старте и дорожает каждый следующий месяц. Мы пошли другим путём.
Масштаб данных
Уже сейчас на стенде — 366 000 товаров. Миллион — вопрос диска, а не архитектуры
365 915
товаров в каталоге
2 823
раздела
5 911
свойств товаров
27
инфоблоков
Крупнейшие категории, тыс. товаров
Почему объём не убивает скорость
- Страница берёт только свою порцию. SSR запрашивает 20 карточек, а не каталог целиком — время ответа не зависит от общего числа товаров.
- Фасетный индекс для фильтров. Подбор по свойствам считается по индексу Bitrix, а не перебором товаров.
- Кеш компонентов Bitrix. Готовые ответы отдаются из кеша до изменения данных.
- Свойства — в отдельных таблицах. MySQL с индексами спокойно работает с миллионами строк значений.
Скорость
Замеры API на тестовом стенде (VM всего с 2 ГБ памяти)
50 мс
ajax-контроллер
настройки сайта, корзина, избранное — служебные запросы
52 мс
маршрут любого URL
поиск страницы по базе из 366 тыс. товаров и 2,8 тыс. разделов
330 мс
листинг раздела
страница товаров с фильтром и ценами, тёплый кеш
- Первый заход — готовый HTML. Сервер отдаёт собранную страницу: пользователь видит контент сразу, без «белого экрана» SPA.
- Дальше — SPA-навигация. Переходы не перезагружают страницу: догружается только JSON с данными. Это в разы легче, чем 322 КБ HTML на каждый клик.
- Данные не запрашиваются дважды. Что загрузил сервер при SSR — гидрация переиспользует. Картинки оптимизирует nuxt-image, код грузится по маршрутам.
Нагрузка
Под шквалом запросов деградирует плавно — и не падает
0
ошибок на 1 300 запросов нагрузочного теста
- 30 параллельных клиентов — 129 запросов/сек, медиана ответа 0,2 с
- 100 параллельных клиентов — 134 запроса/сек, медиана 0,6 с, без единого отказа
Тестовая VM бекенда 2 ГБ памяти — это минимум, а не боевая конфигурация
Почему это защищает и от DDoS-волн
- NGINX впереди — статика и картинки не доходят до PHP; здесь же лимиты запросов и бан ботов.
- Очередь вместо смерти — NGINX Unit держит пул PHP-воркеров: лишние запросы ждут, а не роняют сервер.
- Кеш гасит повторы — одинаковые запросы отдаются из кеша Bitrix, тяжёлая работа не повторяется.
- Витрина без состояния — SSR-инстансы клонируются за балансером; полный кеш страниц и CDN включаются при росте.
Безопасность
Защита заложена в каркас, а не прикручена сверху
Подписанные параметры компонентов
Параметры каждого вызова подписаны криптографической подписью (Bitrix Signer). Подменить запрос и вытащить чужие данные не получится.
Двойной CSRF-барьер
Собственный токен Nuxt (nuxt-csurf, AES-256) плюс bitrix_sessid на каждом изменяющем запросе.
Фильтры на каждом контроллере
SelfRequest, UserHasAccess, UserAgreed: запросы принимаются только от витрины, с проверкой прав и согласий.
Секреты не покидают сервер
REST-токены живут в серверной части SSR и в браузер не попадают. Админка Bitrix — на отдельном бекенд-контуре.
SEO
Роботы видят готовый HTML — как у статики, но с живыми данными
<title>Купить UUTP4-C5E-S24-IN-LSZH-GY-305 по низкой
цене от производителя…</title>
<meta name="description" content="…">
<h1>UUTP4-C5E-S24-IN-LSZH-GY-305</h1>
… + весь контент страницы в HTML-ответеОбычные SPA-магазины роботы видят пустыми. SSR снимает эту проблему: у поисковика — полный HTML, у человека — скорость приложения.
- Мета-теги из Bitrix. title, description и h1 управляются SEO-модулем Bitrix — контент-менеджер работает как привык.
- ЧПУ-фильтры как посадочные. Комбинации фильтра имеют человекочитаемые адреса — под них создаются SEO-страницы.
- Скорость — фактор ранжирования. Быстрый первый байт и лёгкие переходы работают на позиции и поведенческие факторы.
Свобода дизайна
Данные отдельно, дизайн отдельно: рисуем что угодно
Бекенд не диктует вёрстку
С сервера приходит чистый JSON. Любая сетка, любые блоки, любая анимация — ограничений шаблона просто нет.
Библиотека UI-компонентов
Кнопки, карточки, слайдеры, аккордеоны, модалки, тултипы — 30+ переиспользуемых компонентов со SCSS-модулями.
Редизайн без миграции
Смена дизайна — замена Vue-компонентов. Каталог, корзина, заказы и интеграции не затрагиваются.
Адаптив из коробки
Одна витрина корректно работает на десктопе, планшете и телефоне: один код на все устройства.
Скорость внедрения
Новый раздел сайта — это контент, а не проект по программированию
Универсальный роутер инфоблоков
Любой URL резолвится одним компонентом: создали инфоблок — раздел уже открывается на сайте, с хлебными крошками и мета-тегами. Роуты программировать не нужно.
Типовые компоненты «список / раздел / элемент»
Новости, статьи, акции, бренды, услуги, портфолио — всё работает на одних и тех же генериках.
TypeScript-контракты API
Формат ответов Bitrix описан типами: разработчик видит структуру данных и ошибки ещё в редакторе, а не в проде.
Параллельная разработка
Бекенд и фронтенд — независимые кодовые базы: команды не блокируют друг друга.
Уже работают на этом механизме
- Каталог
- Поиск
- Сравнение
- Избранное
- Корзина
- Личный кабинет
- Заказы
- Новости
- Статьи
- Акции
- Бренды
- Услуги
- Портфолио
- Отзывы
- Контакты
- SEO-страницы
16 разделов — один каркас
Сравнение
Готовый шаблон против нашей платформы
| Готовый шаблон из Маркетплейса | Vue / Nuxt SSR + headless Bitrix | |
|---|---|---|
| Рендеринг страниц | PHP собирает каждую страницу целиком | SSR + лёгкие JSON-переходы без перезагрузки |
| Пиковые нагрузки | бьют в ядро Bitrix — сайт падает вместе с админкой | витрина отделена, масштабируется копиями за балансером |
| Большие каталоги | страницы тяжелеют с ростом ассортимента | 366 тыс. на стенде, ответы API 50–330 мс |
| Дизайн | рамки шаблона, узнаваемая «шаблонность» | любой макет: бекенд не диктует вёрстку |
| Доработки | борьба с чужим кодом, обновления ломают кастом | своя компонентная база, типизация, генерики |
| Обновления Bitrix | рискуют зацепить шаблон и доработки | не трогают витрину — контуры независимы |
| Команда | один PHP-разработчик на всём | фронтенд и бекенд работают параллельно |
До и после
Один и тот же бизнес — разные поколения витрины
Сейчас
Классический Bitrix-шаблон, jQuery, 322 КБ HTML на каждый переход
Новая витрина
Nuxt 4 SSR, SPA-переходы, headless Bitrix, свой дизайн
Итого
Платформа, которая растёт вместе с бизнесом
366 тыс. товаров уже на стенде
Архитектура рассчитана на 1 млн+: пагинация, фасеты, кеш.
API отвечает за 50–330 мс
На VM с 2 ГБ памяти — задел на боевом железе кратно больше.
1 300 запросов под нагрузкой — 0 ошибок
Слоёная защита: NGINX, пул воркеров, кеш, stateless-витрина.
Headless-контуры
Витрина и Bitrix обновляются и масштабируются независимо.
Следующие шаги
- Наполнение: фото и остатки из 1С
- Продакшен-сборка и боевой сервер
- Кеш страниц и CDN на пиковые кампании
- Балансировка SSR-инстансов по мере роста
Обсудим ваш проект?
Устроим встречу у нас в офисе или у вас. На встрече будет наш IT-директор — говорим только о вашем проекте и отвечаем на все вопросы.
Москва, Волгоградский проспект 28А, офис 409 · info@qupe.ru