Топ-10 Разработка + SEO по версии Рейтинга РунетаТоп-10 Web + SEO
Смотреть рейтинги агентства →Все награды →

Наша платформа

Витрина нового поколения:
Vue 3 / Nuxt 4 SSR + headless Bitrix

Каталог на сотни тысяч товаров, устойчивость к пиковым нагрузкам и полная свобода дизайна.

Все цифры — замеры работающего тестового стенда, август 2026

Обсудим ваш проект?

Оставьте контакты — вернёмся с расчётом и планом работ

Нажимая кнопку, я принимаю  соглашение о конфиденциальности  и соглашаюсь с  обработкой персональных данных

Архитектура

Bitrix больше не рендерит страницы — он отдаёт данные

  1. Браузерпользователь
  2. NGINXстатика · gzip · keepalive
  3. Nuxt 4 SSRVue 3 · Node 22 · PM2
  4. NGINX UnitPHP 8.3 · пул воркеров
  5. Bitrixмодуль qupe.base
  6. MySQL 8366 тыс. товаров
  • Компоненты 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

    инфоблоков

Крупнейшие категории, тыс. товаров

  • Низковольтное оборудование58
  • Прочие товары56
  • Кабеленесущие системы50
  • Светильники43
  • Электроустановочные21

Почему объём не убивает скорость

  • Страница берёт только свою порцию. 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 — как у статики, но с живыми данными

view-source: карточка товара на стенде
<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

Для улучшения работы сайт может собирать данные, используя cookies и сервис "Яндекс.Метрика". Это соответствует политике в отношении персональных данных. Продолжая работу на сайте вы даёте согласие на обработку персональных данных. Файлы cookie можно отключить в настройках Вашего браузера.