Skip to content
CMS

Best CMS Options for Agency Marketing Sites

What to pick when the client needs to update content without breaking things

I've built CMS-backed marketing sites in Webflow CMS, Next.js with MDX, and headless setups. The right choice depends on how technical the content team is, how custom the design is, and how often the content changes. Here's the breakdown.

The Tools
Webflow CMSRecommended
Visual CMS

Design + CMS in one — best when the client wants to manage their own content

Webflow CMS is the right call when the client is non-technical and you want them to update blog posts, team members, or service pages without a developer. The visual editor means they won't break the layout. The limitation is the page count on lower plans and the learning curve for the builder itself. It's a solid pick when a non-technical client needs to manage all content independently.

SanityRecommended
Headless CMS

Structured content with a customisable editing studio

Sanity is the right choice when you need structured content that drives a custom-built frontend. GROQ queries are powerful for complex content relationships. The Studio is customisable enough to match client workflows. The free tier is generous. The setup cost is higher than Webflow — budget an extra day for schema design and Studio configuration.

Contentful
Headless CMS

Enterprise headless CMS — established, well-documented, pricey

Contentful is mature and stable. The content model is flexible, the API is well-documented, and it integrates cleanly with Next.js. The pricing is aggressive for small teams once you need multiple locales or advanced content management. For agency work on well-funded clients, it's a safe choice. For lean startups, look at Sanity first.

Next.js + MDX
Code-based CMS

Markdown files in the repo — best for developer-authored content

If the content authors are developers, MDX in the repo is the simplest CMS — no external service, no API, version-controlled, deploys with the site. This is what most developer blogs and documentation sites use. Falls apart when non-technical clients need to publish content without a Git workflow.

The Verdict

Non-technical clients who edit their own content: Webflow CMS. Custom frontend with structured content: Sanity. Enterprise budget with existing Contentful investment: Contentful. Developer-authored content only: MDX in the repo. The mistake is defaulting to headless when Webflow CMS would serve the client better — and defaulting to Webflow when the design requires a custom-built frontend.

In detail

How to actually choose: start from who edits, not what's trendy

Pick the CMS for the person who touches content most, not the engineering team that builds the site once and walks away. Three questions, in order:

  1. Who publishes day-to-day? A marketing hire who's never opened a terminal needs a visual editor. A developer maintaining a docs site is fine with files in a repo.
  2. How custom is the design? A bespoke Next.js layout takes a headless CMS feed cleanly. A design that lives inside the builder is better off in a visual CMS.
  3. How often does content change? Monthly tolerates a Git workflow; weekly needs a publish button non-developers can press without you.

When those point in different directions, the editor's comfort wins. A perfect headless setup the client is scared to touch becomes a support ticket on every typo — and you become their unpaid CMS.

Criteria that matter — and ones that don't

Most CMS comparison checklists rank the wrong things. What actually changes the outcome:

Worth weighing heavily:

  • Editing experience for the real author. Sit the content person in front of the editor before you commit. Can they add a post, swap an image, and reorder a section without help? That's the whole job.
  • Content modeling fit. Structured content pays off when repeated types — team members, case studies, locations — are reused across pages. For a five-page brochure site, rich modeling is overhead you'll never recover.
  • Total cost at the plan you'll actually hit. Read the tier above the one you start on. Locales, extra editors, and item limits are where headless pricing bites.
  • Exit cost. Content you can export as JSON or Markdown is content you own. Check this before you pour 80 posts in.

Mostly noise: raw feature counts, benchmark query speeds (pages are static or cached, so the API isn't on the visitor's critical path), and "enterprise-grade" framing — usually a sales call and a higher floor price, not a better small site.

Common mistakes that cost a rebuild

The expensive errors aren't picking the "wrong" tool — they're structural:

  • Defaulting to headless because it sounds serious. A non-technical client with a templated site rarely needs GROQ queries and a custom Studio. You'll spend a day on config they never asked for, and they still can't publish without you.
  • Defaulting to a visual builder when the design demands a custom frontend. If the brand needs precise, code-controlled UI, fighting a builder's constraints costs more than wiring a headless CMS to a Next.js front end.
  • Modeling content like a database instead of like pages. Over-normalized schemas force editors across six linked documents to publish one post. Model around how someone writes, not how the data normalizes.
  • No staging or preview. Editors will publish straight to production eventually. No draft path is a customer-facing typo waiting to happen.
  • Skipping the handoff. A CMS the client can't operate fails in month two. Budget a short walkthrough and a one-page "how to publish" doc as part of delivery.

When a simpler, cheaper option is enough

Plenty of marketing sites are over-tooled. Match the floor to the actual need:

  • Authors are developers? Markdown or MDX in the repo is the simplest CMS there is — version-controlled, no external service, no API, deploys with the site.
  • Small site, infrequent edits, non-technical owner? A visual CMS earns its keep: the owner manages their own copy without breaking the layout, and you're not on retainer for content changes.
  • Custom frontend with reusable content types? That's where a headless CMS pays for its setup cost — and even then, budget an extra day for schema and Studio work.

My own portfolio runs content from typed data files in the repo, no CMS at all, because I'm the only author. The same logic scales down for clients: I've shipped products on React + Supabase (Pizzeria Bestek) and React + Firebase (Callidus) where the data layer doubled as the content store, and a separate marketing CMS would have been one more moving part nobody needed.

The honest rule: add a CMS when a non-developer needs to publish without you. Until then, files in the repo ship faster and cost less to run — part of why this focused approach lands without the overhead of an agency carrying the extra tooling.

Related

Want this stack built for you?