GSD

How to Choose a CMS: 10 Tips to Help You Make the Right Decision

Posted by Levis Masonde on October 4, 2023

When choosing a content management system (CMS), you have three options: you will either build, buy, or borrow one. With a vast array of CMS vendors and products available, it can be a difficult task to find the right CMS for your team. While you most likely won't be able to find a perfect CMS solution, your aim should still be to find a solution that satisfies most of your requirements while having the ability to scale with you as your business grows. 

Choosing a CMS solution is the beginning of a long-term journey which, if done right, can lead to your team being more efficient—but choosing the wrong CMS solution can cost you dearly down the road. One of the biggest downsides to choosing the wrong CMS is the fact that you will eventually have to replace it. This alone can cause damage to your SEO rankings, a potential loss of content during the migration process, and massive downtime for your site. 

In an attempt to make the CMS selection decision easier, this article will cover 10 critical factors to take into consideration when choosing your CMS solution. 

How to choose the right CMS: 10 key considerations

If you want to market your brand globally, having a resourceful website is key. You need an engaging website and/or application for your potential customers, clients, or partners. This application/website could include elements such as a blog, landing pages, videos, audio, and other content types you may need. Managing all this content is made easier by CMSs, and here are the key factors to consider when choosing one.

The general needs of your team

CMSs are made for teams that need to manage their online content effectively and desire to have a robust backend to support their user interface so that it is accessible to publishers, marketers, and other key personnel. Your team’s CMS choice should reflect the ambition and goals you set for the future, not just the current state of your team. This takes intensive planning and vision. 

You should be able to answer questions such as: How often do you expect content to be uploaded? Do you want a fully customized website or a pre-built website? Are you willing to expand your team to include developers or not?

You need to consider the size of your team or business and the core functionality you need.

If you have a small team and need your CMS to do as much as possible then you may want to consider a SaaS CMS because your entire software and hardware resources can be handled by your CMS vendor. This allows you to launch your application quickly and does not require too much maintenance on your end.

If you are an enterprise-level organization and you need your CMS to deliver heavily customized content while you have a stable cloud-based backend, then you may want to consider a headless CMS because you get full control of the front-end and you can rely on the CMS vendor’s cloud-based backend and storage features to handle the rest. One thing to keep in mind, however, is that a headless CMS can be a SaaS CMS and these different categories of CMS tools are not always exclusive.

Common hosting options and CMS types

There are different types of CMSs and different hosting options for CMS software architectures. However, it is possible for one CMS software architecture to be compatible with more than one hosting option. Your hosting option and CMS choice should be determined by the requirements you have. Getting this part wrong when deciding on a CMS can cost you time and money, so think about where you want to start and then, more critically, think about where you see your CMS in the future. 

Open-source CMS  

Open-source CMS software solutions expose their source code to the public for users to adapt, modify, and distribute.

Open source platforms are usually hosted on web servers that can either be self-hosted or hosted by third-party hosting vendors. An example of this is how Bluehost enables users to launch a WordPress website with a simple 1-click WP install. 

Open source cms illustration

To self-host an open-source CMS, you have to install it on a web server that you manage. While this may give you more control over implementation and the usage of the CMS, in many cases you will be responsible for maintaining the website, which can be time-consuming and require technical expertise. This might cause you to spend more time being worried about the website instead of publishing content.

Proprietary CMS

This is CMS software that is owned by an individual or organization and its source code is not available to the public. This means only the owner can manage or alter the software’s core functions. 

Proprietary CMS software is usually hosted on cloud-based servers which are managed and owned by the CMS provider. So you would technically be borrowing the software while paying a monthly fee.  

Providers are responsible for all the technical aspects that come with hosting a website. This means the user can focus on publishing online content while the CMS provider takes care of website security, performance, support, and software updates. 

Proprietary CMS software can also be hosted on-premises, which means the software will be used within the organization and cuts off any need for a third-party hosting solution. 

On-premises

This is CMS software that is installed on servers stored inside the organization’s physical premises. 

To successfully host your CMS website on-premises, you need to have technical expertise and resources to manage server hardware, software updates, and constant data backups. This is an ideal option if you have specific security or compliance requirements.

This CMS is utilized by organizations that work with sensitive data that cannot be shared with or hosted by third-party software solutions. 

On-premise and cloud-based CMS

SaaS CMS

This is cloud-based CMS software that is offered as a service to users by the CMS provider. Users can access the CMS software over the internet. This means that the user does not have to worry about installing the software on their server.

SaaS CMS providers are responsible for managing, adding security measures, and updating software. This enables users with no technical abilities to have a high-performing CMS website.

