What is a Headless CMS?


The differences between a “headless” and traditional CMS and why you might want one.


The term “headless CMS” seemingly came out of nowhere this year, and suddenly a number of organizations released a “headless” version of their software. I’ll explain quickly what this term means and why it matters. At the end of the post, which you should skip, I’ll talk about the history behind the term and why it makes no sense.

In terms of websites, a headless CMS is a content management system that doesn’t come with a way for your website visitors to see any content you’ve added in the CMS administration.

It is not as ridiculous as it sounds.

Traditional content management systems, like WordPress, Drupal, Kentico, etc., all come with pre-built themes, plus ways to build your own custom themes. You, the website owner, make all your content edits, new pages, etc. in the administration area of your website. The CMS then shows that content to the public inside whatever theme your website uses. The CMS administration and the public-facing side of your website are all the same system – WordPress, Drupal, etc.

A headless content management system doesn’t have that second part. It is simply the administration area – a way for you to edit your content. How you want to display content to the public is totally up to you.


Why on earth would I want to do this?

Good question, section heading. The main advantage is separation of concerns. How you manage your website content is in no way related to the code that displays the content. This means:

  • Your administration tool can be on one server and your public website on another.
    • This is great for security and portability from web host to web host. Some enterprise-level CMS platforms provide various ways to accomplish this separation as well.
  • You can write your public website in any language.
    • Maybe you don’t care, but your IT team might. Picking WordPress, for example, means your entire website (administration and public site) is written in PHP. With a headless CMS, the public website can be whatever language you want since it’s not tied to the administration tool.
  • The public website can be very lightweight.
    • One popular option with a headless CMS is a static website generator. Once you finish some edits on your website, you click a button, and a program puts all your content into simple HTML/CSS files, and those files are uploaded to the server. Serving HTML/CSS files is extremely simple (and cheap).
    • Contrast this with a traditional CMS where your public website must have a number of PHP or .NET files plus a database.
  • It can be much easier to scale up your website for heavy traffic or worldwide usage.
    • See the point above. Your public website can be extremely simple, code-wise. Distributing the content around the world on a content delivery network, or adding cloud servers to a pool to load balance your site, can be far, far easier than doing so with a traditional CMS.
  • Security maintenance can be greatly reduced
    • Some traditional CMS platforms need constant patches and upgrades. With a simple public website and an administration safely inside a corporate network (or SaaS-based), security maintenance can be less frequent. Plus, any CMS upgrades have a much smaller chance of affecting the public website.


The term “headless” and how they’re using it wrong

Originally, the term “headless” in computing meant “a computer without a monitor.” (Back when desktop machines were prevalent, the anthropomorphized computer had no head…) A server that didn’t have a monitor connected to it was headless, and users connected to the server over the network. There was just no need to put a monitor on a computer that nobody would ever sit down in front of.

Then, somebody took that term and applied it to software. “Headless software” became the term for programs that didn’t have an interface to look at. Let’s say you have a program on your computer that sends text messages… that’s all it can do. It can’t receive them; it can’t edit them; it just sends. You type “text mom happy birthday” and it fires off a text. That’s headless software… there is nothing for you to see.

I guess I can give them this one. The program itself has no real need for a monitor, so you could say it’s the same general idea as a headless computer.

More recently, someone decided this term should also apply to the newest trend in content management systems. The headless CMS still has a graphical interface for the administrator, but it doesn’t have one for the end user (website visitor). Calling it headless is a stretch, in my opinion. It’s “headless” in the same way I am childless. I have a child, but only one. So… childless.





Jeff Robertson

Jeff Robertson is a digital marketer and an online development expert with experience stretching back to dial-up. He is partner and Chief Technology Officer at Carbon8, where he helps bridge the gap between the technical and marketing worlds, as well as oversees technical infrastructure.

share this