Selecting a Content Management System

When selecting a Content Management System (CMS) it can be hard to know where to start. This article will help you narrow down your choices and help you understand the thought process of selecting the correct CMS. This article assumes you have a general understanding of what a CMS is and what it is used for.

Do you need a CMS?

The main benefit of a CMS platform is that it allows content editors to update your website content without the need of a developer to write or publish new code. This is not to say you will never need a developer or need to publish code. But, for general content updates, an editor can log into an administration portal and make updates at any time.

If your content rarely changes or you have a dedicated development team you may not need the overhead of a CMS. However, for most websites where marketing teams drive the content and make frequent changes you will benefit from using a CMS platform (even if you have a development team).

Support multiple audiences

The stakeholder in charge of selecting a CMS varies by company. It is common for a marketing team to lead the project. Many times the marketing team owns the budget for the website and drives the content creation. However, it is important to remember that different departments within your company will have their own unique requirements.

Marketing and content teams:
The primary purpose of a CMS is to make adding and updating content easy for non-developers. For this group the admin interface and content editing features are the most important aspects of the CMS.

Development team:
The development team is responsible for building and maintaining the website that is delivered to your users. This website will need to be integrated with your CMS. The most important requirements for developers are the technology stack/architecture, ease of integration, and access to documentation and support. The technical architecture from the development team may drive the tech stack or CMS architecture you choose.

IT and Infrastructure team:
If the CMS infrastructure will be managed by resources from your company they will need to ensure that they can support the system architecture. Even if you choose to host the system with an external hosting provider, there still may be the need to manage OS updates and system configuration. Additionally, the IT team may be involved in deployments, setting up source control, and integrating authentication providers.

Create business requirements and objectives

Before you start your search and contacting companies, it is important to first have a set of requirements and objectives defined. If you skip this step you are in danger of either paying too much for features you will never use, or being stuck with a platform that will not meet your needs.

Document the problems you are trying to solve by using a CMS and the features that are important to you. For example, if you are building a simple website for a small business, you may not need an A/B testing solution. If you are a large corporation or eCommerce company, you may want to display targeted promotions to different users. Some things you may want to consider when defining your requirements:

  • Do you have a dedicated IT or development team, or do you need a managed solution (the CMS provider manages hosting, servers, etc)?
  • How many users/editors will you have logging into the system?
  • What is the technical level of your editors?
  • Do you need structured workflows for approvals and publishing?
  • Do you need multiple environments for development, testing, or staging/previewing content?
  • How many page templates or content types do you expect to have?
  • Do you have specific features know you want from a CMS? For example targeted content or A/B testing.
  • What 3rd party vendors, external systems, and data sources do you need to integrate with?
  • How much web traffic do you expect your site to support?

Determine your budget

The cost of CMS platforms range from free (for open source platforms) to thousands of dollars per month. The CMS you choose should satisfy your business requirements while staying within your budget. When budgeting for your site make sure you consider the following:

Initial cost of the CMS platform
Some platforms will have an initial cost in addition to yearly licensing fees or monthly service fees.

Ongoing licensing, service, or support fees
Many platforms have a monthly or yearly licensing fee. Even open source systems may charge for a support plan.

Hosting provider (if applicable)
There is currently a movement towards software or platform as a Service, however many systems may still need to host the site with a hosting provider.

Required Environments
There is a cost for supporting multiple environments (dev, qa, stage, production, disaster recovery, load balancing).

3rd party add-ons, platforms, plugins, etc.
A content management may not provide all of the functionality required for your site. You may need to pay for other services like analytics, video hosting, A/B testing, etc.

Development Cost
Some content management systems or site builders may be self contained and include themes and page builders. However, typically the larger platforms will need a website developed that integrates with the CMS. This is usually the bulk of an initial budget and requires a full project plan (strategy, design, content, development, deployment, etc).

Ongoing Maintenance
After the initial CMS implementation and website are live, you will need budget for maintenance. In addition to content updates and asset creation, you will most likely need a development team to fix bugs, support production issues, and implement new features. This budget is usually separate from the initial implementation contract.

