Veltos.Tech

Разработка

SSR и CSR

Также называют: серверный рендеринг, клиентский рендеринг, SSR или CSR что выбрать

Определение

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

Разница видна в первом ответе сервера. При SSR в HTML уже лежат заголовок, текст, цены и ссылки — браузеру остаётся отрисовать и «оживить» страницу. При CSR приходит почти пустой документ и бандл JavaScript, который сначала загружается, потом исполняется, потом запрашивает данные по API и только затем что-то показывает. На быстром устройстве и хорошем канале разница незаметна; на бюджетном Android в мобильной сети она превращается в несколько секунд пустого экрана.

Для продвижения это не вопрос вкуса. Google научился исполнять JavaScript, но делает это вторым проходом и с задержкой; Яндекс работает с клиентским рендерингом заметно хуже, и для российского коммерческого проекта это решающий аргумент. Практическое правило: всё, что должно ранжироваться — карточки товаров, страницы услуг, статьи, категории, — отдаётся сервером в готовом HTML. Всё, что живёт после авторизации и в поиск не попадает — личный кабинет, админка, интерактивные конструкторы, — спокойно рендерится на клиенте.

На практике выбор редко бинарный. Современные фреймворки позволяют смешивать режимы на уровне страницы: статическая генерация для того, что меняется редко (статьи, лендинги), серверный рендеринг для того, что зависит от пользователя или обновляется часто (каталог с наличием), клиентский — для интерактивных частей внутри уже отрисованной страницы. Ловушка здесь одна и очень распространённая: включить SSR и считать вопрос скорости закрытым. SSR улучшает время до первого контента, но не спасает от тяжёлого бандла, который блокирует интерактивность и портит INP.

Смежные термины

Услуги по теме

Почитать подробнее

Нужна помощь с этим на практике?

Мы не только объясняем термины, но и делаем это руками. Опишите задачу — разберём и пришлём смету по этапам.