Most SaaS CMS platforms have proprietary code sources, but you can also get some SaaS CMS software that is open-source and allows self-hosting. This is usually the case when the SaaS CMS software is built on top of an open-source CMS framework. Some SaaS CMS platforms also offer a self-hosted version as well as the SaaS version. The difference is that the SaaS version implements additional features for website security, updates, and backups produced by the CMS provider. 

Hybrid CMS

A hybrid CMS software combines a traditional and headless CMS, by offering a coupled front-end and backend while also offering a content delivery API. This allows users to store online content in one main repository and have the option of delivering it to the integrated front-end or a number of different channels or user interfaces such as mobile applications, websites, AR/VR, and other compatible channels and devices.

Hybrid CMS software can be hosted on-premises by organizations with enough hardware resources and specific requirements. Hybrid CMS can also be hosted on the cloud by a CMS provider which can be SaaS, meaning scalability, security, and software updates are handled by the CMS provider while you focus on publishing content. 

Butter's simple content API works with any tech stack. Get a Free Trial.

Headless CMS

This is CMS software that decouples the content management layer (backend layer) from the presentation layer (user interface) completely as it is a backend-only solution. Utilizing a headless CMS allows you to take one instance of content and pipe it into several different presentation layers such as mobile applications, websites, AR/VR, or IoT devices through APIs. This is the reason a headless CMS is also referred to as an API-Driven CMS.

You can choose to host a headless CMS on-premises, installed on your local servers, or, more commonly, it can be cloud-based, which offers better scalability and flexibility compared to on-premises hosting. 

A headless CMS can also be provided by a SaaS CMS provider, which is similar to cloud-based hosting platforms. There is also the decoupled CMS which, despite sounding the same, is a different kind of CMS

Custom CMS

This is CMS software that is built from scratch with specific goals and requirements in mind. Custom CMS software can be hosted on a third-party cloud-based vendor or on-premises.

CMSs can generally be hosted on different platforms. Cost, security and privacy, technical support, and your degree of technical expertise will determine which hosting option you can opt for.

Robustness of the content editor (WYSIWYG content creation)

How you create or edit your content in your CMS solution matters. As a publisher, you want to ensure that there is a direct link between how you upload your content and how it will look once published to users. What-You-See-Is-What-You-Get (WYSIWYG) content creation enables you to have a clear idea of what you can expect your final UI product to look like. 

WYSIWYG software allows users to click, drag, and type to make things happen without having to know any code or commands. Whether you’re interested in learning to create a website or want to start a blog without having to learn HTML or other coding languages, you may want to consider using a website builder that makes use of a WYSIWYG editor.

Wysiwyg editor

Some WYSIWYG website builders such as WordPress are open source. This attracts many developers since they can freely customize the code and create unique websites and templates for other users. That also means there is plenty of community support for developers looking to work with the technology. 

WYSIWYG helps both publishers and developers to create web applications rapidly with a maintained standard.

Customization needs

Customization has to do with how efficiently you can retrieve and present content to your application. The presentation of content should not be limited by technology because there are techniques available to separate design and content. However, some CMS developers have not followed best practices and created systems with bad code, which affects design and accessibility negatively.

Most CMS platforms offer templates, but customization may be necessary for design, color, and functionality. SaaS CMSs offer customization options, but it depends on the provider, and some features may come with a paywall.

A headless CMS allows for full control of the presentation layer but requires technical expertise. Traditional CMSs allow for customization but require programming language knowledge, and the backend and front-end are tightly coupled. Hybrid CMSs offer customization for both the front-end and backend.

Omnichannel capabilities are essential for providing a consistent customer experience across multiple channels, and headless and hybrid CMSs can provide this. The omnichannel capabilities of SaaS CMSs vary depending on the platform used.

For your CMS to stand out, you need it to be flexible and have a core which will enable you to add custom functionality to your presentation layer. Your CMS should be designed to create flawless and simple engagements with the user while having a backend that can handle complex commands and requests effectively to ensure speed and performance are optimized.  

Globalization and localization needs

According to Babbel in their research on the 10 Most Spoken Languages In The World, Chinese, with 1.3 billion native speakers, is the most popular language in the world. That’s followed by Spanish with 475 million native speakers and then English with 373 million native speakers. So, it’s safe to assume that unless you’re offering a hyper-localized service or product, by default, your application will miss out on many potential users on a global scale if it is not multilingual. 

A localized webpage

For your application to be appealing and functional internationally or interculturally, you need to be able to present your content in different languages, and also currencies if you have ecommerce functionality. This also plays a huge role for marketers because you need to be able to market different products to people in different cultures which may require flat-out changes to the appearance of the landing page to reflect the local style/culture, such as celebrating local holidays on your website with promotions.

