Headless CMSes — what they are and when to use them?

outl1ne
outl1ne
Published in
4 min readMar 8, 2021

Headless content management systems have gone from a relatively unknown solution to mainstream in just a few years, starting to gain real traction since early 2017.

This is somewhat linked to the trend of breaking down larger monolithic (web) applications to more manageable microservices. But as usual, this isn’t a silver bullet solution fitting all projects.

The rise in interest of headless CMSes

The main idea of a headless CMS is to decouple the frontend of your website from the backend, making the backend just a place to store and modify your data, which your website or application frontend can query using a RESTful API.

One of the main benefits of this approach is that your CMS and backend won’t dictate anything about what your frontend looks like or functions like. This also means you can use the technologies and frameworks that you’re most familiar with, like React, Vue or Angular. Actually, you’re not even limited to web technologies, your frontend can be a native iOS or Android app and the same approach will still work.

Headless vs traditional CMS

Let’s have a look how this compares to a more traditional CMS like Wordpress.

Wordpress is sharing this space with at least hundreds of others, but the main difference from their headless counterparts is that with a traditional CMS you automatically get a frontend solution out of the box.

In theory this might sound like a benefit, but in reality, this sets a number of limitations and causes potential issues further down the road.

First, you need to adapt to the language or framework that your CMS is using, which could mean a significant learning curve instead of using the technologies you or your development team is already comfortable with.

And second — in most cases the frontend code that’s generated for you isn’t fully suited for your specific project or application and would need significant time and effort to be rewritten or optimised.

Our preference has been to focus on writing frontend from scratch instead of reworking the generated defaults and this approach has worked well for us thus far.

This is not to say there isn’t a time and place for traditional CMSes. They can be a great, quick and rather cheap option for creating simpler websites and applications.

Other reasons for choosing headless

Over the years we have also realised that the list of decoupled CMS benefits is actually quite long. Here are a few of these advantages:

Reusable content in one CMS — By separating the presentation layer (frontend) from data and logic layer (backend), the data created in headless systems can be reused to build multiple different frontend solutions without the requirement of creating new back office systems and duplicating data for separate frontend needs. This enables updating content on all frontend platforms using the same headless CMS simultaneously instead of having content scattered on many different platforms.

Quicker release timeline — A headless CMS allows the development team to easily prototype, test and deploy applications efficiently by allowing companies to try out new and additional channels without breaking or updating existing and workable parts of the overall project. This saves time on testing, reiterating and making the changes available for end users.

Extra security — Headless CMS solutions additionally provide an extra layer of security as there is no content management admin attached to the frontend website. This removes a point of attack for potential security threats as no database access is required for the website.

Scalability — Decoupled solutions keep backend and frontend systems separated which allows zero-downtime updates. Companies can easily upgrade their infrastructure, optimise applications, customise websites or redesign solutions without worrying about maintenance time or performance.

Our recommendation — Laravel Nova

At Optimist Digital we’ve been using Laravel Nova as our default choice for headless CMS with great results. It has proven a perfect starting platform for creating a variety of applications from simple websites to multinational ecommerce solutions that can be centrally managed across geographies from a single location.

Laravel is the most popular PHP framework and Laravel Nova is an open source content management system built using Laravel, including some of the same people behind Laravel itself. For the past few years Laravel Nova has been actively maintained and receives first-party support from the Laravel team, which gives us confidence about the future of the platform.

There’s also a thriving developer community gathered around Laravel Nova, providing open source packages to extend the core functionalities of Nova. This includes us at Optimist Digital — we have created and published a number of publicly available packages for Nova, which are being used by our team internally as well as other developers around the world.

See the projects we’ve built on Laravel Nova here: optimistdigital.com/success-stories

--

--

outl1ne
outl1ne
Editor for

Software boutique. React / Node.js / Laravel