0%

WordPress vs. headless — the difference in practice

Headless gives you freedom by taking things apart. But whatever you take apart has to be put back together again.

If the answer is "we'd like Next.js because it's more modern," you haven't identified a business problem. You've identified a technology preference.

Headless usually gets sold as the modern choice – faster, more flexible, future-ready. That's rarely wrong in itself. It's just not the answer to what most questions about headless are actually about.

The interesting question isn't whether something can be done. It's what it costs to get it working properly.

What does headless actually mean?

In ordinary WordPress, editing and presentation are one system. The editor writes in wp-admin, the theme knows how it should look, and WordPress itself generates the page the browser sees.

Headless splits the two apart. WordPress becomes the place where content is created and managed, but not the system that builds the finished website. The content is delivered through an API to a separate frontend, often built in something like Next.js or Nuxt, which decides how it's displayed.

Traditional CMS architecture with backend and frontend combined into one, compared to a headless CMS, where the backend delivers content through an API to several separate frontends

What do you already get with ordinary WordPress?

It's easy to cast traditional WordPress as the old-fashioned opponent headless is supposed to defeat. That's a poor starting point for the conversation, because WordPress has one architectural advantage bigger than most discussions give it credit for: it holds together.

The editor writes content. The theme knows how it should be displayed. WordPress generates the page. Preview is part of the same chain, because the theme handles both the public page and the view the editor is working against. Plugins can hook into the entire chain – from a field in the editor to something that actually shows up on the page.

That's not just simpler. It's less integration. There are fewer places where something can drift out of sync with something else.

Headless doesn't remove that connection. It turns the connection into something you have to define and maintain yourself.

When does the separation actually make sense?

Three patterns tend to recur when separating things actually makes sense.

  1. The same content across multiple channels. An article, a product or a campaign needs to appear on the website, in an app, and maybe on a screen system in a shop – each with its own look. WordPress needs to deliver the content to all three, without itself deciding how it looks in any of them.
  2. The frontend needs to be developed and deployed independently of the CMS. The frontend team works in a completely different stack from PHP and WordPress themes, with its own release rhythm, and doesn't want to be tied to how WordPress builds pages.
  3. The CMS is one data source among several. The frontend doesn't just pull WordPress content – it assembles product data, user data, search results and CMS text from different systems. In that case, it's not natural for WordPress to also own the presentation layer.

That's headless as an architecture, not as "WordPress with a modern frontend."

What about performance?

Performance is often cited as the argument for headless, and it's worth being precise here, because the claim rarely holds up the way it's presented.

A well-configured WordPress site isn't slow because it's WordPress. With full-page caching, a reverse proxy and a CDN, a large share of traffic can be handled without PHP or the database ever being touched. And a heavy frontend built in React can easily end up slower for the visitor than a simple, well-cached WordPress theme. The architecture isn't a performance score on its own.

The real argument is a different one: the separation opens up different options for deployment, caching and scaling – not because headless is automatically faster, but because frontend and backend can be built, cached and scaled independently of each other.

What does the separation cost?

The frontend becomes its own software project. Not necessarily built from scratch – there are frameworks, component libraries and design systems to build on – but it has to be built, deployed and maintained as its own project, with its own infrastructure around it.

WordPress's plugin ecosystem doesn't necessarily hold up either. An ordinary plugin often adds functionality both in the backend and on the page itself. In a headless setup, the backend part can work fine while the frontend part becomes useless, because there's no WordPress theme for it to hook into. You can't simply assume that the ecosystem that makes WordPress fast to build with works the same way here.

And some of what the editor used to experience as one system becomes several things, each of which now has to work on its own and together: preview, navigation, forms, search, redirects, SEO fields. None of it disappears. But someone now has to make sure it works across the boundary between the CMS and the frontend, instead of it simply being how the system worked.

Security and vendor lock-in

Two other arguments come up often, and both deserve the same sober look as performance.

