---
title: "Server-side rendering JSS applications"
slug: "server-side-rendering-jss-applications"
abstract: "Improve SEO and enable integrations with Sitecore editors"
---
# Server-side rendering JSS applications

Server-Side Rendering (SSR) is essential to enabling integration with Sitecore editors, such as the Experience Editor and Horizon. The Sitecore editors rely on finding the rendered markup of new components being added to the pages when they pre-render them.

It is therefore required to use SSR on Content Management (CM) servers to enable inline editing of data by content authors in the Sitecore editors. On Content Delivery (CD) servers, the primary reason for using SSR is to guarantee SEO compliance.

We recommend rendering JSS applications server-side if you have content that you want to be indexed by search engines.

Using SSR is not recommended for web apps that render user-specific information, such as user portals, or dynamic interfaces that should not be indexed such as e-commerce checkout, food ordering, and so on.

To help you server-side render JSS applications, Sitecore provides [rendering engines](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/rendering-engines-and-jss.html "Rendering engines and JSS"). Each JSS application you connect and deploy to Sitecore can be configured to use a different rendering engine.

You have several options for server-side rendering JSS applications based on the JSS sample apps for React, Angular, and Vue.js:

- [Server-side rendering JSS apps in integrated mode](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/server-side-rendering-jss-apps-in-integrated-mode.html "Server-side rendering JSS apps in integrated mode").
- [Server-side render JSS apps headlessly using a Sitecore Experience Edge endpoint](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/server-side-render-jss-apps-headlessly-using-a-sitecore-experience-edge-endpoint.html "Server-side render JSS apps headlessly using a Sitecore Experience Edge endpoint").
- [Walkthrough: Rendering a JSS app server-side using the headless JSS proxy](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/walkthrough--rendering-a-jss-app-server-side-using-the-headless-jss-proxy.html "Walkthrough: Rendering a JSS app server-side using the headless JSS proxy").

> [!tip]
> You must ensure your [JSS app is compatible with server-side rendering](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/best-practices-for-ssr-compatible-jss-apps.html "Best practices for SSR compatible JSS apps").

JSS applications based on the Next.js sample use [Next.js-based techniques for server-side rendering](https://doc.sitecore.com/xp/en/developers/hd/20/sitecore-headless-development/prerendering-methods-and-data-fetching-strategies-in-jss-next-js-apps.html "Prerendering methods and data fetching strategies in JSS Next.js apps").