Choose the technology stack

You will need to determine the technology stack to use when selecting your CMS. The technology stack is the set of technologies used to support your application. For example, the programming language, operating system, frameworks, and database.

If you already have a technology stack in mind, for example you known you want a Java based system, start with looking at Java CMS platforms. If you are planning on using Angular or React, look for a CMS that can easily integrate with those front end frameworks (For example a CMS that provides API endpoints for content).

Some companies already have a technology stack they support. If your company has existing web applications, it may be a good idea to use the same or similar technology stack. If your company has a development team that will create or maintain your site, get their input on the tech stack they can support. If you select a tech stack that is not currently supported by your company, you may need to hire new resources.

If your company has a trusted vendor or partner they are using to create and manage your websites, find out what technology stacks they have experience with. A digital agency or consultancy will have expertise with specific platforms and may already have a product offering that meets your needs.

CMS platforms and architecture

When looking for a CMS you will come across different service offerings and architectures. Many of the big payers in the CMS market are now offering Software/Platform as a Solution (SaaS/PaaS).

The following article from has a great explanation SaaS/PaaS/IaaS:

Here are some considerations to keep in mind when choosing between hosted vs a managed service:

  • Do you have dedicated IT and development team, or a trusted hosting provider, that can support the application and infrastructure?
  • Are you working with an agency or consultancy that will manage the application and infrastructure?
  • Using a managed service can remove the burden of maintaining servers, OS updates, networking, etc. However, you will have less control over how the system is managed.
  • When using a managed service, updates may need to go through an official process. For example you may need to submit a service desk ticket and wait for it to be worked. This may take more time than having a dedicated IT staff.

Headless and decoupled systems are also trending and can be a great solution for many companies. Read the Headless, Decoupled, Traditional CMS Overview article for an overview of these architectures. Keep in mind, if you do choose a headless CMS, you will still need to develop a separate web application (or mobile app, etc.) that consumes the data. The price of this web application is in addition to the cost of a headless CMS.

Determine the support level and uptime requirements

A small business with a simple marketing site may be fine with a WordPress site hosted on a discount hosting provider. If the site goes down it may not affect their bottom line. However, an eCommerce site or service provider may lose significant money or leads.

Many CMS platforms have different levels of support and uptime guarantees. You will need to determine what level of support fits your budget. For example, a CMS may offer 24/7 support for their enterprise plan, but may have a less expensive option for support only during business hours.

Support is more than just website emergencies. Training, access to engineering resources, dedicated sales rep, and more can all vary by plan level.

Start your search

Once you have your requirements and have a general budget defined you can start your research. If you have a preferred technology stack, that will narrow down your choices considerably. One thing to keep in mind is that just because a CMS is expensive it does not mean it is better or that it will be the best option for you.

There are many resources on the internet comparing content management systems. The Gartner Magic Quadrant and Forrester Wave reports can give you a quick glance at some of the popular options. You can also search for the top CMS platforms that use your tech stack. For example, the top .Net CMS platforms, or top Java, PHP, etc. The well known enterprise CMS platforms like Sitecore, or Adobe AEM, will cost more than lesser known platforms. As stated above, just because a platform costs more money doesn’t necessarily make it better. However, one advantage of using a well known platform is that they are not likely to go defunct. Before making your final decision, make sure to vet the company to ensure they are likely to be around to support you.

Armed with your requirements, you should start to request demos from multiple CMS platforms. Your first point of contact may be with a sales representative or team. However before selecting a CMS make sure your development team can meet with a technical engineer to ensure that the CMS meets your technical requirements. There are many times where the sales person may not actually have a full understanding of the software and may give misleading information.

Make your final decision

The best CMS for you is the one that satisfies your business requirements, provides the correct level of support, and fits within your budget. Remember to consider the needs of different stakeholders within your company and include them in the decision making process. Finally, select a product where you are comfortable with the sales and support team as they will be your lifeline when supporting your website.