← all posts

aug 4, 2026/4 min

static pages beat a spa for most marketing sites

a single-page app feels modern, but for a page whose only job is to load fast and rank, plain html still wins.

static render 0.4s client-rendered app 1.8s

every few months a client asks why their landing page is not built the same way as a big app dashboard. the honest answer: a dashboard and a landing page are solving different problems.

what actually loads first

a dashboard hides behind a login and stays open in one tab for hours, so the cost of shipping a heavier bundle once is small. a marketing page gets one visit, has one job, and is judged in the first second.

when we swapped a client's framework-heavy homepage for a statically rendered one, the first paint dropped from close to two seconds to under half a second on a mid-range phone. nothing else about the design changed.

  • html arrives already rendered, so there is content before javascript even runs
  • less client-side script means less time blocked on parsing and hydration
  • crawlers and link previews see the finished page immediately, not a loading spinner

when a spa still makes sense

if the page is genuinely an application — a dashboard, an editor, something people keep open and interact with for a while — the calculus flips and a client-rendered app can be the right call.

for a page whose only goal is to load, explain, and convert, we default to static rendering and add interactivity only where it earns its cost.

  • engineering
  • performance