Have you lost your head?
It’s a growing trend in website and web application development, going headless. But what does that mean? To put it simply, a headless approach to content management, is a separation of the Content Management System (the backend you login to in order to administer your website), from the presentation layer (the frontend your users see when they visit your website).
- The user facing bit, is the head
- The admin bit, is the body
Traditional CMS approach
In a traditional Content Management System (CMS), the head and body are very much connected. Typically a templating system will be in place that is specific to that CMS, and ingrained in the way that platform works. You have to learn the specifics of outputting data in a certain way and deal with the pre-defined workflow in place. This often means stepping outside that or doing something a little different can be challenging with ugly workaround solutions required (I’m looking at you Wordpress Loop)… (and don’t even get me started on Magento templates…).
There are lots of CMS’s available that do templating well of course, but the traditional approach still replies on a connection between CMS and the front end that cannot easily be removed.
The headless approach
The headless approach, uses Application Programming Interface (APIs) to push data from the CMS to the presentation layer in a way that means the two are not reliant on each other. In fact, a headless CMS just pushes content… that's it. Its concern is not where it ends up, its only concern is storing the information and making it available to use. Because of this, developers can use it in anyway they like. They can grab that content and put into one front-end, or ten. They can move it around, restyle it and push it to all sorts of different devices. They are not reliant on using one specific front end for their CMS of choice, they can switch to another more easily.
Advantages of going headless
So, in layman's terms, going headless just means having a content management system that you can do whatever you like on the front end. Which is a big advantage.
From a business perspective, it makes you more agile. If you’ve spent years building up public facing content, migrating that to a new platform can be a daunting task. By going headless you can invest in your content management, knowing if you want to migrate or update your website, you can just switch out the front end.
It also allows you to manage multiple customer facing products more easily. You content presentation in your website, might be different to your mobile app, or on your giant advertising billboard, or your smart watch app… The flexibility you have is as far as you want to stretch it.
Speed is another aspect. Headless platforms are generally designed to load faster which is an important ranking factor for search engines and will provide a better experience for your users.
CMS of choice
The headless CMS landscape is evolving fast. There are a number of newer platforms that are focused purely on a headless approach. Also, more modern thinking traditional CMS developers are either migrating to a headless approach in newer releases, or creating options to use their platform in a headless way.
Here are a couple of our favourites.
Simple content management projects - Craft CMS
We like Craft for smaller projects. Actually, we love it! Craft CMS is a good example of a project where the creators have thought about both the user & developer experience. It's completely flexible in terms of creating content fields and assigning where they should be available and templating is a breeze. We also get great feedback from our clients who love the simple administration features. And Craft 3 now has a headless option (powered by Graph QL): https://craftcms.com/blog/craft-33.
So, you can use Crafts templates or instead use it just to manage your content and push it somewhere else to use it in anyway you like.
Data rich (or product driven) projects - Pimcore
For larger data intensive projects or anything product related, our platform of choice is Pimcore. It started off life as a PIM/DAM focused framework but over the years has evolved to be so much more than that.
A big focus for Pimcore now is experience management and serving up content that best serves customer needs. And of course, Pimcore can be used headless: https://pimcore.com/en/resources/blog/how-to-use-pimcore-as-headless-pim_a128347
One to watch - Contentful
A platform we have our eye on for future development is Contentful. A pure headless CMS that aims to make content delivery as flexible and seamless as possible. Already being used by some large organisations, the architecture is designed for lightning fast page load and really simple deployment.
Its early days for this platform but its popularity is growing and we think it could be a major player in content management moving forward.
Going headless is something you should consider if you are looking to move from an older content platform. It’s really a development choice so should not effect the day to day admin of your content management. The main advantage though is you future proof yourself for later decisions on how and where to display content to your customers. If you are already headless, you can be much more agile and move things around more easily, which could be worth the investment alone.