This may also help improve your SEO, and you may additionally need to use localized URLs and metadata to ensure your website is relevant and discoverable in all the countries services. You can use a CMS with built-in multilingual functionality or use a headless CMS with a front-end framework with multilingual functionality such as React.js to develop a multilingual app.

The CMS itself should have multilingual capabilities for the admins so that they can use the CMS service in their native language.

Scalability and multisite support

Scalability refers to the ability of your CMS software to handle an increase in the number of users, multimedia content, transactions, or URL requests without sacrificing the application’s performance. Multisite support refers to the ability of your CMS software to support multiple instances and sites at once without degrading the performance of the other instances. 

An ideal CMS should be scalable and designed to support multiple sites or instances at once. That means you can manage your content across your organization from one central place. You can achieve scalability and multisite support on your CMS by ensuring the following features are supported:

  • API-based architecture: An API-driven CMS allows multiple sites to access its functionality and content. This also makes it easy to integrate third-party applications into your sites. 

  • Load balancing: This strategy involves distributing incoming URL requests across multiple servers to ensure that no single server is overwhelmed.

  • Caching: This refers to storing frequently-requested data in memory to reduce the time it takes for the same data to be loaded next time.

  • Containerization: This is when you run multiple instances of an application in the same machine, although the instances are isolated from each other.  

You can scale your web application vertically. This is when you increase the hardware resources of your server like the storage, CPU, and RAM. Or, you can scale horizontally. This is when you create multiple instances of your applications on different servers and spread the workload. Although this helps with scaling, it can cause your application to become more complex.

The ability of your CMS solution to scale with ease is important, especially when you are planning to grow your website or application, and who isn't? Naturally, the space and resources used by your CMS on its host will increase with time and you need to be ready to scale your resources according to your application’s needs.

Traditional CMSs have a hard time scaling because they host all their data on their own servers and the backend and front-end are coupled. This means they will not be able to handle traffic spikes since they have limited resources and when the backend is offline, the whole website goes down as well. So, you have to pay special attention to the description and current status of the scalability plan of the theme and template you plan to use. 

Many SaaS CMS and headless CMS solutions have automatic scalability. That means you do not need to worry about it, but that you may need to upgrade your payment package plans which could become more costly the more you grow. However, this upgrade price might be reasonable when compared to the price of being responsible for your own scalability.

The rise in microservices reflects how software architecture is moving away from stateful servers to stateless servers where applications can be deployed individually. By decoupling services into many smaller applications that are deployable on their own, it's possible to scale only the particular portions of the system that need more processing power.

While microservices may bring in added complexity, the tradeoff is better utilization of computing resources and easier implementation of elastic processes. If you are thinking of implementing microservices, learn how to avoid common microservice mistakes.

Third-party integrations

Third-party integration refers to the process of connecting external software or systems to your CMS application. Third-party integrations are used to extend your application's functionality by allowing these third-party services to communicate with your CMS application. 

Web applications can get complex quickly when you want to add more functionality. Third-party integrations offer software or a system you can use to add functionality to your application without having to develop the functionality yourself. Third-party integrations can provide external plugins for payment gateways like PayPal or PayFast, marketing and analytics tools like Google Ads, social media platforms, cloud storage, collaboration tools, etc. Before choosing a CMS, ensure that all the features or integrations you need in your applications are supported.

A laptop connected to several integrations

Traditional CMSs usually have plugins which are mainly integrations of third-party software with specific functionalities such as ads, translation, or ecommerce services. Many plugins are available freely, while some come with a price. But if the plugin you require is not available, to create a custom WordPress plugin, you need to understand the PHP programming language, or at least have someone on your team who does.

Butter's simple content API works with any tech stack. Get a Free Trial.

Headless CMSs such as ButterCMS have an endless range of plugins since you can choose any programming language complementing your application’s requirements. This is made possible by the API-driven CMS model. This gives the developers more flexibility, and since the database and data structure are managed by the CMS vendor, your application will be more secure and have great uptime without the need for dedicated backend developers.

Some low-code CMSs such as Wix have an app marketplace where you can get free or purchased plugins, much like WordPress. It enables developers to create plugins using multiple programming languages using Restful APIs and the Wix Node.js SDK. This is good news for developers. Meanwhile, some no-code CMSs like Squarespace do not allow developers to design or sell their own templates on their app marketplace.