Security isn't a question of WordPress versus headless – it's a question of attack surface. The vast majority of WordPress vulnerabilities sit in plugins and themes, not in the core itself, which is updated continuously and quickly for security holes. A headless setup doesn't remove the plugin ecosystem, it just changes where it operates: the backend part of a plugin is still code that can have vulnerabilities, whether the frontend is a WordPress theme or Next.js. What headless actually gives you is a smaller public surface – wp-admin doesn't need to be reachable from the internet when the frontend doesn't depend on it at runtime.

Vendor lock-in isn't about whether you can switch CMS – you can with either architecture. The difference is what comes along with that switch. In ordinary WordPress, content, theme and presentation are woven together, so a CMS switch usually means the frontend has to be rebuilt too. With a headless frontend that already fetches its content through an API, the switch itself is smaller: the content layer can be swapped out without the frontend necessarily needing to be rebuilt from scratch – provided the new source can deliver data in a format the frontend already understands.

It doesn't have to be all or nothing

WordPress can, for example, deliver content through its API to an app, while the website itself keeps running on an ordinary WordPress theme. That's a hybrid solution: most of it stays as it was, and only the part that actually needs the separation gets it.

That can be a more pragmatic path than making the whole solution headless from day one. You get to use WordPress as a content source where it makes sense, without taking on the complexity across the entire site.

So when would I choose what?

Three questions are more useful than one.

Does the same content need to be used across several different products or channels? Does the frontend need to be developed and deployed independently of WordPress? Does the organisation have the development capacity to own two separate parts afterwards – not just to build them, but to run them?

If the answer is no to all three, there's rarely a good reason to split things apart. A yes isn't automatically an argument for headless either – but it's a concrete need you can start assessing the architecture against. If the answer is instead "we'd like Next.js because it's more modern," you haven't identified a business problem. You've identified a technology preference.

Headless gives you freedom by taking things apart. But whatever you take apart has to be put back together again – and that's the work that's easy to overlook when the decision gets made. It's also the part of the job I most often get called in for in my work with CMS solutions: understanding what actually holds a system together, before taking it apart.

TL:DR

WordPress holds together. Headless takes things apart.

That's an advantage if content needs to be used across multiple channels, the frontend needs to live its own life, or WordPress is only one of several data sources.

The price is more integration, more operations, and more parts that have to work together.

Headless isn't automatically faster or better. If you can't point to the specific problem the separation solves, there's rarely a reason to buy the complexity.

CMS solutions

Content systems built for the people working in them every day.

Tags_

Curriculum Vitae ↓

Profile Image

Paul Nybo Andersen

Profile_

49 years old, CTO, graphic designer, and full-stack developer (LAMP/LEMP) with 26 years of experience in developing digital solutions for a broad target group of companies.

Scroll to read more →

01_Services_

How I can help

I combine design and development into solutions that are simple to use and easy to maintain.

PHP • Laravel • MySQL • JavaScript

Web development

From database and backend to frontend, integrations and hosting.

UX • Figma • Prototypes • Testing

Web design & UX

Interface design that has to work for the user and the business alike.

Visual identity • Design systems • Print

Visual identity

Visual identity for companies that need to look like something you can rely on.

WordPress • Umbraco • Magento

CMS solutions

Content systems built for the people working in them every day.

Core Web Vitals • SEO • Caching

Performance & SEO

Websites that load quickly – including on a phone on a poor connection.

Architecture • Technology choice • Sparring

Technical consulting

For when a technical decision has to be made and you have nobody to test it against.

02_Case: Lifeguard Health ApS_

8 years with Lifeguard

CTO & Co-Founder

From 2015 to 2023, I was CTO and co-founder of Lifeguard Health ApS. Here, I worked on the development of a digital health platform that combined technology, data and personal coaching. The role included everything from product development, UX and software architecture to management of development teams, operations and business development. The eight years at Lifeguard shaped my approach to both technology, products and people and today form the foundation for much of what I work with.

