IAnswerable

Static, Server-Rendered, or Client-Rendered

21 Oct 2026

The question isn’t “which is faster” — static wins that every time. The real question is how often your data changes, and whether stale content is acceptable between rebuilds.

The decision framework

flowchart TD
    A["How often does the data change?"] --> B["Rarely / on deploy\n(docs, marketing, blog)"]
    A --> C["Per-user or per-request\n(dashboards, carts, feeds)"]
    A --> D["Frequently, same for everyone\n(prices, inventory, news)"]
    B --> E["Static rendering"]
    C --> F["Server rendering,\nor client rendering"]
    D --> G["Static + ISR/on-demand\nrevalidation"]
  

Static rendering

Pages are built once, at deploy time, and served as plain files from a CDN. No server compute per request.

Server-side rendering (SSR)

Each request runs your rendering code on a server, producing fresh HTML every time.

Client-side rendering (CSR)

The server sends a near-empty HTML shell; the browser fetches data and renders in JavaScript.

The middle ground: incremental static regeneration / on-demand revalidation

Static pages that rebuild automatically on a schedule or when triggered by a webhook, without a full site rebuild.

The rule that actually decides it

Ask “if this page were 10 minutes stale, would anyone notice or care?” If no — static. If “only for this specific logged-in user” — SSR or CSR depending on whether it needs to be crawlable. If “yes, money or inventory is wrong” — SSR, or static with aggressive revalidation and a visible “last updated” timestamp so staleness is honest instead of hidden.