The most common way of managing content on a website is with a Content Management System or CMS.

Whether you’re building a completely new website or updating an existing one, the choice of how your business will publish pages and news content on the site will have constant and lasting effects on your business for the next 5 or more years.

There are many content management systems available today and it can be daunting to try to select which one will power your website for the coming years.

You may already have one in mind. You may have heard stories about certain ones, both good and bad. I’m a big believer in using the right tool for the job at hand. I’ll ask you to now put those preconceptions aside and ask yourself five simple questions.

  1. How many people will use the CMS to edit or publish content?
  2. How often will you publish new content?
  3. How much content will your site have?
  4. Do you require that content is written by some people but is reviewed by other people before being published?
  5. Do you sell products or services online (customers can buy and pay on your website)?

I’ll talk through each question and the choices it presents below. Then at the end of this article, I’ll offer some thoughts on other things you might want to consider too.

1 – How many people will use the CMS to edit or publish content?

Some content management systems have limits on the number of user accounts or the number of users that can be logged into the system at a given time. If you need a lot of staff users and editors or expect to have a lot of visitors that log in to your site, then you may need to consider this when choosing your CMS.

This type of restriction is common amongst headless content management systems.

2 – How often will you publish new content?

For most traditional content management systems, how often you publish new content doesn’t matter too much. When you publish your content it becomes available on the website immediately.

With headless content management systems though, you might opt to build your website using a static site generator such as Gatsby or NextJS. These systems can blow away the competition when it comes to site speed and performance but they do this by removing the server-side component.

Where a traditional CMS will need to make queries to a database every time a visitor loads a page, static site generators pre-generate the pages in such a way that the only thing left for your web server to do is serve the static HTML file. This greatly reduces the page load times but the tradeoff is that when you make a change or publish new content there is a delay between you clicking that publish button and the new page being visible on the live site.

This delay can be anywhere from a couple of minutes to 30-40 minutes depending on the site generator, the hosting and the amount of content you have.

3 – How much content will your site have?

Some content management systems limit the number of pages you can have based on the license or tier you choose to purchase. This can apply to both headless and traditional content management systems.

4 – Do you require that content is written by some people but is reviewed by other people before being published?

In content management systems this is often known as “workflow”. Some systems allow you to set roles for your users and configure approval steps that content must pass through before it is allowed to be published.

This can be useful if you have a lot of content editors/creators and need to have oversight on what is published. It can also be useful for larger content teams where content needs to be checked by a proofreader or your legal department before it can be shown to your visitors.

If you are the only person that will be managing content or you have less than 3 people writing content, you probably don’t need this.

5 – Do you sell products or services online (customers can buy and pay on your website)?

If your answer to this is “yes” then it will greatly reduce your choices. In my experience, there are only two well-supported options for e-commerce websites these days; WooCommerce or Shopify.

Bonus thoughts

Speed

Getting a good page load speed on your website is not completely dependant on which CMS you choose. It’s more dependent on the design and how the front-end HTML, CSS and JavaScript is implemented.

The CMS does play a part in how easy it is to get a good page speed though.

As my recent post about increasing the performance of a WordPress site shows, WordPress can be made to give “ok” performance for most sites. Other content management systems such as Umbraco or Kentico can also give fairly good site speed performance.

If you’re looking for something that scores well (80+) in speed metrics such as Google Page Speed Insights then you may want to consider a headless CMS along with building your site using a static site generator.

Is traditional or headless better?

When reading some of the points above it may seem that headless content management systems are worse than traditional ones on some points.

The truth is, they have different objectives. A headless CMS will really shine if you want to have a single place to manage all of your content but the content is used in lots of different places. Maybe you have multiple websites that all need to share some content (such as meet-the-team pages or FAQs) but not everything. A headless CMS will let you keep and manage everything in one place and, most importantly, makes your content 100% portable.

Portability means that if in a few years, you want to build a new website or change your existing website to use new technology, you don’t need to worry about migrating all of your content again. That new technology or website can just link up to the headless CMS and use the content from there.

Overall, headless is a different way of thinking about content that separates it from how the content is displayed. Once understood, this is a good thing as it focuses your content writers on writing good content rather than having them spend time tweaking page designs and layouts. Leave that to your designer.