Watch Lifeguard's Core-story →

Lifeguard presentation_1_4_

Slides #1 showing my last job
Slides #2 showing my last job
Slides #3 showing my last job

03_Employment_history_

My experiences

From 1999 to 2026, I have worked in different roles with design, technology, and digital business. Here are 10 snapshots of that experience — the tasks I have solved, and the skills I have used along the way.

See them as cards, or explore periods and overlap on the timeline.

Experiences_

Image from my time at ESGRapporter

2024-2026, CTO & Co-founder

ESGRapporter

Now: ESGRapporter ApS.

We built the ESG reporting platform in Laravel, and I carried the technical responsibility for the direction, the reporting side and everyth ..

Image from my time at Revolvo

2024-2026, Senior Developer • UI/UX • Design

Revolvo

Now: Revolvo Aps. + BmyGuest ApS.

I handled development, UI/UX and graphic identity. 60% of my time went to BmyGuest and IDoMeetings, which Revolvo co-owned.

Image from my time at Lifeguard

2015-2023, CTO & Co-founder

Lifeguard

Now: Lifeguard Health ApS.

I built the LifeScore platform in Laravel with consent-based access to health data and an app for the wristband, and handled all UX and desi ..

Image from my time at VitalityGuard

2016-2018, CTO & Co-founder

VitalityGuard

Now: FIDIMI

We ran the Lifeguard platform white-labelled through a joint venture with Dansk Sundhedssikring. Maersk was the biggest client.

Image from my time at ContentCPH

2010-2015, Senior Digital Wizard

ContentCPH

Now: Charlie Tango

I built 60+ Facebook apps in PHP for Samsung, IKEA and H&M. The Nik & Jay campaign for Samsung won Danish Internet Awards 2014.

Image from my time at BOCCA WIRED

2009-2010, Freelance developer

BOCCA WIRED

Now: BOCCA

I built campaign sites for Movia and the Danish Heart Foundation, among them Overraskende hurtig, which took bronze at the Creative Circle A ..

Image from my time at EuroRSCG

2008-2010, Inhouse Freelance developer

EuroRSCG

Now: Havas Danmark

I won the agency's digital work back from the competitors and built an iPhone site and interactive product tools for GN/Jabra.

Image from my time at Makazilab

2005-2006, Co-founder & developer

Makazilab

Now: MIND SWITCH

Co-founder of Makazilab, where I built the technical side of three educational concepts on intelligence types, entrepreneurship and creativi ..

Image from my time at Bandits Inc.

1999-2026, Sole proprietorship

Bandits Inc.

Now: Audiotracking v/Paul Nybo Andersen

My own sole proprietorship since 1999. Through it I have sold web development to agencies that had the graphics but lacked the developer.

Image from my time at Audio Management

1999-2003, Co-founder & Digital Director

Audio Management

Now: Audiomanagement ApS

Co-founder of Audiomanagement, where we developed SoundIdentity® — sound branding and sound design for companies like Bang & Olufsen and bra ..

Now 2025 2020 2015 2010 2005 2000

Select an experience to read more

04_Skills + Stack_

My qualifications

As shown in the previous section, I have dealt with a wide range of tasks and taken on many different job roles, ranging from sound engineer to photographer, graphic artist, web developer, and CTO. The common feature in all of them has been my passion for creating meaningful experiences and my drive to create something unique.

In my approach, I have always been open to exploring new solutions to existing challenges, and I have never been afraid to acquire new knowledge. This has resulted in a wide range of skills that I have put together over time.

I have tried to list the most relevant ones here.

Rating

- " This is what I do best".

- " I'm pretty good at it".

- " I can do this just fine".

- " It's not what I'm best at, but I can if necessary".

- " I'm not good at it - but I'm willing to learn".

05_Writing_

Notes from the work

2026-10_

