Headless & API
Headless CMS vs traditional CMS: differences and when to switch
Headless vs traditional CMS is the choice between a content management system that stores content and also renders the website from its own templates, and one that only stores content and delivers it through an API to a separate front end that builds the pages. Traditional systems are also called coupled or monolithic.
Last reviewed October 12, 2026 · 7 min read
On this page
WordPress with a theme is the familiar traditional example: the same application editors write in also turns each post into HTML. Ahrefs sums up the difference in one line: "In a traditional CMS, all your content, code, and design live in one place." A headless CMS such as Contentful, Sanity or Strapi has no theme at all, and WordPress itself can run either way.
Coupled, decoupled and headless
Three setups are in use, and vendors draw the lines between them differently.
- Coupled (traditional, monolithic). One application stores the content, holds the templates and returns finished pages. WordPress with a theme and Drupal are the standard examples.
- Decoupled. Backend and public front end are separate deployments, but the CMS still ships a presentation layer you can use, for previews or part of the site.
- Headless. The CMS has no presentation layer. It answers API requests with content, usually as JSON, and every page is built by code you own.
The labels matter less than one question: which system produces the HTML that visitors and search engines receive? In a coupled setup it is the CMS; in the other two it is a front end somebody has to build and maintain.
Headless CMS vs traditional CMS compared
| Traditional (coupled) CMS | Headless CMS | |
|---|---|---|
| Who builds the pages | The CMS, from a theme or templates | A separate front end, such as a Next.js or Astro app |
| Editing | An editor that looks close to the live page | Structured fields; the look depends on the front end |
| Preview | Built in | Has to be wired between the CMS and the front end |
| SEO basics | Theme and SEO plugin output titles, canonicals and sitemaps | The front end has to output every tag, file and status code |
| Extensions | Plugins, many usable without code | Code; each integration is development work |
| Channels | Mainly the one website | Any client that can call the API: site, app, email, screens |
| Hosting | One application to host and update | A CMS, often a hosted service, plus a front end to build and deploy |
| Team | Can be run by people who do not code | Needs developers for the front end and every change to it |
| Speed | Depends on theme and caching | Depends on the rendering choice; not automatically faster |
Speed is the row most often misread. In a Search Engine Journal discussion of headless SEO, Loren Baker described the misconception that "just utilizing a headless means that it's automatically going to be faster". A front end that renders on the server or at build time can be very fast; one that assembles every page in the browser is not. The comparison of static vs dynamic websites walks through those options.
When a traditional CMS is the better choice
For a single website run by a small team, it usually still is. Search Engine Journal's comparison puts the case plainly: "A traditional CMS will set everything up quickly and allow you to manage sites through a single source interface."
It wins when there is one website and no other channel, when the people who publish are not developers, and when nobody is budgeted to maintain a front end after launch. Editors get previews, scheduling and forms without a ticket, and an SEO plugin covers titles, canonicals and sitemaps. A plugin is not the whole job, as the post on the gaps WordPress SEO plugins leave argues, but on a headless site even that floor has to be built by hand.
When a headless CMS is the better choice
Headless earns its cost when the front end is the point. If you already run a Next.js or Astro application with its own design system and performance budget, a theme is an obstacle, and a content API slots into the code you have.
It also wins when the same content has to reach more than one place. Search Engine Journal's example is that "a headless CMS can be used to power a website, a mobile app, and even a smartwatch app." Content stored as typed fields can feed all of them, and the same structure makes a headless CMS a natural source for programmatic SEO.
The cost is real. Ahrefs lists the main disadvantage directly: "these systems are more complex than traditional CMS solutions. They require a lot of resources to build and maintain." It adds that it is "difficult for non-technical teams to get started with headless."
What changes for SEO
Google ranks the HTML your server returns, not the CMS behind it. What changes in a headless setup is who produces that HTML. Ahrefs' warning is that "you'll be 100% responsible for everything to do with your SEO setup": the titles, canonicals, sitemaps, structured data and redirects a theme and plugin used to output.
Rendering matters most. Google renders JavaScript, but it still advises that "server-side or pre-rendering is still a great idea because it makes your website faster for users and crawlers, and not all bots can run JavaScript." The page on headless CMS SEO lists everything the front end takes over, with a checklist.
The hybrid: WordPress as a headless backend
You do not have to give up WordPress to go headless. Its REST API exposes posts, pages, media and taxonomies as JSON, and the WordPress handbook describes the use case: you can "build a brand new interactive front-end experience, or bring your WordPress content into completely separate applications." Editors keep wp-admin and its plugins for content, while a Next.js or Astro front end renders the public site.
It carries the trade-offs of both sides: two systems to run, plus the work of getting links, media and SEO fields from the CMS host onto the public domain. Headless WordPress covers that setup, and the Next.js CMS comparison sets it against Payload, hosted headless systems and Markdown in the repository.
When to switch, and when not to
Switch when a front-end team exists and the theme is what slows it down, when the same content has to reach an app or a second site, or when pages are generated from structured data at a scale a theme handles badly.
Stay where you are when headless mainly sounds modern, when the goal is speed alone (caching usually fixes that first), or when no developer will own the front end after launch. A migration also means rebuilding what the old system did quietly: templates, redirects for changed URLs, SEO tags, sitemaps, previews and archives.
How Structura handles this
Structura is not a general-purpose CMS, but it fits on both sides of this choice. On a traditional WordPress site, the plugin publishes native Gutenberg posts and your theme renders them. If WordPress is your headless backend, the plugin's headless mode keeps publishing native posts while pointing internal links and channel shares at your public domain instead of the CMS host.
Without WordPress, a headless space makes Structura the backend. It stores the posts and serves them from a public Content API with three read endpoints: the post list, a single post, and category and tag terms. Each post arrives as sanitized HTML or structured blocks, with meta fields, images with dimensions and JSON-LD. Your front end still chooses the rendering mode, writes the head tags and handles redirects. On paid plans, article delivery can instead send each published post to an HTTPS endpoint you build.
It has no connector for other headless CMSs such as Contentful, Sanity or Strapi, and it does not host your front end. The API-first CMS page shows the response contract and a Next.js example.
FAQ
What does headless CMS mean?
A headless CMS is a content management system without a front end. The "head" is the presentation layer that turns stored content into web pages; a headless system removes it and serves content through an API, so a separate application, such as a Next.js site or a mobile app, fetches and renders it.
Is Strapi a CMS?
Yes. Strapi describes itself as an open-source headless CMS built on JavaScript and TypeScript. You host it yourself or on Strapi Cloud, model your content types in it, and fetch the content over its REST or GraphQL APIs. Like any headless CMS, it renders no public pages itself.
Which headless CMS is the best?
There is no single best one; it depends on who edits and who builds. A developer-led team, a marketing team that wants a familiar editor, and a team with nobody to write the posts each need something different. The Next.js CMS comparison sorts the common options by those questions.