What Is a Content Management System
The general idea of a Content Management System (CMS) is to provide the functionality to make changes to the content and make it available on websites without involving developers.
Usually, non-tech people, for instance, content managers create and modify blog posts, texts for landing pages, images, videos and much more.
A modern CMS can be more than just a tool for managing content. You can use it to add new pages to websites or create a blog or even a quite complex application from scratch. The latter is technically a website builder.
Website builders have the following components:
- Authoring app - a UI where you create the content.
- Content delivery app - the website builder logic that makes the content visible to visitors.
- Database - where content is stored.
- Head - visible part, a website where content is presented for visitors (created by the website builder in 2).
CMS can be self-hosted or SaaS (Cloud-based Software-as-a-Service).
Self-hosted CMS means that you have to set up a server and a database or use a hosting provider for running it. This approach gives more customisation options compared to SaaS CMS but requires CMS developers to set up, customize and maintain it.
SaaS CMS are online platforms where anybody including non-tech people can easily build a website following simple steps. Such websites are hosted automatically and you will need to pay a monthly subscription fee in most cases. This removes all the headache related to hiring developers and maintaining the website, but can be limited in features and customisation options as well as often have basic website UI templates (design/themes).
Self-hosting open-source CMS are usually monolithic apps. SaaS can have a more robust architecture under the hood, e.g. microservices.
WordPress.org, Drupal, Joomla are popular website builders.
Wix is a popular SaaS website builder. WordPress.com is a SaaS version of Wordpress.org.
Some CMS are geared towards e-commerce, for instance: Magento.
There are a lot more open-source and paid SaaS CMS but they share more or less the same idea.
Headless CMS is an alternative to website builders. Headless means no customer-facing interface/website, but an API layer instead.
Headless CMS has the following components:
- Authoring app - a UI where you create the content.
- Database - where content is stored.
- API for integrating content where the content is going to be used (websites mobile apps, etc).
Because headless CMS is used purely for managing content, it does not have the website builder component. And the view layer is replaced with API layers meaning - here is your content, use it where you need.
Anyone can manage content with headless CMS. For example, I use Contentful headless CMS to manage blog posts for the newsletter you are reading. I had a website hence I did not need a website builder CMS. But I could also go with WordPress if I wanted to - it’s often a matter of preference.
In contrast, building the simplest CMS without a website builder component would take me weeks and it would be just a fraction of the features that Contentful offers.
Headless CMS can be self-hosted or SaaS.
For example, you can either self-host the Strapi CMS or use it as SaaS.
Contentful, Sanity or Prismic are SaaS CMS.
The bottom line:
- CMS can be a website builder or headless.
- Website builder CMS creates a fully functional website and provides functionality for managing content.
- Headless CMS gives you tools for managing content and using it where needed.
- Both types can be self-hosted or cloud-based and free (open-source) or paid.
- Self-hosted website builders and headless CMS require technical knowledge to get them up and running.
- SaaS CMS are easy to use and are the first choice for non-tech people.
- Skills required to work with self-hosted and SaaS CMS can vary to a great extent.
- like👍0
- insightful💡0
- curious🤔0