ФиксИнтернет-магазин на 1С-Битрикс под ключ за 30 дней по фиксированной цене

SSR, SSG и ISR: какой рендеринг выбрать для магазина

SSR, SSG и ISR для интернет-магазина: серверный, статический и инкрементальный рендеринг и композитный сайт 1С-Битрикс

«Нам нужен SSR, а лучше ISR, как в Next.js» — фраза, которую всё чаще произносят на старте проекта магазина, не всегда понимая, что за ней стоит и зачем это платформе на 1С-Битрикс. Тема рендеринга окружена модными аббревиатурами, но за ними — простой и важный вопрос: как и когда собирается HTML-страница, которую видят пользователь и поисковик. От ответа зависят и скорость, и SEO, и нагрузка на сервер.

В этой статье разберём SSR, SSG и ISR без хайпа: что каждый режим значит, чем отличается, какой подходит магазину и как всё это соотносится с композитным сайтом и кэшем 1С-Битрикс. И честно ответим, когда классического Битрикс достаточно, а когда стоит думать о headless-фронтенде. Архитектурные решения такого уровня мы закладываем в рамках услуги автоматизации на 1С.

Коротко

  • SSR — сборка страницы на сервере при запросе, SSG — заранее в статику, ISR — статика с фоновым обновлением.
  • Магазину нужен готовый HTML для SEO: чистый клиентский рендеринг (CSR) для каталога рискован.
  • Композитный сайт 1С-Битрикс по идее близок к ISR — кэширует HTML и обновляет по событиям.
  • Headless-фронтенд оправдан не всегда; часто классический Битрикс с грамотным кэшем закрывает задачу.

Зачем магазину вообще думать о рендеринге

Рендеринг — это то, как и когда собирается HTML, который получает браузер. Для интернет-магазина это не абстракция, а вопрос трёх практичных вещей: увидит ли поисковик контент (SEO), как быстро страница появится у пользователя (скорость) и какую нагрузку это создаст на сервер (стоимость и устойчивость).

Каталог и карточки — контентные страницы, которые должны индексироваться и открываться мгновенно, но при этом показывать актуальные цену и наличие. Это конфликтующие требования: свежесть данных тянет к генерации при каждом запросе, а скорость и нагрузка — к статике. Разные режимы рендеринга — это разные способы разрешить этот конфликт.

SSR: рендеринг на сервере при запросе

SSR (server-side rendering) — классическая модель: на каждый запрос сервер собирает готовую HTML-страницу и отдаёт её браузеру. Именно так по умолчанию работает обычная страница на PHP в 1С-Битрикс — компонент выбирает данные, шаблон формирует разметку, пользователь получает готовый контент.

SSR без кэша — самый ресурсоёмкий режим. Поэтому в реальности его почти всегда дополняют кэшированием, и вопрос смещается к тому, насколько агрессивно закэширован результат.

От номенклатуры до витрины каталога Номенклатуратовары из 1ССвойства и SKUхарактеристикиКарточкафото, описаниеИндекспоиск и фильтрКаталогвитрина клиенту
Схема: номенклатура из 1С обрастает свойствами и торговыми предложениями, наполняется контентом карточки и индексируется — так формируется витрина, по которой ищут и фильтруют.

SSG: статика, собранная заранее

SSG (static site generation) — противоположный подход: страницы генерируются заранее, при сборке, и сохраняются как статические HTML-файлы. Пользователь получает готовый файл мгновенно, без работы сервера на лету.

Для магазина у SSG двойственная природа. С одной стороны, это максимальная скорость и минимальная нагрузка. С другой — данные «замораживаются» на момент сборки: чтобы обновить цену или наличие, нужна пересборка. Для огромного каталога пересборка миллионов страниц долгая и непрактичная. Поэтому чистый SSG хорош для редко меняющегося контента (статьи, лендинги), но проблематичен для живого каталога с ценами.

ISR: статика с фоновым обновлением

ISR (incremental static regeneration) — гибрид, снимающий главный недостаток SSG. Страницы отдаются как статика, но фоново перегенерируются: по времени жизни, по расписанию или по событию изменения данных. Первый посетитель получает закэшированную версию, а обновление происходит в фоне, не пересобирая весь сайт.

Ключевая идея ISR: не выбирать между «быстро, но устарело» и «свежо, но медленно», а получить и то, и другое. Страница отдаётся мгновенно из кэша, а актуальность поддерживается точечной регенерацией. Именно эта идея лежит в основе композитного сайта 1С-Битрикс.

Для интернет-магазина ISR-подход — обычно оптимальный компромисс: скорость статики без замороженных данных и без пересборки всего каталога. Разница с SSG в том, что регенерация инкрементальная — обновляется только то, что изменилось.

CSR и почему он опасен для каталога

Отдельно стоит упомянуть CSR (client-side rendering) — когда сервер отдаёт почти пустую страницу, а весь контент дорисовывает JavaScript в браузере. Это удобно для интерактивных приложений, но опасно для каталога магазина.