To create a more versatile application, you can use a headless CMS as a microservice. This means you can have other separate microservices running for other functions such as search, payments, or documentation in your application. This will make your application integration extremely versatile. Essentially, any desired software with an API can be added to your application. Although this is ideal, it can make your application more complex.

Support

You need to determine the scope of support you will require. There is a wide range of support options available in this day and age, such as remote support for technical issues or bugs, phone support, documentation, knowledge bases, and forums, as well as support tickets and active email support.

CMSs are made to help automate and manage digital content creation, but when things are not working as expected, you need to have readily available support.

A woman calling customer support.

Most traditional CMS solutions allow developers to build themes and assume the support role, too. This means if you rely on a certain plugin and the creator abandons the plugin project, you will be left with no support for it. The lack of a central support system for all themes used means it might be difficult to get support when needed. 

With CMS solutions with an individual CMS vendor handling the backend, such as with a SaaS CMS solution, you are more likely to get a greater degree of support since they have a central support system with a landline and developers ready to assist where needed. This also comes in handy when you want to make challenging changes like migrations or data recovery. 

Popular traditional CMSs may also have active online community support, but might lack official documentation. Headless and Saas CMSs have great official documentation, but they may lack the developer community outside their organization. This makes it hard for independent developers to adapt to them or even contribute to the CMS’s design.

Costs

The costs to maintain a CMS can be tricky if you are not getting an all-in-one package and see the total for everything associated with your CMS application. In the event that you’re using multiple products to power a complete CMS solution, make sure to calculate the overall cost, including scaling, security, translations, etc.

That said, one of the first things to look at is if your budget matches the CMS solution desired. Open-source CMS platforms generally cost less than proprietary CMS and SaaS CMS platforms. These platforms offer traditional, headless and hybrid CMS architecture options from which you can choose the architecture that suits your requirements the best. 

However, the initial higher pricing of proprietary and SaaS CMSs can save you money in the future since you typically don’t have to outsource and pay for high-quality additional functionality and services such as security, maintenance, software updates, support, and migrations. 

The cost of a CMS illustration

Although the pricing at face value might seem straightforward, traditional CMSs may offer free basic themes, plugins, and templates, although quality themes, plugins, and templates may be costly. When you eventually want to improve the quality of your application, you might find yourself having to pay high prices or migrate your content to a platform that offers the quality or functionality you want.   

Choosing the wrong CMS can cost you dearly in the long term, and this is because you first have to migrate all your content to a new system. This will cost you money for the migration and the potential money you are losing while your website is down. For instance, if migrating your full content from a CMS to WordPress, you have to be ready to pay $4500+ and wait 14-21 days. This also implies that you will be missing out on the potential revenue and clients you’d have generated due to the site being down.

Future-proofing

CMSs have been changing over time due to demands from increases in people publishing content online, internet users, channels, and the overall adoption of digitization across multiple industries. It does not seem like this trend of digitization will slow down anytime soon with major companies investing heavily in new technologies like AR/VR. This means CMSs have to keep evolving, too. So when choosing a CMS, you have to look at how it would be able to adjust to inevitable changes.

A robot working in a future-proof workplace

In the future, all software systems will implement more fragmentation. This is due to the fact that developers want systems that can function while isolated. This will enable software to run the same way on any operating system or PC without having to prepare for environment variables. Container orchestration platforms like Kubernetes can be used to deploy and manage the underlying infrastructure and resources needed to run a CMS, such as web servers, databases, and load balancers. This makes your CMS highly available, scalable, and resilient to failures.

You need a CMS solution that will allow you to implement modular architecture or microservices which allows your CMS to be easily extended and customized with the latest features and functionality as soon as they become available. You also need to ensure that your CMS solution is compatible with emerging technologies like artificial intelligence (AI), machine learning (ML), and IoT without degrading performance and has the ability to render these technologies on different channels.

Closing thoughts

There are many CMS solutions nowadays claiming to be magic bullets, but you shouldn't just blindly take their word for it. Rather you should consider a variety of core factors before making your decision. You need to start small but think big. This approach will allow you to not only find the best CMS suited for your team's current abilities and requirements, but also to consider the future of the project. 

Also, if you have a development team in your organization, make sure to include them in the process of choosing a CMS as they have more technical expertise. Otherwise, opt for a CMS solution that will handle all the aspects of a CMS while you focus on publishing content.

For more articles on choosing a headless CMS, read:

Make sure you receive the freshest Butter product updates.
    
Levis Masonde

Levis Masonde is a software developer with a passion for coding in React Native and Python as well as keeping up with new innovations with plans to raise awareness of programming.

ButterCMS is the #1 rated Headless CMS

Don’t miss a single post

Get our latest articles, stay updated!