Every now and then I’m in a meeting where to my surprise, our prospective client is looking for a website built specifically with a Headless solution (which is a fancy way of saying headless content management system). And in very few of these meetings I hear a valid reason. Most of the time I get a sense that they’re using it as a buzzword of some sort, the way people throw around “Artificial Intelligence” “Machine Learning” “Bitcoin” and feel like they need to adapt it to their business “just because”.
With this post, I hope to share some insights on what a traditional vs a headless CMS solution is and how we go about determining the best type of solution for our clients.
What is a traditional CMS?
This is the solution most of us have heard of before. An architecture which tightly links the front end to the back end within a single system.
Within a traditional CMS, users can manage their contents through various tools and editors, which is then saved to the database / back end of the website. The CMS then displays the necessary information which is delivered to the front-end of the system.
An example of traditional CMS can be WordPress, Joomla, Drupal to name a few.
Pros of a traditional CMS
- Fast and simple to get setup and going
- Customize the front end easily
- Ideal for websites and well adopted platforms such as WordPress and Drupal.
Cons of a traditional CMS
- Limited delivery channel – meaning you can only have a website. Not a Web app, a smartwatch app etc.
- Limited framework – meaning you do not have the flexibility to choose whichever front-end framework or the language your developers will like to use.
- Limited content types / API integrations based on the CMS being used.
What is a Headless CMS?
So now that we have an understanding of a traditional CMS, we can get a basic idea that a CMS consists of 2 parts. A back end (all the assets and contents that becomes the database for your website) and a front end (the part which takes the database and renders it to the end-user).
A headless solution basically takes away the front-end part of the CMS; making it fully front end agnostic. This means instead of an actual website – you’re left with a raw content-only data source.
What does this mean?
It means that developers have the flexibility to create various channels (websites and web apps) to display all the content that is served by the headless CMS on it’s own system.
An example of a headless CMS can be Magnolia, Contentful, Contentstack, and even WordPress (utilizing WP Rest API).
Pros of a headless CMS
- Rapid content delivery across various content channels (whichever the CMS endpoint API is being rendered in).
- Complete control over how and where your content appears.
- Flexibility for developers to use any front-end framework of choice.
Cons of a headless CMS
- Not easy to preview the changes within the content channels
- Reliant on additional technology to display the data (The head)
- Difficult to control the look and feel of the front-end without a developer