A good brief makes the invisible decisions visible

"I assumed that was included."

2026-09_

Should we build AI into our product?

"We need some AI in there." That might be the right call. I'd start by figuring out which problem the technology is actually meant to solve.

2026-09_

A good design doesn't start in Figma

I can open Figma and start drawing a website right away. It's rarely a good idea. Because before I know what the page should look like, I want to know what it should get someone to do.

2026-08_

What is technical SEO – and what isn't it?

When a page isn't found on Google, it's tempting to start with the copy. But before I'd change the content, I'd make sure Google can actually find the page, read it, and understand which version should show up in the search result. That's a large part of what technical SEO is about - technical problems can stand in the way of even good content.

2026-08_

What does a website cost?

– and why are two quotes almost impossible to compare?

2026-08_

Why is my website slow?

A slow website can be a 4 MB image. It can also be 10 other things. The first question isn't what the site is built in – it's where the time actually goes.

2026-06_

Which CMS should you choose?

WordPress, Umbraco, Drupal, Shopify, Webflow, or something else entirely? My slightly annoying answer is usually: What is it for?

2026-05_

A visual identity has to work without the designer

A visual identity is easy to make look good on a screen. It gets harder when it has to go out into the real world – into a PowerPoint, onto an invoice, onto a sign someone edits themselves three years later.

2026-05_

Is my job as a graphic designer under threat?

AI-generated graphics have moved out of the computer and into the real world. The question is no longer whether AI can make graphics. It can. The question is what is then left of the graphic designer's work.

2026-04_

When should you switch CMS?

Most people ask the wrong question first. The interesting one is not which CMS is best – it is whether the CMS is even the problem.

2026-04_

WordPress — the short version

The thing that makes WordPress easy to extend is also the reason behind most of the problems you meet in older installations.

2026-03_

WordPress vs. headless — the difference in practice

Headless gives you freedom by taking things apart. But whatever you take apart has to be put back together again.

2026-02_

Sometimes I design in VS Code

Not because I have given up on Figma. But because sometimes it is faster to see whether an idea holds up in the browser than on a canvas.

2026-01_

The most expensive code is the code you never had to write

Not all expensive code is bad code. Some of the most expensive decisions I have been part of were well-written solutions to problems nobody had yet.

2025-12_

From coder to reviewer – how AI changed the workflow

In the short term, AI does not change what I know – it changes my workflow.

2025-11_

The art of inheriting a WordPress installation

8 years, 34 plugins and a theme nobody dares touch. The job does not start by fixing anything – it starts by working out what is in use.

2025-08_

Ctrl, Cmd and C#

A language is learnable. It is the domain and the codebase that take time – and two machines that cost more attention than the syntax.

2025-02_

After a bankruptcy

Valued at 35 million at its height, bankrupt in December 2023, a new company seven months later. This is what sat in between – and what I took with me.

2024-11_

The report that had to sit in reception

When we built ESGRapporter, the competition had heavier calculation engines than we did. We bet somewhere else: on what the user was left holding being worth showing to someone.

06_When I'm not working_

A bit about me

I was born and raised in Copenhagen. But after a few years living with small children in an apartment in Østerbro, my girlfriend and I chose to move to a house in the suburb. We've lived in Hellerup for 11 years now, in a less pulsating neighborhood but no further away from Copenhagen than you can hop on the bike and then you're back.

I often do the latter; it's all about inspiration and new impressions. For the same reason, I still try to combine these trips with my passion for shooting photos. But since work has always been my hobby, it has been a challenge to find a balance between leisure and work projects.

When I'm not working, I spend a lot of time playing and listening to music. Unfortunately, over time, it has mostly become listening, which has been a very expensive but also rewarding passion.

The common feature of all my passions is the desire to create something. I hope this can benefit you.

TT38 profil

+25 years of experience with digital products ↓

Available for consulting, development, digital products and technical leadership.