Проблема в SEO: поисковик может получить пустую страницу и не дождаться, пока JavaScript подгрузит товары и текст. Контент рискует не проиндексироваться, а значит — не появиться в выдаче. Плюс первый экран у пользователя появляется позже. Поэтому для контентных страниц магазина (каталог, карточки, разделы) чистый CSR — рискованный выбор; им уместно рендерить только динамические виджеты поверх серверного HTML.

Сравнение режимов для магазина

РежимКогда собирается HTMLСвежесть данныхНагрузкаSEO
SSRПри каждом запросеМаксимальнаяВысокаяОтлично
SSGЗаранее при сборкеНа момент сборкиМинимальнаяОтлично
ISRСтатика + фоновая регенерацияВысокаяНизкаяОтлично
CSRВ браузере (JS)ВысокаяНизкая на серверРискованно

Для типичного магазина побеждает ISR-подход: готовый HTML для SEO, скорость статики, низкая нагрузка и достаточная свежесть за счёт регенерации по событиям. SSR остаётся для по-настоящему персональных страниц, CSR — для динамических виджетов поверх статики.

Как это ложится на 1С-Битрикс

Хотя термины SSR/SSG/ISR родом из мира JavaScript-фреймворков, идеи прямо переносятся на 1С-Битрикс. Классическая страница на PHP — это по сути SSR: сервер собирает HTML при запросе. Кэш компонентов и меню приближает поведение к статике: результат генерации сохраняется и переиспользуется. А композитный сайт — это уже гибрид, близкий к ISR.

Поэтому «выбор рендеринга» на Битрикс — это в первую очередь настройка стратегии кэширования: что генерировать на лету, что кэшировать, когда сбрасывать кэш. Понимание режимов помогает выстроить это осознанно, а не оставлять на самотёк. Смежные архитектурные темы — D7 ORM для эффективных выборок и разработка модулей для кастомной логики.

Композитный сайт как ISR из коробки

Композитный сайт — штатный механизм 1С-Битрикс, который по идее ближе всего к ISR. Он берёт результат серверной генерации, кэширует статический HTML и отдаёт его почти мгновенно, а изменяемые части подгружает отдельно. Кэш обновляется по событиям изменения данных.

  1. Первое обращение. Страница генерируется сервером и кэшируется как статический HTML.
  2. Последующие обращения. Отдаётся готовый кэш — мгновенно, без работы базы.
  3. Динамические зоны. Корзина, авторизация, цена клиента догружаются отдельным запросом.
  4. Регенерация. Кэш сбрасывается по событию (изменился товар) или по времени жизни.

Это и есть инкрементальная статика: скорость отдачи как у SSG, актуальность как у SSR, без пересборки всего каталога. Для большинства магазинов грамотно настроенный композит закрывает задачу без внешних фреймворков.

Динамические данные: цена, наличие, корзина

Главная сложность любого статического подхода в магазине — данные, которые меняются чаще, чем регенерируется страница: цена (особенно по группам клиентов в B2B), наличие на складе, содержимое корзины, авторизация. Их нельзя «запекать» в статику надолго.

Решение общее для всех режимов: вынести динамику из кэшируемой части и подгружать отдельно — быстрым серверным ответом или запросом из браузера. В композитном сайте это делается разметкой динамических зон. Так основной контент (описание, характеристики, изображения) отдаётся мгновенно из кэша, а цена и остатки всегда свежие, потому что запрашиваются отдельно. Наличие и цены при этом приходят из учётной системы — качество обмена мы закрываем услугой автоматизации продаж и склада на 1С, а технику интеграций разбирали в статье про REST, вебхуки и безопасность.

Когда нужен headless-фронтенд

Headless-архитектура — это когда Битрикс остаётся бэкендом и отдаёт данные через API, а фронтенд делают отдельным приложением (например, на React/Next.js) с собственным SSR/SSG/ISR. Это мощно, но не всегда оправдано.

Headless дороже в разработке и поддержке, требует выстроенного API и дисциплины деплоя — эти темы мы разбирали в статьях про CI/CD и деплой и разработку модуля для Маркетплейса. Прежде чем уходить в headless, стоит убедиться, что классический Битрикс действительно не тянет задачу — часто оказывается, что тянет.

Частые ошибки выбора

Чек-лист выбора рендеринга

  1. Контент отдаётся готовым HTML. Каталог и карточки не зависят от клиентского JS для индексации.
  2. Композит включён. Основные страницы кэшируются и отдаются мгновенно.
  3. Динамика вынесена. Цена, наличие, корзина, авторизация — отдельно от статического кэша.
  4. Стратегия сброса кэша описана. Понятно, что и по какому событию регенерируется.
  5. Свежесть данных достаточна. Цена и остатки актуальны, обмен с 1С стабилен.
  6. Нагрузка проверена. Поведение под пиком трафика протестировано.
  7. Headless обоснован. Отдельный фронтенд берут только при реальной необходимости и ресурсах.

