Клиентский и серверный рендеринг

Клиентский и серверный рендеринг

Увеличьте время загрузки веб-страницы с помощью правильного метода рендеринга. Поймите разницу между рендерингом на стороне клиента и на стороне сервера для оптимального взаимодействия с пользователем.

<п>Более быстрая загрузка веб-страницы играет большую роль в пользовательском опыте и SEO, причем скорость загрузки страницы является ключевым определяющим фактором для алгоритма Google.

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

Два популярных метода рендеринга включают рендеринг на стороне клиента (CSR) и рендеринг на стороне сервера (SSR).

Все веб-сайты предъявляют разные требования, поэтому понимание разницы между рендерингом на стороне клиента и на стороне сервера может помочь вам визуализировать ваш веб-сайт в соответствии с вашими бизнес-целями.

Google &amp; JavaScript

Google имеет обширную документацию о том, как он обрабатывает JavaScript, а сотрудники Google регулярно делятся своими идеями и отвечают на вопросы по JavaScript в различных форматах – как официальные, так и неофициальные.

Например, в подкасте Search Off The Record обсуждалось, что Google отображает все страницы для поиска, включая страницы с большим количеством JavaScript.

Это вызвало содержательный разговор в LinkedIn, и еще пара выводов из подкаста и продолжающихся обсуждений таковы:

<ул>

  • Google не отслеживает, насколько дорого стоит обработка определенных страниц.
  • Google отображает все страницы для просмотра контента – – независимо от того, использует он JavaScript или нет.
  • Разговор в целом помог развеять многие мифы и заблуждения о том, как Google мог бы подходить к JavaScript и распределять ресурсы.

    Полный комментарий Мартина Сплитта на LinkedIn, посвященный этому:

    “Мы не отслеживаем, “насколько дорога для нас была эта страница?” или что-то в этом роде. Мы знаем, что значительная часть Интернета использует JavaScript для добавления, удаления и изменения контента на веб-страницах. Нам просто нужно выполнить рендеринг, чтобы увидеть все это. На самом деле не имеет значения, использует или не использует страница JavaScript, потому что мы можем быть достаточно уверены, что увидим весь контент только после его рендеринга. rdquo;

    <п>Мартин также подтвердил наличие очереди и потенциальной задержки между сканированием и индексированием, но не только потому, что что-то является JavaScript или нет, и это не “непрозрачный” проблема в том, что наличие JavaScript является основной причиной неиндексации URL-адресов.

    Общие рекомендации по JavaScript

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

    <ул>

  • Не блокируйте ресурсы JavaScript с помощью файла Robots.txt или правил сервера.
  • Избегать блокировки рендеринга.
  • <ли>Избегайте внедрения JavaScript в DOM.

    Что такое рендеринг на стороне клиента и как он работает?

    Рендеринг на стороне клиента — относительно новый подход к рендерингу веб-сайтов.

    Он стал популярным, когда библиотеки JavaScript начали его интегрировать, причем Angular и React.js являются одними из лучших примеров библиотек, используемых в этом типе рендеринга.

    Он работает путем рендеринга JavaScript веб-сайта в вашем браузере, а не на сервере.

    Сервер отвечает простым HTML-документом, содержащим файлы JS, вместо того, чтобы получать все содержимое из HTML-документа.

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

    От управления логикой до получения данных из API, сайты, отображаемые клиентом, делают все «независимо». Страница доступна после выполнения кода, поскольку каждая страница, которую посещает пользователь, и соответствующий URL-адрес создаются динамически.

    Процесс CSR выглядит следующим образом:

    <ул>

  • Пользователь вводит URL-адрес, который хочет посетить, в адресную строку.
  • Запрос данных отправляется на сервер по указанному URL.
  • <ли>При первом запросе клиента на сайт сервер доставляет статические файлы (CSS и HTML) в браузер клиента.

  • Клиентский браузер сначала загружает содержимое HTML, а затем JavaScript. Эти HTML-файлы подключают JavaScript, запуская процесс загрузки, отображая символы загрузки, определенные разработчиком пользователю. На этом этапе веб-сайт все еще не виден пользователю.
  • После загрузки JavaScript контент динамически генерируется в браузере клиента.
  • Веб-контент становится видимым, когда клиент перемещается по сайту и взаимодействует с ним.
  • Что такое рендеринг на стороне сервера и как он работает?

    Рендеринг на стороне сервера — более распространенный метод отображения информации на экране.

    Веб-браузер отправляет запрос на информацию с сервера, извлекая пользовательские данные для заполнения и отправляя клиенту полностью визуализированную HTML-страницу.

    Каждый раз, когда пользователь посещает новую страницу сайта, сервер повторяет весь процесс.

    <стр>Вот как шаг за шагом проходит процесс ССР: <ул>

  • Пользователь вводит URL-адрес, который хочет посетить, в адресную строку.
  • Сервер отправляет браузеру готовый к отображению HTML-ответ.
  • Браузер отображает страницу (теперь она доступна для просмотра) и загружает JavaScript.
  • <ли>Браузер выполняет React, что делает страницу интерактивной.

    В чем разница между рендерингом на стороне клиента и на стороне сервера?

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

    <п>Это дает преимущество в скорости рендеринга на стороне сервера по сравнению с рендерингом на стороне клиента, поскольку браузеру не нужно обрабатывать большие файлы JavaScript. Контент часто становится видимым в течение нескольких миллисекунд.

    Однако рендеринг на стороне клиента является более дешевым вариантом для владельцев веб-сайтов.

    Он разгружает ваши серверы, передавая ответственность за рендеринг клиенту (боту или пользователю, пытающемуся просмотреть вашу страницу). Он также предлагает широкие возможности взаимодействия с сайтом, обеспечивая быстрое взаимодействие с сайтом после начальной загрузки.

    При CSR к серверу отправляется меньше HTTP-запросов, в отличие от SSR, где каждая страница отображается с нуля, что приводит к более медленному переходу между страницами.

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

    Недостаток CSR — более длительное время начальной загрузки. Это может повлиять на SEO; сканеры могут не дождаться загрузки контента и покинуть сайт.

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

    Когда использовать серверный рендеринг

    Если вы хотите улучшить свою видимость в Google и занять высокие позиции на страницах результатов поисковых систем (SERP), рендеринг на стороне сервера — это выбор номер один.

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

    Когда использовать рендеринг на стороне клиента

    Рендеринг на стороне клиента обычно сочетается с динамическими веб-приложениями, такими как социальные сети или онлайн-мессенджеры. Это связано с тем, что эти приложения’ информация постоянно меняется, и ей приходится иметь дело с большими и динамическими данными, чтобы выполнять быстрые обновления в соответствии с потребностями пользователей.

    <п>Здесь основное внимание уделяется богатому сайту с большим количеством пользователей, при этом пользовательский опыт важнее SEO.

    Что лучше: рендеринг на стороне сервера или на стороне клиента?

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

    <стр>Подумайте о своем проекте и о том, как выбранный вами вариант визуализации повлияет на вашу позицию в поисковой выдаче и на удобство использования вашего сайта.

    Как правило, CSR лучше подходит для динамических веб-сайтов, тогда как SSR лучше всего подходит для статических веб-сайтов.

    <ч4>Частота обновления контента <п>Веб-сайты, которые содержат очень динамичную информацию, например веб-сайты, посвященные азартным играм или FOREX, обновляют свое содержимое каждую секунду, а это означает, что в этом сценарии вы, скорее всего, выберете CSR, а не SSR – – или выберите использование CSR для конкретных целевых страниц, а не для всех страниц, в зависимости от вашей стратегии привлечения пользователей.

    SSR более эффективен, если контент вашего сайта не требует особого взаимодействия с пользователем. Это положительно влияет на доступность, время загрузки страниц, SEO и поддержку социальных сетей.

    С другой стороны, CSR отлично подходит для обеспечения экономичного рендеринга веб-приложений, его проще создавать и поддерживать; лучше использовать задержку первого входа (FID).

    <п>Еще одно соображение CSR заключается в том, что метатеги (описание, заголовок), канонические URL-адреса и теги Hreflang должны отображаться на стороне сервера или представляться в исходном ответе HTML, чтобы сканеры могли их идентифицировать как можно скорее, а не только появляться в отображаемом файле. HTML.

    Аспекты платформы

    Технология CSR, как правило, дороже в обслуживании, поскольку почасовая ставка для разработчиков, обладающих навыками работы с React.js или Node.js, обычно выше, чем для разработчиков PHP или WordPress.

    Кроме того, для фреймворков CSR доступно меньше готовых плагинов или готовых решений по сравнению с более обширной экосистемой плагинов, к которой также имеют доступ пользователи WordPress.

    Для тех, кто рассматривает возможность автономной установки WordPress, например, использования Frontity, важно отметить, что вам нужно будет нанять как разработчиков React.js, так и разработчиков PHP.

    Это потому, что безголовый WordPress использует React.js для внешнего интерфейса, но при этом требует PHP для серверной части.

    Важно помнить, что не все плагины WordPress совместимы с автономными настройками, что может ограничить функциональность или потребовать дополнительной индивидуальной разработки.

    Функциональность веб-сайта &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; Цель

    Иногда вам не нужно выбирать между ними, поскольку доступны гибридные решения. И SSR, и CSR могут быть реализованы на одном веб-сайте или веб-странице.

    Например, на онлайн-рынке страницы с описаниями продуктов могут отображаться на сервере, поскольку они статичны и должны легко индексироваться поисковыми системами.

    Что касается электронной коммерции, то если у вас высокий уровень персонализации для пользователей на ряде страниц, вы не сможете SSR отображать контент для ботов, поэтому вам нужно будет определить некоторую форму. контента по умолчанию для робота Googlebot, который сканирует без файлов cookie и без сохранения состояния.

    Страницы, такие как учетные записи пользователей, не обязательно должны ранжироваться на страницах результатов поисковых систем (SERP), поэтому подход CRS может быть лучше для UX.

    Как CSR, так и SSR — популярные подходы к рендерингу веб-сайтов. Вам и вашей команде необходимо принять это решение на начальном этапе разработки продукта.

    Back To Top