Headless CMS

First of all, let’s have a look at what the cryptic letters CMS is short for:

  • Content Management System.

Now, let’s have a look at the Wikipedia definition of headless when it comes to computing and software:

  • A server with no monitor, keyboard or mouse attached.
  • Software capable of working on a device without a graphical user interface.
  • A browser without a graphical user interface.
  • A backend-only Content Management System that employs APIs to display content.

By combining these two definitions, it’s becoming clearer what a headless CMS actually is.

The definition

A headless CMS is a Content Management System, most commonly used for websites, that does not provide a graphical user interface for displaying the content to end users – only for editing and managing it.

The longer explanation

For this explanation we’ll be using WordPress as the definition of a traditional CMS. It’s widely used and a CMS that most web developers have some kind of experience with or knowledge of.

Most commonly still, WordPress provides a graphical user interface for both managing the content and displaying it to the visitors of a website.

When you install WordPress and start using it, you’ll have everything you need for presenting your beautiful website to your visitors:

  • A graphical user interface for managing your content.
  • A graphical user interface for serving your content to your visitors.

In contrast, if you installed a headless CMS like Strapi, you’d only have the first part: A graphical user interface for managing your content. How you actually serve it to your visitors is totally up to you.

Typically, a frontend developer would create a website using Next.js, Gatsby, Astro or one of the many other options available for consuming the Strapi API and serving the content to your visitors.