Every headless CMS demo looks identical: a beautiful editor, a snappy API, and a confetti of integrations. The differences that actually decide a project live in the boring parts — content modelling freedom, preview workflows, and what happens when the team grows.
The three decisions that matter
Decision one is data shape. Can you model relationships the way your content actually relates, or do you flatten everything into folders and tags? Decision two is preview. Editors need a preview that runs their real front end, not a mock. Decision three is exit cost — what you keep if you leave.
If your editors can't preview it in one click, your 'headless CMS' is a ticket queue in disguise.
{
// A content model that matches editorial reality
"article": {
"title": "string",
"body": "portableText[]",
"author": "ref(person)",
"related": "ref(article)[]",
"preview": "ref(studio)"
}
}The pragmatic checklist:
- Structured content with custom types, not just rich text.
- Editor preview wired to your deployed front end.
- A migration path for content when you outgrow the tool.
Pick the CMS you'll still be comfortable arguing about in three years. The demo confetti always fades.