Skip to content
nextjsarchitectureguides

Next.js in Production: When Headless Is Worth It (and When It Isn't)

Shakewell ·

Headless gets pitched as an upgrade. It isn’t — it’s a trade. You give up an integrated system where content and presentation live together, and in exchange you get control over the front end and a much smaller attack surface. Sometimes that trade is obviously worth it. Often it isn’t, and the projects that regret it are the ones that never framed it as a trade at all.

Here’s what we’ve found running Next.js in production, and the questions we ask before recommending it.

What headless actually buys you

A front end you fully control. With a traditional CMS, the page is assembled by the platform and you work within its rendering model. With Next.js in front, the page is yours — every byte, every request, every interaction. That matters most when performance is a business requirement rather than a preference.

A dramatically smaller attack surface. This is the benefit teams underrate. A traditional CMS runs application code at the moment a visitor requests a page. A statically rendered front end doesn’t — there’s often nothing executing on the public origin at all. The admin interface, if it exists, is somewhere else entirely and not exposed to the internet.

One backend, several front ends. If a website, a mobile app and a partner integration all need the same content, headless stops you maintaining it three times. This is usually the strongest argument for it, and the one most often left out of the pitch.

Editor workflows that survive redesigns. Content modelled as structured data rather than pages rendered in a page builder outlives its own presentation. Redesign the front end and the content is untouched.

What it costs

Live preview stops being free. In a traditional CMS, an editor clicks preview and sees the page. In a headless setup, preview has to be built — draft-aware rendering, a preview route, some way of authenticating it. It is entirely solvable and consistently underestimated, and it is the single most common source of editor frustration after a headless launch.

Two systems instead of one. Two deploys, two sets of dependencies, two places a problem can live. Small teams feel this constantly.

No plugin ecosystem. In WordPress, a form, a redirect manager or a related-posts block is an afternoon. Headless means building it or buying a service. The ecosystem you leave behind was doing more work than it looked like.

Content modelling becomes a real design task. The page builder let people improvise. Structured content requires deciding what things are before anyone writes. That’s better engineering and slower to start.

The decision framework

Five questions, in order.

1. Who edits it, and how often? Marketers publishing weekly with no developer available push hard toward a traditional CMS — unless you’re prepared to build the preview and editing experience properly. Content that changes rarely, or is maintained by technical people, removes most of the objection.

2. Is the front end a genuine requirement or a preference? “We want it fast” is a preference. “Our conversion rate drops measurably above two seconds and we have the data” is a requirement. Only the second justifies the extra architecture on its own.

3. How many surfaces consume this content? One website is weak grounds for headless. A website plus an app plus a partner feed is strong grounds — you’re not choosing headless, you’re acknowledging you already have an API.

4. Is there real application behaviour, or just pages? Accounts, dashboards, permissions and personalised logic point to a framework regardless of the content question. Western Sydney University’s Western Edge platform is a Laravel backend with a Next.js front end because its core is personalised logic — recommendations, badges, permissioned alumni pathways. No CMS does that natively, so the decision was made for us.

5. Who maintains it in year three? The honest one. A headless build with nobody to maintain it decays faster than a monolith with the same neglect, because there are two systems to fall behind instead of one.

When we say don’t

A brochure site for a small team with no in-house developers. A content-led marketing site where the bottleneck is publishing speed, not rendering speed. Any project where the deciding argument is that headless is modern.

For those, WordPress with a well-built theme delivers more, sooner, and stays maintainable by the people who actually own it. We say this often enough that it’s worth stating plainly: most sites don’t need headless, and recommending it anyway is how agencies build things clients can’t keep.

What we did with our own site

This site is statically rendered. There’s no CMS behind it and no application code running when you load a page — content lives as files in the repository, and a build turns them into HTML.

That’s a defensible choice for us for reasons that mostly don’t apply to our clients: the people editing it are developers, the content changes when we decide it does, and we wanted the security surface of a site with no runtime.

The part that does generalise is what we insisted on during the migration. Every URL from the previous WordPress site had to keep resolving, enforced by a check that fails the build if any legacy URL 404s. That discipline matters far more than the architecture — a headless rebuild that quietly drops your URLs is worse than the CMS it replaced.

The short version

Headless is right when you have multiple consumers of the same content, genuine application behaviour, or performance requirements you can evidence. It’s wrong when the real reason is that it sounds better than the alternative.

If you’re weighing it up, we’re happy to talk it through — we build both, so we don’t have a horse in the race.


Related: Next.js development · Website development · Laravel vs WordPress for business platforms

Start a conversation

Start a conversation

Tell us what you want to build, fix or scale — we’ll come back with a clear way forward.