A content-heavy site — a blog, documentation, most marketing pages — doesn't need to query a database on every request, because the content changes rarely and is the same for every visitor. Building one on a full server-rendered framework with a live database connection is solving a problem the site doesn't have, and paying in server cost and attack surface for flexibility nobody uses.
Static-first architecture generates the pages once, at build time, and serves them from a CDN thereafter — no database query per request, no application server to keep patched, and page loads that are close to instant because there's no rendering work happening when a visitor arrives. For a site that publishes a few articles a week rather than accepting constant user-generated writes, this is a better match for the actual traffic pattern.
The trade-off is the publishing workflow: content changes require a rebuild, which on a large site can take minutes rather than being instant. Modern static site generators mitigate this with incremental builds that only regenerate what changed, but it's worth checking before committing — a five-thousand-page documentation site rebuilding from scratch on every content edit is a real operational friction that catches teams out after launch.
Where static-first breaks down is genuinely dynamic content — user accounts, real-time inventory, personalised recommendations. The workable pattern for most content-heavy sites is static for the content itself, with small pockets of dynamic behaviour — a search box, a comment section — added via client-side calls to a lightweight API rather than rendering the whole page dynamically. That combination gets the speed and simplicity of static for ninety per cent of the site without giving up the ten per cent that genuinely needs to be live.