Чтение 6 минут

Серверный рендеринг: когда он нужен сайту


Серверный рендеринг: когда он нужен сайту - Студия Вебтую

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

Три подхода к сборке страницы

Различие между ними сводится к одному вопросу: в какой момент появляется готовая разметка — на сервере, в браузере посетителя или ещё на этапе сборки проекта.

ПодходКак работаетКому подходит
Рендеринг на сервереСервер собирает HTML на каждый запрос и отдаёт готовый документКаталоги, карточки товаров, блоги, страницы услуг
Рендеринг в браузереПриходит пустой каркас, содержимое подставляет скрипт после загрузкиЛичные кабинеты, панели управления, внутренние сервисы
Заранее собранные страницыHTML генерируется один раз при сборке проекта и лежит файламиДокументация, лендинги, материалы, которые меняются редко
Смешанная схемаПубличная часть с сервера, закрытый раздел собирается в браузереБольшинство коммерческих проектов

Чистые варианты встречаются реже, чем смешанные. Обычно у проекта есть витрина, которая обязана быть в поиске, и закрытая часть, куда робот не попадёт при всём желании, — разумно применять к ним разные подходы.

Почему это важно для поиска

Поисковые роботы умеют выполнять скрипты, но делают это в отдельной очереди и не всегда полностью. Если текст, цена и заголовок появляются на странице только после выполнения кода, обход растягивается: сначала робот забирает документ, потом ставит его в очередь на отрисовку, и только затем в индекс попадает содержимое. На сайте из десятка страниц разница почти незаметна, на каталоге из нескольких тысяч — уже ощутима.

Отдельная проблема — ошибки при выполнении. Скрипт может не дождаться ответа от внешнего сервиса, упасть на неподдерживаемой конструкции, зависеть от параметров, которых у робота нет. Человек в такой ситуации перезагрузит страницу, робот просто зафиксирует пустой документ. Мы регулярно видим это на проектах, которые пришли к нам с жалобой «страницы есть, а в поиске их нет»: в инструменте проверки адреса содержимое отсутствует, хотя в браузере всё на месте.

Проверить это можно без специальных инструментов. Достаточно запросить страницу утилитой командной строки или отключить выполнение скриптов в браузере: то, что осталось на экране, и есть минимум, на который может рассчитывать робот.

Что ещё даёт рендеринг на сервере

  • Быстрый первый экран. Посетитель видит текст, пока скрипты ещё загружаются. На слабых телефонах и медленной сети разница исчисляется секундами.
  • Корректные превью ссылок. Мессенджеры и социальные сети читают разметку без выполнения скриптов: если заголовка и картинки нет в исходном HTML, ссылка будет выглядеть пустой.
  • Устойчивость. Если один из скриптов не загрузился, страница остаётся читаемой, а не превращается в белый экран.
  • Доступность. Программы чтения с экрана и режимы экономии трафика работают с готовой разметкой предсказуемее.
  • Кэшируемость. Готовый HTML можно положить в кэш и отдавать без обращения к базе.

Чем приходится платить

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

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

Наконец, кэширование. Отдавать всем один и тот же HTML быстро и дёшево, но как только на странице появляется имя пользователя, содержимое корзины или региональная цена, схему кэша приходится усложнять.

Как мы выбираем подход на проекте

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

Типичные ошибки

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

Как проверить, что всё работает

После запуска мы проходим короткий чек-лист. Запрашиваем несколько типовых страниц без выполнения скриптов и убеждаемся, что в ответе есть заголовок, текст, цена и ссылки. Проверяем, что у каждой страницы свои мета-теги и канонический адрес. Смотрим коды ответа: карточка удалённого товара должна отдавать 404, а не двухсотый код с пустым макетом. Прогоняем страницы через инструменты проверки в панелях поисковых систем и сравниваем, что видит робот, с тем, что видим мы. Отдельно замеряем время до первого содержимого и время до готовности к нажатиям — они различаются, и второе часто оказывается хуже.

Практический вывод

