{ "id": "2634d8efc3c8e21f09a43d26", "source": "solid:signals", "type": "github-document", "title": "ssr", "content": "---\ntitle: Server side rendering\nuse_cases: \u003e-\n server rendering, seo optimization, initial page load, performance\n optimization, data preloading\ntags:\n - ssr\n - server\n - rendering\n - seo\n - performance\n - preload\nversion: '1.0'\ndescription: \u003e-\n Enable server-side rendering with Solid Router for SEO and performance.\n Support suspense, resources, and render-as-you-fetch patterns.\n---\n\nSolid Router supports all of Solid's SSR capabilities.\nIn addition, it has Solid's transitions included, so it can be used freely with [suspense](/reference/components/suspense), [resources](/reference/basic-reactivity/create-resource), and [lazy components](/reference/component-apis/lazy).\n\nWhen using SSR, there is the option to use the static router directly or let the browser router default to it on the server by passing in the URL.\n\n```jsx\nimport { isServer } from \"solid-js/web\";\nimport { Router } from \"@solidjs/router\";\n\n\u003cRouter url={isServer ? req.url : \"\"} /\u003e;\n```\n\nSolid Router also provides a way to define a `preload` function that loads parallel to the routes [render-as-you-fetch](https://epicreact.dev/render-as-you-fetch/).", "url": "https://github.com/solidjs/solid-docs/blob/HEAD/src/routes/solid-router/rendering-modes/ssr.mdx", "metadata": { "path": "src/routes/solid-router/rendering-modes/ssr.mdx", "repo": "solidjs/solid-docs", "repo_url": "https://github.com/solidjs/solid-docs.git", "size": 1142, "source_type": "github" }, "hash": "961e9811e83b6ed8049ed9cbf8b6d3725d28670978bec46b861b8b105574cb39", "timestamp": "2026-02-23T11:43:00.193481296+01:00" }