Render Static Sites

by render-osse8f889396634MITListed Oct 8, 2026Updated Oct 8, 2026

Deploys and configures static sites on Render's global CDN—build commands, publish paths, SPA routing, redirects, custom headers, and PR previews. Use when the user needs to deploy a static site, set up a React/Vue/Hugo/Gatsby frontend, configure SPA fallback routing, add redirect rules, customize response headers, or choose between a static site and a web service for their frontend. Trigger terms: static site, CDN, SPA, single-page app, React deploy, Vue deploy, Hugo, Gatsby, Docusaurus, Jekyll, staticPublishPath.

Instructions onlyDevOps & Cloud
AI-generated overview

Guides deploying and configuring static sites and SPAs on Render's CDN, covering builds, routing, headers and PR previews.

What it does
This skill provides instructions for deploying static frontends such as React, Vue, Hugo, Gatsby, Docusaurus and Jekyll to Render's global CDN. It covers build commands and publish paths, SPA fallback routing, redirect and rewrite rules, custom response headers, PR preview environments, and Blueprint configuration. It also helps decide between a static site and a web service for a frontend.
When to use it
Use it when deploying a static site or single-page app, or when configuring SPA fallback routing, redirects, custom headers or PR previews on Render. It is also relevant when troubleshooting build failures or stale CDN content, or when choosing between a static site and a web service.
Requirements
Requires a Render account and a static site service; the free tier is available. No scripts are included; the skill is instructions plus two reference documents. Network access to Render is needed to deploy.

Render Static Sites

Deploys static frontends (React, Vue, Hugo, Gatsby, Docusaurus, Jekyll, etc.) to Render's global CDN with automatic TLS, Brotli compression, HTTP/2, and DDoS protection. Free tier available.

When to Use

  • Deploying a static site or SPA (no server-side rendering)
  • Choosing between a Static Site and a Web Service for a frontend
  • Configuring SPA fallback routing, redirects/rewrites, or custom headers
  • Setting up PR preview environments for a static site
  • Troubleshooting build failures or stale content on a CDN-hosted site

For SSR frameworks (Next.js, Nuxt, SvelteKit) that need a running server, use render-web-services instead. For Blueprint authoring, see render-blueprints.

Static Site vs Web Service

NeedUseWhy
Pure HTML/CSS/JS, SPA, docs, blogStatic SiteFree, global CDN, instant cache invalidation
SSR (Next.js next start, Nuxt server)Web ServiceNeeds a running Node/Python/etc. process
Static export from SSR frameworkStatic SiteIf the framework supports full static export (next export, nuxt generate)
API backendWeb ServiceStatic sites cannot run server code

Key constraint: Static sites are not on the private network. They cannot communicate with other Render services over internal hostnames.

Build and Publish

SettingPurpose
buildCommandInstalls dependencies and builds assets (e.g. npm ci && npm run build)
staticPublishPathDirectory of built output to serve (e.g. build, dist, public)

Render auto-detects and installs dependencies. Set SKIP_INSTALL_DEPS=true to handle installation yourself in the build command.

Common frameworks

FrameworkBuild commandPublish path
Create React Appnpm ci && npm run buildbuild
Vite (React/Vue/Svelte)npm ci && npm run builddist
Next.js (static export)npm ci && next buildout
Nuxt (static)npm ci && nuxt generate.output/public
Hugohugo --minifypublic
Gatsbynpm ci && gatsby buildpublic
Docusaurusnpm ci && npm run buildbuild
Jekyllbundle exec jekyll build_site
Astronpm ci && astro builddist

SPA Routing and Redirects

Single-page apps need a catch-all rule so the CDN serves index.html for all routes instead of returning 404.

Configure Redirect/Rewrite Rules in the Dashboard (Settings > Redirects/Rewrites) or via the Blueprint routes field:

yaml
routes:  - type: rewrite    source: /*    destination: /index.html

For multi-path redirects (e.g. old blog URLs), add specific rules above the catch-all so they take priority.

See references/routing-and-headers.md for redirect types, header rules, and caching patterns.

Custom Response Headers

Add security and performance headers from the Dashboard (Settings > Headers) or the Blueprint headers field:

yaml
headers:  - path: /*    name: X-Frame-Options    value: DENY  - path: /assets/*    name: Cache-Control    value: public, max-age=31536000, immutable

PR Previews

Static sites support automatic PR previews—each pull request gets a unique URL with the built site.

  • Enable in Dashboard: Settings > PR Previews
  • Blueprint: set previews.generation to automatic or manual
  • Preview URLs follow the pattern <service>-<pr-id>.onrender.com

Blueprint Configuration

yaml
services:  - type: web    runtime: static    name: my-frontend    buildCommand: npm ci && npm run build    staticPublishPath: dist    routes:      - type: rewrite        source: /*        destination: /index.html    headers:      - path: /*        name: X-Frame-Options        value: DENY    previews:      generation: automatic

Note: Static sites use type: web with runtime: static in Blueprints. There is no separate type: static.

CDN and Performance

  • Global CDN with edge caching worldwide
  • Brotli compression (better than gzip)
  • HTTP/2 by default
  • Immediate cache invalidation on every deploy (zero-downtime, atomic deploys)
  • DDoS protection included free

Billing

Static sites have a free tier. They count against workspace-level monthly included amounts for:

  • Outbound bandwidth (data served to users)
  • Pipeline minutes (build time)

References

DocumentContents
references/routing-and-headers.mdRedirect types, rewrite rules, header patterns, SPA config
references/framework-configs.mdBuild commands and publish paths for 10+ frameworks

Related Skills

  • render-web-services — For SSR frameworks that need a running server
  • render-blueprints — Full render.yaml schema for static site fields
  • render-domains — Custom domain and TLS setup
  • render-deploy — Deploy flows, CLI, MCP operations

Source and attribution

Source:render-oss/render-plugin-claude-codeinskills/render-static-sitesat commite8f8893

License: MIT

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal