The content management landscape has never been more fragmented — or more interesting. A decade ago, “choosing a CMS” meant choosing between WordPress and WordPress. Today, the decision involves fundamental architectural choices that affect performance, flexibility, cost, and your team’s ability to manage content for years to come.
Let’s break it down honestly.
What Is a Traditional CMS?
A traditional (or coupled) CMS manages both the content and the presentation layer in the same system. WordPress is the archetypal example — it stores your content in a database and renders it as HTML pages using PHP templates and themes.
Other examples include Drupal, Joomla, Squarespace, and Wix.
How it works:
Content Database → PHP/Template Engine → HTML rendered to browser
Everything is coupled together. The CMS controls how your content is stored and how it appears.
What Is a Headless CMS?
A headless CMS manages only the content — the “body without a head.” It stores and organises your content and exposes it via an API. A separate frontend application (built in Astro, Next.js, Nuxt, etc.) fetches that content and decides how to display it.
Popular headless CMSes include Sanity, Contentful, Strapi, Payload, and Prismic.
How it works:
Content API (Sanity/Contentful) → API request → Frontend (Astro/Next.js) → HTML rendered to browser
The content layer and the presentation layer are completely separate.
The Case For a Headless CMS
Performance
Headless architectures paired with modern frontend frameworks can produce exceptionally fast websites. When your frontend is a statically generated Astro site pulling from a Sanity API at build time, the result is pre-rendered HTML served from a CDN — near-instant load times globally.
Traditional WordPress sites can be made fast with caching and optimisation, but it requires significant ongoing effort. Fast is the default with headless; it requires work with traditional CMS.
Flexibility and Future-Proofing
Your content is not locked to one presentation. The same Sanity content can power your website, mobile app, digital signage, email templates, and anything else that can consume a REST or GraphQL API.
If you decide to rebuild your website in three years using a completely different frontend framework, your content — and your client’s ability to manage it — remains completely intact.
Developer Experience
Modern headless CMSes offer typed schemas, real-time collaboration, powerful querying languages (Sanity’s GROQ, Contentful’s GraphQL), and clean APIs that integrate naturally with TypeScript-based frontends.
Working with Sanity in an Astro project feels clean and predictable in a way that querying WordPress’s REST API does not.
// Sanity query — typed, readable, powerful
const posts = await sanityClient.fetch(`
*[_type == "post" && featured == true] | order(publishedAt desc) {
title,
slug,
excerpt,
"author": author->name,
publishedAt
}
`);
Content Modelling Freedom
Headless CMSes let you define content models that match your actual data, not what a blogging platform was designed for. A real estate site with complex property schemas, a recipe site with structured ingredient data, or an e-commerce product catalogue with variant management — all are modelled cleanly in a headless CMS without plugin dependencies.
The Case For Traditional CMS (WordPress)
Let’s be balanced. WordPress still powers over 40% of the web for good reasons.
Lower Total Cost for Simple Sites
For a straightforward business website with a blog, the total cost of a well-built WordPress site is often lower than a headless equivalent. You don’t need a separate frontend deployment, API costs, or developer involvement for content updates.
Mature Ecosystem
Thousands of plugins, themes, and integrations exist for WordPress. Payment processing, membership management, e-commerce, booking systems, event management — almost anything you need has a mature WordPress plugin.
Non-Technical Content Editing
The WordPress block editor (Gutenberg) is genuinely good for non-technical users who want layout control — not just content entry. Editors can build complex page layouts without touching code.
Headless CMSes are excellent for structured content entry, but less suited to freeform page building. (This gap is narrowing with tools like Sanity’s Page Builder and Contentful’s Compose product.)
Existing Team Knowledge
If your internal team or your client’s team already knows WordPress, there’s real value in that familiarity. Introducing a headless CMS requires training and a learning curve.
The Decision Framework
Use headless when:
- Performance is critical and non-negotiable
- Content needs to be delivered to multiple platforms (web + app + other)
- You’re building with a modern framework (Astro, Next.js, SvelteKit)
- The content model is complex or highly structured
- You want to own the frontend completely without theme constraints
Use traditional CMS (WordPress) when:
- The client has an existing WordPress site and team knowledge
- Budget is constrained and a custom frontend isn’t justified
- Non-technical users need full page-layout control
- Plugin requirements (WooCommerce, booking systems) are central to the project
- Time-to-launch is the primary constraint
Our Current Default
For new builds, we default to Astro + Sanity. The performance baseline, content modelling flexibility, and developer experience make it the right choice for most of our client projects.
We still build and maintain WordPress sites — particularly for clients with existing installations, e-commerce requirements via WooCommerce, or where the editorial experience is the priority.
The right answer always depends on the specific project, the client’s team, and the long-term maintenance picture. Architecture decisions made at the start of a project echo for years. Take them seriously.