Skip to content

Build Strategy

Baan’s build strategy controls how blog post pages are rendered and cached. The right choice depends on how often you publish and how quickly updates need to appear for readers.

StrategyBuild TimeTime-to-first-byteContent UpdatesBest For
ISR (default)FastFast (cached after first hit)Near-instant on saveMost blogs
SSGSlow (scales with post count)Fastest (fully pre-rendered)Requires rebuild + redeploySmall sites, rarely updated
SSRFastSlower (rendered per request)Instant, always freshHigh-traffic sites with CDN

ISR — Incremental Static Regeneration (Default)

Section titled “ISR — Incremental Static Regeneration (Default)”

How it works: Pages are rendered on the first request and cached. When you save a post in the admin panel, Baan calls revalidatePath() on that page’s cache, so the next request gets a fresh render. Subsequent requests hit the cache again. Images in articles are served via a proxy endpoint (/api/image) that also maintains a 24-hour server-side cache — this cache is invalidated alongside the page cache on every save.

Result: Readers always see content that is at most one request stale after a save. In practice, updates appear within seconds.

Best for: The vast majority of blogs — you get static-site performance without the deploy-every-time workflow.


How it works: Every post page is pre-rendered at build time. The output is a set of static HTML files that can be served from a CDN with no server-side processing at all.

Result: The fastest possible time-to-first-byte, but any update (new post, edit, publish/unpublish) requires running npm run build again and redeploying.

Best for: Sites with a small number of posts that rarely change — documentation, portfolios, or archival sites where you batch-publish on a schedule.


How it works: Every request triggers a fresh render on the server. There is no page cache — the server reads content from storage and renders HTML for each visitor.

Result: Content is always up-to-date for every visitor, but each request costs server resources. Pair this with a CDN (Cloudflare, Vercel Edge) that caches at the edge to get the best of both worlds.

Best for: Sites with very frequent content changes, personalized content, or when you want to place a CDN cache in front and control caching headers yourself.


Go to Admin → Settings → Build, select a strategy, and save. No restart required for ISR and SSR. SSG takes effect on the next build.

The default is ISR.