Если страница должна приводить людей из поиска, содержимое обязано быть в разметке сразу: либо серверный рендеринг, либо заранее собранные страницы. Если речь о разделе после входа в аккаунт, сборка в браузере проще и дешевле в сопровождении. Смешанная схема, где витрина отдаётся сервером, а кабинет собирается на клиенте, покрывает большинство реальных задач и обходится без лишних расходов на инфраструктуру.

Нужна помощь

Мы проектируем и собираем сайты так, чтобы содержимое было доступно и людям, и поисковым роботам с первого запроса. Если у вас есть проект на скриптовом фреймворке, который плохо индексируется, посмотрим, что видит робот, и предложим схему рендеринга под ваш случай. Обсудить создание сайта можно с оценкой сроков и объёма работ.

Нужна помощь с сайтом?

Срочные ошибки исправим за 24 часа, работа от 2 500 руб./час.

Техническая поддержка и сопровождение сайта

По теме статьи

Мы это уже делали

Похожие статьи

Нужен новый сайт?

Оставьте контакты — вернёмся с вопросами по задаче и ориентиром по срокам и стоимости.

Читайте также

Разбираем задачи, с которыми к нам приходят: от структуры сайта до поддержки и продвижения.

Внимание: мошенники представляются сотрудниками Вебтую Внимание: мошенники представляются сотрудниками Вебтую Посторонний человек обращается к рекламным и маркетинговым агентствам от имени Вебтую через Telegram-аккаунт @vetaroki22010, заказывает работы и не оплачивает и 10-09-2026 Читать Работа в digital: процессы, инструменты и команда Работа в digital: процессы, инструменты и команда Цифровые проекты редко проваливаются из-за технологий: чаще мешает организация работы. Разбираем этапы, роли, постановку задач, инструменты распределённой коман 30-08-2026 Читать Реклама и аналитика: как считать заявки, а не клики Реклама и аналитика: как считать заявки, а не клики Показы и клики не отвечают на вопрос, сколько принесла реклама. Разбираем, как настроить цели, разметить источники, учесть звонки и связать заявку со сделкой, ч 30-08-2026 Читать Поддержка сайта: обновления, резервные копии и безопасность Поддержка сайта: обновления, резервные копии и безопасность Сайт без регулярного обслуживания ломается предсказуемо. Разбираем, из чего состоит поддержка: обновления, резервные копии, доступы, безопасность, выбор хостинг 30-08-2026 Читать Техническое SEO: индексация, скорость и структура сайта Техническое SEO: индексация, скорость и структура сайта Техническая часть сайта решает, попадут ли страницы в индекс и дождётся ли их посетитель. Разбираем структуру и адреса, индексацию и дубли, работу с устаревшими 30-08-2026 Читать Продвижение сайта в поиске: стратегия, семантика и ссылки Продвижение сайта в поиске: стратегия, семантика и ссылки Разбираем продвижение сайта в поиске от постановки цели до регулярной работы: как собрать и разложить семантику по страницам, что должно быть на посадочной стра 30-08-2026 Читать Тексты для сайта: как писать, чтобы читали и покупали Тексты для сайта: как писать, чтобы читали и покупали Как выбрать тему для страницы и построить текст, который просматривают глазами и дочитывают, чем заменить оценочные формулировки, как переработать существующую 30-08-2026 Читать Автоматизация бизнеса: CRM, ERP и искусственный интеллект Автоматизация бизнеса: CRM, ERP и искусственный интеллект С чего начинать автоматизацию и что автоматизировать в первую очередь, чем различаются CRM, ERP и системы документооборота, внедрять по модулям или всё сразу, г 30-08-2026 Читать Как устроена разработка: технологии, тестирование и инструменты Как устроена разработка: технологии, тестирование и инструменты Из чего состоит веб-проект, как выбирают язык, фреймворк и базу данных, зачем нужны тестирование и контроль версий, где заканчиваются возможности low-code и ген 30-08-2026 Читать Создание сайта: от технического задания до запуска Создание сайта: от технического задания до запуска Проекты срываются не из-за технологий, а из-за неясных договорённостей. Разбираем весь путь создания сайта: как сформулировать цель, что должно быть в техническ 30-08-2026 Читать
Обсудить проект