How to Choose a Content Management System (and Why Content Modeling Matters)
How to choose a content management system: pick the CMS category first, then map content types, references, and cost before you sign anything.
Choosing a content management system comes down to one question most shortlists skip: what does your content actually look like? A blog is one content type. A product catalog with variants, a docs site with versions, and a marketing site with reusable sections are each a different shape. Pick the CMS category first: traditional, headless, or a page builder. Then check whether it can model your actual content types, before price or plugin count enters the picture.
Examples of content management systems span three real categories. WordPress and Drupal are traditional CMS: content and presentation live in one system. Contentful, Sanity, Strapi, and Draftbase are headless CMS: content comes out over an API, and a separate frontend renders it. Webflow and Squarespace are page builders: visual design and content live together, built for speed over structure. Each category answers a different question, and picking the wrong category costs more than picking the wrong vendor inside the right one.
Start with your content model, not a feature list
Most CMS shortlists start with a feature table: SEO tools, integrations, price tiers. That's backwards. The trait that actually decides whether a CMS fits is whether it can represent your content the way your content actually works.
A content model is the set of content types your site needs, the fields each one has, and how they reference each other. A blog post has a title, a body, an author reference, and tags. A product has a name, a price, a set of variants, and a category. If you haven't written this down before touching a vendor's pricing page, you're evaluating tools against a content shape you haven't defined yet.
This matters because content modeling is where CMS platforms actually diverge. Two headless CMS products can look identical on a feature comparison chart. They behave in different ways once you try to model a product catalog with 40 SKU variants, or a docs site that needs dated versions. The gap shows up in the modeling layer, not the marketing page.
How to choose a content management system
Map your content types before you look at vendors
List every distinct kind of content your site needs. Blog post, product, author, landing page, FAQ entry, whatever applies. For each one, note the fields it needs and what it references. A landing page that links to three products needs a reference field, not a copy-pasted product name. Do this before opening a single vendor's site. It's the one step every rushed CMS evaluation skips. It's also the step that prevents the costliest mistake. Teams pick a platform, then find out six months in that it can't model a relationship the content needs.
Decide UI-based or code-based modeling
Some tools let a non-developer build content types through a visual builder. Others define the schema in code, reviewed like any other pull request. Neither is wrong, but they suit different teams. A marketing-led team without a coder on every content change benefits from a UI builder. A dev-led team benefits from schema-in-code. It stays in version control, and gets reviewed with the same rigor as the rest of the codebase.
Check how deep references and relationships go
A product linked to a category is one level deep. A product linked to a category that's linked to a set of filter traits is two. Test this before committing. Build the deepest reference chain your content model actually needs, in a trial account. See whether the CMS handles it cleanly, or forces a workaround.
Confirm the delivery API matches your frontend
A React or Next.js frontend wants a delivery API with cursor pagination and typed responses. Not a raw database dump. Check whether the CMS ships REST, GraphQL, or both. Check for a typed SDK too, so a field rename shows up as a compile error, not a runtime crash six weeks later.
Price the actual usage, not the entry tier
CMS pricing hides its real number behind seats, API calls, or both costs stacked. A five-person team on a per-seat plan pays a fixed monthly number. It doesn't move with content volume. A usage-based plan can be cheap at launch, and costly the month a campaign triples traffic. Model both against your actual expected usage, not the number on the pricing page's first tier.
Trial it with real content, not the demo data
Every CMS demo looks clean with sample blog posts. The real test is loading your actual content model, references and all, and seeing what breaks. A relationship that seemed simple on a whiteboard sometimes turns out to need a workaround the vendor's docs don't mention until you hit it. How to Choose the Best Headless CMS covers a matching evaluation framework, once the category is narrowed to headless.
Where content modeling determines the CMS, not the reverse
The most common mistake in CMS-selection guides is this. Teams design the content model around one page layout, instead of the content itself. A content type built to match one landing page's design becomes unusable the moment a second page needs the same content in a different layout. Schema-driven content modeling treats content types as data first, presentation second. That's what lets the same product entry work on a product page, a search result, and an email. No duplicate copies of the same facts.
The second most common mistake is field duplication: adding a new field to a content type when an existing field elsewhere already covers it. Every duplicate field is one more place content can drift out of sync, and one more thing an editor has to remember to update twice.
What breaks when the content model gets ignored
Most CMS regrets show up the same way. A content type built for one page starts getting reused where it doesn't fit. A "Homepage" content type ends up with fields like heroTitle and sidebarCTA baked into the schema. Six months later, a second landing page needs the same hero section. The fix is a copy-pasted content type, or a schema change nobody budgeted time for.
The tell is field names that describe layout, not meaning. heroImageDesktop is a layout name. featuredImage is a content name that survives a redesign. A CMS that lets a team name fields either way won't catch this for you. The discipline has to come from whoever writes the schema. Check during a trial whether the vendor's own docs and starter templates model content this way, or whether their examples repeat the same mistake.
This is also where the UI-based versus code-based choice from earlier pays off or costs you. A schema reviewed in a pull request gets a second set of eyes before a layout-named field ships. A schema built through a visual UI with no review step doesn't catch it. The mistake compounds every time a new editor copies the pattern already in use.
CMS examples by category
Traditional: WordPress, Drupal, Joomla. Headless: Contentful, Sanity, Strapi, Draftbase, Payload. Page builder: Webflow, Squarespace, Wix. A single platform sometimes spans categories. Drupal now offers a headless mode, so check how a vendor actually ships content, not just what marketing calls it.
The underused angle: 30.6% of the web runs no CMS at all
According to W3Techs, roughly 30.6% of all sites run with no CMS at all. They're hand-coded, or built with a static generator alone. That's worth naming before any CMS comparison: the first real question isn't which CMS to pick, it's whether the site needs one. A five-page marketing site with no editorial cadence may not need a CMS at all. A site publishing weekly, with multiple editors and a content model that will grow, almost always does.
Conclusion
Choosing a CMS starts with the content model, not the feature list. Map your content types. Decide whether UI-based or code-based modeling fits your team. Test the actual references your content needs before signing anything. Draftbase's schema-driven templates let you define that model in typed fields from day one. The free Hobby tier lets you test the fit against real content before committing to anything bigger.
How to
- 1Map your content types before you look at vendors
List every distinct kind of content your site needs, the fields each one has, and what it references. Do this before opening a single vendor's pricing page.
- 2Decide UI-based or code-based modeling
A UI builder suits a marketing-led team without a developer on every change. Schema-in-code suits a dev-led team that wants version control and code review on the content model.
- 3Check how deep references and relationships go
Build the deepest reference chain your content actually needs in a trial account and see whether the CMS handles it cleanly or forces a workaround.
- 4Confirm the delivery API matches your frontend
Check for REST, GraphQL, cursor pagination, and a typed SDK so a field rename shows up as a compile error, not a runtime crash.
- 5Price the actual usage, not the entry tier
Model both per-seat and usage-based pricing against your real expected traffic and editor count, not the number on the first pricing tier.
- 6Trial it with real content, not the demo data
Load your actual content model, references and all, into a trial account and see what breaks before committing.
Ship content that's built to be found
Draftbase generates schema, structured data, and a fast MDX editor for every post.
Frequently asked questions
What is the first thing to check when choosing a content management system?
The CMS category: traditional, headless, or page builder. Each represents content differently, and picking the wrong category costs more than picking the wrong vendor inside the right one.
What are examples of content management systems?
Traditional: WordPress, Drupal, Joomla. Headless: Contentful, Sanity, Strapi, Draftbase. Page builders: Webflow, Squarespace, Wix. Some platforms, like Drupal, now span more than one category.
Why does content modeling matter when choosing a CMS?
Because CMS platforms that look identical on a feature comparison chart behave differently once you try to model real relationships, like a product catalog with variants or a docs site with versions. The gap shows up in the modeling layer, not the marketing page.
Should a CMS use UI-based or code-based content modeling?
It depends on the team. A UI builder fits a marketing-led team without a developer on every content change. Schema-in-code fits a dev-led team that wants the content model version-controlled and code-reviewed.
Does every website need a content management system?
No. Roughly 30.6% of all websites run with no CMS at all, per W3Techs. A small site with no editorial cadence may not need one; a site publishing regularly with multiple editors almost always does.