Webaholic Studio
Technical28 July 20268 min read

Static Site vs Server-Rendered: Which Is Right for Your Product?

Static generation or server rendering? A practical decision guide with real trade-offs — speed, cost, freshness — and what we chose for our own site.

B

Boris

Founder, Webaholic Studio

Every page a browser shows had to be assembled somewhere: either ahead of time, at build (static generation), or on demand, when the visitor asks for it (server rendering). This one decision shapes your hosting costs, your page speed, your SEO, and how fresh your content can be. Here's how to make it — with the trade-offs stated plainly, and with what we chose for our own site and why.

The two models in one paragraph each

Static generation (SSG): every page is pre-built into plain HTML, CSS, and JavaScript files at build time. Visitors receive ready-made files from a server or CDN — no computation happens per request. The site is as fast as files can be delivered, which is very fast, and there is almost nothing to hack, crash, or scale.

Server-side rendering (SSR): pages are assembled per request by a running server. The visitor asks for a page, the server fetches the relevant data, renders HTML, and responds. Content is always current to the second, and pages can differ per user — but you now operate a server, and every request costs computation.

The comparison that actually matters

FactorStatic (SSG)Server-rendered (SSR)
SpeedFastest possible — pre-built files from CDNFast, but adds server processing per request
Content freshnessUpdates require a rebuild (minutes)Real-time, always current
PersonalisationSame page for everyone (client-side JS for the rest)Per-user pages, natively
Hosting costMinimal — any static host or CDNServer or serverless compute, scales with traffic
ReliabilityNearly nothing to breakServer is a failure point to monitor
Security surfaceFiles only — no runtime to exploitRunning application to patch and protect
SEOExcellent — instant, complete HTML for crawlersExcellent — complete HTML, slightly slower TTFB

SEO: mostly a tie, with one nuance

Both approaches serve complete HTML to crawlers, which is what matters — the SEO problem child is client-only rendering (a bare React SPA), not SSR or SSG. The nuance: Core Web Vitals are part of ranking, and static files from a CDN reliably deliver better time-to-first-byte than per-request rendering. It's a small edge, but in competitive niches small edges are the game. This applies equally to AI crawlers like GPTBot and ClaudeBot: fast, complete, structured HTML is the easiest content for them to ingest and cite.

Choose static when…

Choose server-rendered when…

The decision in one question: does the page need to be different depending on who is asking or when they ask? If no — static. If yes — server-rendered. Most products contain both kinds of pages, which is why the real answer is usually hybrid.

The hybrid reality (and why we use Next.js)

This is rarely an either/or decision at the product level. A typical SaaS product wants static marketing pages and a blog (speed, SEO, zero maintenance) plus a server-rendered application behind login (personalised, real-time). Modern frameworks make that split natural: Next.js lets you decide per page — pre-render this one at build, render that one per request — inside one codebase. There's also a middle path, incremental static regeneration, where static pages quietly re-generate themselves on an interval, giving near-fresh content at static speed.

What we chose for our own site

webaholic.studio is fully static: Next.js with output: 'export', pre-rendered to plain HTML at build time, served by Apache with long-lived caching. No Node server runs in production. The result is a 100/100/100/100 PageSpeed score — 0.9s first contentful paint on mobile, zero layout shift, zero blocking time. Our content changes when we publish work or articles, which is a rebuild-and-deploy, not a real-time event. Static was the honest fit — and the same reasoning applies to most agency, portfolio, and marketing sites.

Frequently asked questions

Is a static site really faster in practice?

Yes, measurably. A pre-built HTML file served from a CDN typically starts arriving in tens of milliseconds; a server-rendered page adds data fetching and rendering time per request — often 100–500ms before the first byte. Users feel that difference, and Core Web Vitals record it.

Can a static site have dynamic features like forms and search?

Yes. 'Static' describes how pages are delivered, not what they can do. Forms post to a small endpoint or service, search can run entirely in the browser for moderate content volumes, and any interactive component works normally — it's JavaScript either way. Our own contact form runs on a static site via a single small PHP endpoint.

How often can I update a static site?

As often as you can rebuild — and builds take one to three minutes for a typical site. With a CMS wired to trigger rebuilds automatically, editors publish normally and never know the site is static. What you can't do is show content that changes per second; for that, you need server rendering on those specific pages.

Which is cheaper to run?

Static, by a wide margin. Static files run on shared hosting, free CDN tiers, or object storage for a few euros a month regardless of traffic spikes. Server rendering means paying for compute that scales with every request — modest at small scale, but it grows with success and needs monitoring either way.

static siteSSRSSGNext.jsarchitectureperformance

Last updated: 28 July 2026

Work with us

Ready to build something?

Tell us about your project. We'll get back to you within 24 hours with a clear next step.

Related articles