Вывод

SSR, SSG и ISR — это не магия и не обязательно про JavaScript-фреймворки, а три способа ответить на один вопрос: когда собирается HTML. Для интернет-магазина почти всегда выигрывает ISR-подход: готовый контент для SEO, скорость статики, низкая нагрузка и достаточная свежесть за счёт регенерации. И именно эту идею реализует композитный сайт 1С-Битрикс из коробки.

Поэтому на Битрикс «выбор рендеринга» — это грамотная настройка кэша: что генерировать на лету, что кэшировать, когда сбрасывать, и как вынести динамику вроде цены и наличия. Headless-фронтенд — мощный инструмент, но не самоцель: прежде чем усложнять, убедитесь, что классический Битрикс с продуманным кэшем не решает задачу. Чаще всего — решает.

Частые вопросы

Что означают SSR, SSG и ISR простыми словами?

SSR (server-side rendering) — страница собирается на сервере при каждом запросе, всегда свежая, но нагружает сервер. SSG (static site generation) — страницы генерируются заранее в статику при сборке, отдаются мгновенно, но обновляются только при пересборке. ISR (incremental static regeneration) — гибрид: статика, которая фоново перегенерируется по расписанию или по событию, сочетая скорость SSG со свежестью данных.

Как это связано с 1С-Битрикс, ведь это про фронтенд-фреймворки?

Прямо: в классическом Битрикс роль SSR играет обычная серверная генерация страницы на PHP, а роль ISR/SSG во многом закрывает композитный сайт — он кэширует готовый HTML и отдаёт его почти мгновенно, обновляя по событиям. Понимание этих режимов помогает грамотно настроить кэш Битрикс и решить, нужен ли отдельный headless-фронтенд поверх платформы.

Композитный сайт Битрикс — это SSR или SSG?

Композитный сайт ближе всего к ISR: он берёт результат серверной генерации, кэширует статический HTML и отдаёт его мгновенно, а динамические зоны (корзина, цена клиента) догружает отдельно. Кэш сбрасывается по событиям изменения данных. То есть Битрикс из коробки даёт гибрид статики и динамики, похожий по идее на инкрементальную регенерацию.

Нужен ли магазину headless и отдельный фронтенд на React/Next.js?

Не всегда. Классический Битрикс с композитным сайтом и грамотным кэшем закрывает большинство задач магазина без усложнения. Headless-архитектура с отдельным фронтендом оправдана, когда нужен сложный интерактив, общий бэкенд для сайта и приложения или высокие требования к скорости фронтенда. Это мощно, но дороже в разработке и поддержке.

Какой режим лучше для SEO интернет-магазина?

Для SEO важно, чтобы поисковик получал готовый HTML с контентом, а не пустую страницу, которую дорисовывает JavaScript. Этому отвечают SSR, SSG и ISR — все они отдают готовую разметку. Чисто клиентский рендеринг (CSR) для каталога рискован: контент может не проиндексироваться. Поэтому магазину нужен серверный или статический рендеринг в той или иной форме.

Как обновлять цены и наличие при статическом рендеринге?

Динамические данные — цену, наличие, корзину — выносят из статической части и подгружают отдельно, уже в браузере или через быстрый серверный ответ. В композитном сайте Битрикс это делается разметкой динамических зон. Так основной контент отдаётся мгновенно из кэша, а цена и остатки всегда актуальны, потому что запрашиваются отдельно.

Что выбрать для каталога с сотнями тысяч товаров?

Полный SSG для огромного каталога непрактичен: пересборка миллионов страниц долгая. Здесь лучше ISR-подход — статика с фоновой регенерацией по требованию, что и делает композитный сайт: страница кэшируется при первом обращении и обновляется по событию или по времени жизни кэша. Так вы получаете скорость статики без пересборки всего каталога.

Влияет ли выбор рендеринга на нагрузку на сервер?

Да, и существенно. Чистый SSR на каждый запрос нагружает сервер и базу сильнее всего, особенно на пике трафика. Кэширование (композит, ISR, SSG) снимает нагрузку, отдавая готовый HTML без пересборки. Поэтому для магазина под нагрузкой ключевой вопрос не «SSR или SSG», а насколько агрессивно и корректно закэширован результат генерации.

Поделиться:

Не знаете, нужен ли вашему магазину headless или хватит композита?

Разберём архитектуру и рендеринг под вашу нагрузку и SEO, настроим кэш 1С-Битрикс и подскажем, где усложнение оправдано, а где лишнее.

Автоматизация на 1С

Игорь Воскресенский

Команда B2Bsite. С 2014 года разрабатываем магазины и порталы на 1С-Битрикс: композитный сайт, кэш-стратегии, headless-архитектуры и интеграции с 1С под реальную нагрузку и SEO.

← Все статьи блога