What is a CMS (Content Management System)?
A Content Management System, or CMS, is software to help manage your website's data. A CMS provides a secure, user friendly interface for editing content like articles, images, or videos.
WordPress is one popular example of a CMS. Since its start in 2003, WordPress has been a pioneer in CMS design, enabling millions to edit their websites without requiring much technical knowledge.
Dozens of great options
Fast forward to today, WordPress is still the world's most popular CMS. But there are hundreds of other options as well, and each solution has its strengths and weaknesses. I hope this guide can help you understand your options and find a solution that is right for your needs.
The CMS family tree: Traditional or Decoupled?
Generally speaking, there are two types of CMS platforms: Traditional or Decoupled. We'll look at both below.
The Traditional CMS (or Integrated CMS)
A traditional CMS like WordPress is also called an Integrated CMS because it integrates two parts of your website together – the back-end and the front-end. The CMS is a tool for both editing content and building your website's front-end code.
An integrated CMS is user-friendly and simple to set up. It often comes with design templates and plugins which offer some flexibility for customizing your website. This can be a great choice if those options cover all of your needs. On the other hand, if you want a fully customized front-end design instead of a template, it might be beneficial to separate or decouple your data from your design. See below.
The Decoupled CMS (or Headless CMS)
In recent years, various decoupled CMS solutions have gained in popularity. A decoupled CMS keeps the back end and front end separate. On the back-end, you can still edit your content in the traditional way, but on the front-end, you can customize anything you want. This solution takes advantage of web services and API’s to deliver content in its raw form to any front-end design you may choose.
These front-end agnostic solutions are called "headless", meaning they only provide the raw data through an API. Headless solutions are lightweight and offer the most control over the front-end design. This separation also provides flexibility to customize designs for many multi-channel platforms like mobile devices, wearables, TV media platforms, or anything else.
The Hybrid CMS
Some decoupled CMS solutions are actually considered a "hybrid", because they provide both a "headless"API as well as some front-end templates that you can optionally use. This can be useful for some use cases.
Pros and cons of Traditional VS Headless CMS platforms
The importance of being open source
Your next decision is whether or not it is important that your CMS is open source. I recommend trying to stick to open source options if you can. I'll explain why below.
Closed source solutions can be convenient in the near term because they often come with great customer support and easy-to-use features. But in the long term, the fees can be expensive, and you always run the risk that the company behind the proprietary CMS might close down or stop development.
Squarespace is one example of a closed-source, integrated CMS. It is a fantastic option if you need to get a simple website up and running quickly. But it would probably not be a good choice if your goal was to support long-term growth for a more complex website.
If a CMS is open-source, it means that the code is published for anyone to audit and build on. Open source projects benefit from transparency and collaboration. Anyone can report bugs or build plugins to support an open-source project. And open-source projects avoid the risk that a private company could shut down your website.
Open Source, and self-hosted.
For companies that want to fully own their data and manage things themselves, a self-hosted, open-source solution is the way to go. There are lots of great projects for both integrated solutions and headless solutions. These projects are well supported providing guides and helper tools to make installation a breeze.
Open Source, but still fully-hosted.
Some people may want to use an open-source solution but they don't want to deal with hosting the website themselves. Many CMS projects like WordPress still offer hosting services for those who would rather not host their own website. This can give the best of both worlds offering convenience along with all the benefits of an open source ecosystem.
Some top CMS choices in 2019
At Syllable, we use a variety of CMS options to suit the needs of various projects. I'll summarize a few of our favorite choices below.
Ghost is an open source CMS used primarily for blogs. Built on Node.js, it feels modern and fast. Using Ghost, it is relatively easy to design a fully customized, CMS-powered blog. Syllable has used Ghost on a few projects including our own blog.
Strapi and Directus
Strapi and Directus are two of the most popular options for open source headless CMS platforms. I need to spend a little more time with these tools, but they both look fantastic. I have been eager for the opportunity to use them on more projects where they would be a strong fit.
Contentful and ButterCMS
WordPress is still the world's leading CMS, and with good reason. As mentioned above, it is open source and boasts a strong developer community. It is commonly used as an integrated CMS, though it is possible to use WordPress as a headless CMS to support a custom front-end. WordPress is written in PHP which could be a pro or a con depending on your developer team's preferences and skill sets.
As a closed-source, integrated CMS, Squarespace is not right for many projects. But it has its place. It does work really well for some early-stage companies who need a great-looking website in a hurry and don't have the budget for something more custom.
Shopify is perhaps the best CMS option if you're building an e-commerce website. Similar to squarespace, Shopify is closed-source and expensive. But the cost can be well worth it since they radically simplify how much time it takes to develop a consumer shopping experience. Shopify is an integrated CMS, so you cannot 100% customize the front-end design. However, they have built great tools to get pretty close to full-customization. You can actually write some custom front-end code, but it has to be run on their closed-source system.
Choosing the right CMS is not hard once you understand your options and your project's needs. Syllable is always happy to chat if we can help you decide.
Can Syllable help build your next project? Give us a shout!