Рендеринг на стороне сервера в JavaScript – объяснение SSR и CSR Перевод

OleStep OleStep 30 Мая

Концепцию рендеринга на стороне сервера (SSR) часто понимают неправильно. Поэтому моя цель в этой статье — внести ясность в этот процесс и то, как он работает.

Вот что мы рассмотрим в этом руководстве:

  • Что такое рендеринг на стороне сервера? Каковы его плюсы и минусы по сравнению с другими методами рендеринга, такими как рендеринг на стороне клиента (CSR)?
  • Как узнать, отображается ли сайт с использованием SSR?
  • Как использовать SSR и что следует учитывать при выборе платформы SSR?
  • Как использовать SSR для повышения производительности?

читать в оригинале…
https://www.freecodecamp.org/news/server-side-rendering-javascript/

Недостатки CSR

Вскоре после бурного развития систем CSR специалисты по SEO начали понимать, что Google и другие поисковые системы плохо индексируют эти страницы. Синопсис был ясен: чистая CSR — отстой для SEO.

Основным недостатком здесь является начальная скорость загрузки страницы. При использовании CSR страница изначально отправляется клиенту как пустая HTML-оболочка без содержимого. Эту пустую оболочку часто видят Google и другие поисковые системы, что нежелательно по понятным причинам.

JavaScript создаст страницу довольно быстро, но на практике у большинства поисковых систем по-прежнему возникают проблемы с индексацией контента после завершения манипуляций с DOM и рендеринга HTML.

В худшем случае время загрузки плохо созданного приложения для рендеринга на стороне клиента может даже начать негативно влиять на взаимодействие с пользователем, что является величайшей ошибкой.

2 Ответа

  1. Мне нравится местами NextJS с их Server-side Rendering (SSR) и Static Site Generation (SSG).

  1. NextJS, как флагман SSR прекрасен. Однако, SSR иногда дает много головной боли, особенно когда тебе нужно хранить какой-либо state. Это хорошо видно в паре с самым популярным стэйт менеджером — Redux. Когда по хорошему, тебе нужен дополнительный внешний враппер для синхронизации стейта между сервером и клиентом, а на 14м нексте и его app router этот враппер реализовать можно, но это костыль космических масштабов и имеет мало смысла. Поэтому SSR с app router практически исключил возможность нормально юзать тот же Redux в больших проектах. Однако, next.js все еще остается прекрасным