Разработка
SSR: зачем сайту HTML с сервера и что проверить заказчику
Server-side rendering, или серверный рендеринг: формирование HTML страницы на сервере перед передачей браузеру. В проекте важно отдельно уточнить, когда этот HTML создаётся и как обновляется.
Редакция:
При открытии страницы браузер получает HTML. При серверном рендеринге этот ответ уже может содержать заголовок, основной текст и ссылки. Посетителю не нужно ждать отдельного клиентского запроса только для появления этих сведений. Однако конкретный состав первого ответа зависит от реализации: пометка SSR не доказывает, что все важные блоки действительно отданы сервером.
В приложениях вроде Nuxt после получения HTML браузер подключает интерактивность. Этот этап называют гидратацией: кнопки, формы и другие элементы получают обработчики действий. Документация Nuxt о жизненном цикле описывает серверный и браузерный этапы отдельно. Читаемый текст ещё не доказывает, что форма уже работает.
Пример для сайта компании
Учебная ситуация: посетитель открывает страницу услуги. Заголовок, описание, состав работ и ссылки присутствуют в первом HTML. Калькулятор подключается отдельно, а отправка брифа обращается к серверу. Это разные части проверки: выдача содержимого, готовность интерфейса и приём обращения.
Если страница ждёт медленный источник данных, первый ответ тоже может задержаться. Поэтому перед выбором архитектуры нужно выяснить, какие сведения необходимы сразу, а какие допустимо загрузить позже.
Что согласовать
| Вопрос | Что показать на проверке |
|---|---|
| Что входит в первый ответ? | Основной текст, заголовок и ссылки в HTML конкретной страницы |
| Когда сведения обновляются? | Источник данных, срок действия кэша и способ обновления |
| Когда можно действовать? | Работу формы или другого основного сценария после загрузки |
| Что при отказе зависимости? | Понятное состояние ошибки и способ обнаружить проблему |
| Кто поддерживает решение? | Ответственного за сервер, зависимости, наблюдение и выпуск |
HTML может формироваться при запросе, возвращаться из кэша или быть подготовлен заранее. Последний вариант рассматривается в термине статическая генерация. Название фреймворка само по себе не определяет режим всех страниц.
Чего SSR не гарантирует
SSR не отменяет вес изображений и JavaScript, расходы на сервер или необходимость проверки доступа. Общий кэш нельзя без проверки использовать для персональных данных разных посетителей. Эти ограничения нужно включать в техническое решение.
Готовый HTML упрощает получение содержимого роботами, но не гарантирует индексацию или позиции. Google описывает обход, рендеринг и индексирование как отдельные этапы. Для проекта важны также доступность URL, полезность материала и корректные настройки индексации.
Выбирайте режим по сценариям в сравнении Nuxt и WordPress, а результат проверяйте на реальном содержимом и устройствах по руководству о скорости сайта.