21 Factors in Choosing a CMS

How To Choose A CMS (Content Management System) [21 Factors]

When your goal is to build a successful business, many factors will affect your success. When you’re running a business online, the usability of your website will be a major factor in your success. For instance, if visitors can’t easily navigate your site, they’re not going to buy from you.

What contributes to a site’s usability? It all begins with the content management system (CMS) you use to power your site. The right CMS provides a smooth, user-friendly experience that facilitates sales and other conversions. The more customizable your CMS, the more you can tailor the user experience to meet your market’s needs.

On the contrary, if your CMS limits your ability to customize the design and add features, you’ll see fewer sales and conversions than you deserve.

Why use a CMS in the first place?

It’s possible to create a website without using a content management system, however, that’s not advised for most website development projects.

A content management system makes it easy to manage a website’s design, features, and content from a single control panel. A website built using plain HTML and CSS, on the other hand, requires more work to update. Depending on how the site is structured, it could take hours to make one small update.

For example, say your website has 500 pages and each page displays the same header and footer. If you built your 500-page website using HTML and CSS, you’ll need to edit 500 individual files to make one simple change to your header or footer.

With a CMS, you can update the header or footer inside your control panel once to dynamically update all pages at the same time.

The benefits of using a CMS are clear, but which CMS should you choose? WordPress? Drupal? Magento? Shopify? BigCommerce?

The answer isn’t the same for everyone. Here are 21 critical factors to consider when choosing a CMS to power your website.

1. Price

Naturally, you’ll want to consider price when choosing your content management system. If you’re working for an organization, you’ve got a budget to stick to and you probably won’t have any wiggle room. If you’re self-employed, you probably have a budget, but you can adjust your budget if needed.

cost to implement custom cms vs open source software
Source: Lightmix

The right CMS is worth every penny it costs to get your site up and running. However, features matter more than price. Price should be used to narrow down your options, but don’t choose a CMS based on its price.

If you’re working with a non-negotiable budget without any wiggle room, make a list of all the content management systems you can find and narrow down your list by eliminating all options that fall outside of your budget.

The good news is you’ll come across plenty of free and open source CMSs like WordPress and Joomla. Don’t be afraid of open source software; it’s actually some of the best and most secure software on the market.

Don’t forget to calculate added and ongoing fees

Some CMSs have fees in addition to the initial licensing fee. For instance, you might not need to pay a yearly licensing fee to continue using your CMS, but a yearly fee could be required to download updates and patches. Accessing updates and patches is critical for keeping your installation secure, so make sure you can commit to these additional fees if applicable.

Developers charge fees differently

Don’t assume that every CMS developer will charge a monthly or yearly licensing fee. Every developer charges differently. For instance, the cost to implement WordPress can vary widely.

When you find a CMS you like, document any applicable fee schedules so you can compare pricing with other CMSs you like. Does the CMS developer charge a lifetime, monthly, or yearly fee? Although most paid software today runs on the subscription model, you probably don’t want your content management system to be subscription-based. If you miss a payment, you could lose your whole website. If your CMS is hosted by the developer, you may not even be able to log into your account to export a backup.

Use price as a way to eliminate the options that don’t fit within your budget. Don’t use price to make a decision. To choose your CMS, consider the rest of the factors outlined here.

2. Security

Security is crucial for every content management system deployment. However, when you’re managing legally protected personal data (like names, social security numbers, and credit card information), security has to be your top priority. If you can’t secure a CMS to meet the security standards that govern your business, choose a different CMS.

In 2019, there were 5,183 data breaches, including incidents affecting businesses in healthcare, government, and hospitality. A common cause for these major breaches included unsecured databases. Unfortunately, the majority of security vulnerabilities are caused by human error and aren’t attributable to the actual CMS software.

Your CMS developers should release updates regularly

When choosing a CMS, make sure it’s reputable and updated often. Never choose a CMS that hasn’t been updated in a year or more. If possible, use an open source CMS like WordPress or Magento. These content management systems have proven themselves over time to be reliable and secure when proper security protocols are in place and enforced. An open source CMS is sometimes better than a proprietary CMS. With open source software, bugs, fixes, and new features are all crowdsourced by other users and developers, facilitating the speedy release of vulnerability patches.

CMS hacks for wordpress, magento, joomla, drupal, prestashop, opencart
WordPress may be secure, but its ubiquity also fuels more hacks. Source: ZDnet.

Remember, the CMS isn’t usually at fault for data breaches and cybersecurity attacks. If you’ve heard about a specific CMS being a security risk, consider that most attacks are caused by user error. The main user error is not updating new releases and ignoring security patches.

Unfortunately, WordPress has an inaccurate reputation for being insecure thanks to a bunch of people who never bothered to update their installation. WordPress is one of the most secure CMSs you’ll find, provided you take the time to secure your installation. While WordPress is the elephant in the room, there are plenty of alternatives to WordPress you could and should also consider.

WordPress themes should also be updated when new releases are available. If you plan on getting a theme designed from scratch, your WordPress development team will ensure your theme is created to the highest security standards.

What makes a CMS secure?

There are several factors that contribute to content management system security. The most important factor is how often core files are updated and how fast patches are released and installed when vulnerabilities are discovered.

No CMS is inherently secure. 99% of CMS security is the user’s responsibility. However, you can secure your CMS in the following ways:

  • Download and install all latest releases as quickly as possible.
  • Download and implement all patches as they are released.
  • Use the HTTPS protocol (SSL)
  • Enable a web application firewall (WAF)
  • Don’t use ‘admin’ for your administrator’s username. Doing so gives hackers a better chance at gaining unauthorized access to your admin panel.
  • Always perform manual CMS installations. Quick install software often bypasses important security setup measures. For example, cPanel quick install software doesn’t generate any SALT keys for WordPress installations. Many people don’t even know they need SALT keys, which leaves a quick installation vulnerable. If you’re going to use WordPress for your CMS, you’ll need to read up on WP security best practices because SALT keys should be changed periodically.
  • Use a unique database table prefix. For example, the standard WordPress table prefix is wp_. Change this prefix to something no hacker would be able to guess. This is another reason to manually install your CMS software-you can’t change the table prefix using quick install programs.
  • Create complex database names, usernames, and passwords. You know those complex passwords you can never remember? They make great usernames, too. For example: L^#8F2Ju7&-0. A complex combination of letters, numbers, and symbols can be used for database names, database users and passwords, and even administrator usernames.
  • Disable PHP file execution.
  • Require two-factor authentication.
  • Password-protect your user and admin login URLs.
  • Strictly limit login attempts.
  • Disable directory browsing.
  • Scan your WordPress installation regularly.
  • Update and/or remove insecure plugins.

Generally, if you can’t secure your CMS to high standards, choose a different CMS that does grant you that ability. Last, hire a team of cybersecurity developers to secure your CMS installation like Fort Knox.

3. Features

What functions do you need your content management system to perform? What features do your users need? Do you only need simple features like a blog and a commenting system? Or will you need complex ecommerce capabilities and custom interactive elements?

Some of the most common ecommerce features include:

  • The ability to add multiple variations of a product
  • Shipping calculations
  • Easy application of discounts
  • Email marketing capabilities for promotions and transactions
  • Strong analytics
  • Integration with CRM software
  • Friendly page URLs for SEO and users
  • Ability to edit meta descriptions, page titles, and more
  • Automatically generated XML sitemap
  • Product recommendations
  • Accurate inventory management tools
  • Smooth checkout experience.
  • Split-testing capabilities.

Test all features before selecting your CMS

Before settling on a CMS, test all features as an admin and a customer. This will be easiest to do with a self-installed CMS like WordPress or Magento.

Make sure the customer experience is smooth, and make sure the admin control panel is something you can work with on a daily basis. Test everything from posting blog comments as a user, approving comments as an admin, and go through the entire purchase process with several products. Sign up for your own email list and make sure you receive the right emails at the right time.

wordpress cms features
Source: wpmudev

Make sure your product purchases trigger the right confirmation emails. If buyers are loaded into additional email sequences, make sure the content in those emails matches where your buyers came from. For example, don’t dump buyers into your email sequence that begins by thanking them for downloading a free guide. Even when the rest of the email sequence is general, you’ll lose subscribers by sending a welcome email that doesn’t make sense.

Test shopping cart features thoroughly

When testing shopping cart features, make sure the process is easy and straightforward from start to finish. How easy is it for people to add items to their cart and then check out? Does the shopping cart display the shipping costs before asking the user to click on a button that indicates a commitment to buy?

testing shopping cart featuers d
Source: TestBytes

Statistics show that 26% of people abandon their shopping cart because the checkout process is complicated. Most of the time, users consider a checkout process to be complicated when they’re required to sign up for an account and cannot check out as a guest.

The total abandonment rate is said to be high. However, don’t stress over the nearly 70% cart abandonment rate. Total cart abandonment rates aren’t accurate. A large number of people add items to shopping carts as ‘wish lists’ and to compare prices with other stores including Amazon and eBay.

Ask your development team if they can add custom features

When you need features beyond basic functions of an ecommerce CMS and additional plugins don’t exist, discuss your project with a developer before deciding on a CMS.

Discuss your needs first with a development team because some teams can’t create additional features for certain content management systems. For example, if the features you need require JavaScript, you’ll need a CMS that supports JavaScript. While you should technically be able to use JS with any CMS, some administrative interfaces make it difficult and require hard-coding.

Hard coding JavaScript is fine, but when you update your core files in a future release, you’ll more than likely overwrite your custom code. A CMS that supports child themes, like WordPress, is your best option when you need extensive customization. With a child theme you can customize anything and you never need to worry about overriding customizations by updating the software.

4. Customization options

Some content management systems are easier to customize than others. Generally, any CMS you self-host should be fully customizable when written in a standard programming language like Python or PHP.

WordPress is a popular CMS because of its customization capabilities. However, you need a self-hosted WordPress installation to take advantage of customization. A Self-hosted WordPress installation begins by downloading the actual software package from WordPress.org.

On the other hand, websites hosted on WordPress.com have narrow and limited customization options. If you need a hosted CMS development option for your ecommerce site, you’re better off looking into solutions like BigCommerce and Shopify. These sites aren’t entirely customizable, but they’re at least designed for ecommerce development.

If you have specific or extensive customization requirements, talk to a development team prior to choosing your CMS and let them help you make your choice. Your developers might already have fully developed modules for a platform you haven’t considered.

It’s worth considering a new CMS platform if your developers have already built modules that meet your specifications. When your developers don’t need to create all of your customizations from scratch, your project will be cheaper.

5. Setup and implementation speed

Launch speed is important. When you’re ready to launch, you can’t afford to be held back by a complicated content management system that takes forever to set up.

If you don’t need to launch for a year, then speed won’t matter. However, if you have a launch date when people are expecting you to go live, choose a CMS you can get going as fast as possible.

What makes a CMS fast to launch? For the most part, you want full control over adding content and control over all the small changes and tweaks you need to make prior to launch. If you need to hire a developer to make your changes, you’ll never launch on time.

You need a CMS that allows you to make quick changes

You need a CMS that gives you full access to edit colors, logos, icons, typography, and image meta data. You shouldn’t need to use FTP to make these changes. They should be fully accessible through your admin panel.

You’ll be making plenty of last minute changes until your site goes live. If you need to call your developer to swap out your logo, you won’t have a quick launch.

Your CMS should be easy to learn

If a CMS has a steep learning curve, like requiring a complicated process just to add a new page, you can expect a longer launch time. You should be able to create new pages with a single click. If creating a new page isn’t simple, you should choose a different CMS. Not being able to create new pages easily is an indication that the rest of the CMS is not user-friendly.

6. Available support

Support is everything. Without strong support for your CMS, you’ll get frustrated when you run into small issues. For example, what would you do if your admin URL suddenly turned up a 404 error? If you’re using a popular CMS like Joomla, Magento, or WordPress you can get help almost instantly either on the official support forum or through YouTube.

The good news is that most open source projects, including content management systems, have a strong support community. Support communities generally consist of other users, project developers, and users who are also developers.

Chances are, if you’re having a problem, someone else has already experienced that problem and there is a solution. If your issue is new, you’ll have a community of people who will troubleshoot with you to help you resolve the problem.

Official developer support is crucial

Community support is important, but make sure your CMS is supported by the developers. Hopefully you can get lifetime free support, but if you have to pay for support it’s worth the cost. You’re going to need support at some point so consider the cost an unavoidable part of doing business.

7. Programming language(s) used

When choosing a CMS, the programming languages used to create the system matters. While developers can make competent, amazing CMSs using virtually any programming language, you need to be selective for the following reasons:

  • When you need to add functionality, you’ll need to find a developer who can program in the language of your CMS. If your CMS is written in an uncommon language like ColdFusion, you’ll have a hard time finding developers to take on your project. When you do find a developer, they’ll likely charge higher rates.
  • The availability of third-party add-ons diminishes greatly for software written in non-standard languages. In other words, developers regularly create add-ons and plugins for content management systems written in commonly used programming languages (like PHP and Python, for example).

It’s not that other programming languages are automatically uncommon. Plenty of developers use languages like C+ and .NET. However, they’re not commonly used to develop content management systems. The majority of programmers who develop plugins and add-ons for content management systems program in Python, PHP, and JavaScript.

Some programming languages are more advantageous for a CMS

Technically, you could commission a custom CMS in any language, but not all programming languages have the same advantages. However, unless you’re a developer, that’s not a distinction you can make.

cms most popular wordpress languages graph
Source: mobileappdaily

Talk to your development team to find out what CMS they recommend and why. The programming language could be a major factor or not. If your development team has a preference, it might be because it’s a fit for your project or they’ve already got existing frameworks written in that language.

Don’t get yourself set on using a CMS written in a specific programming language. Stay open to other possibilities because functionality is the most important factor in choosing a CMS.

8. Ease of editing content by your team

If your team can’t edit your website quickly and efficiently through your content management system’s interface, you’re using the wrong CMS. It doesn’t matter how powerful a CMS is if your team struggles to edit or add content.

Surprisingly, there are many content management systems that require complex training and a multitude of clicks to perform simple tasks like embedding an image or creating a new page. Umbraco is one of those complicated systems.

Plenty of die-hard fans swear by Umbraco. However, many users, including developers, find this particular CMS extremely frustrating. Many basic functions require extensive clicking and pre-setups that are unnecessary when using other content management systems.

For instance, you can create a new page with a single click using WordPress and nearly everything is self-explanatory. The interface is simple. Umbraco doesn’t offer this simplicity and many users need to search Google for instructions on accomplishing simple tasks.

That’s not to say Umbraco is all bad. There are plenty of reasons to use Umbraco. However, the learning curve is sharp. If you need to get your site up and running fast, you’re better off with a CMS known for being user-friendly. Ease of use, including UX/UI, is everything.

9. Integration capabilities

Can your CMS integrate easily with other applications in the cloud? If your developers can create extensions or plugins that use APIs, then you’re set. However, if a CMS doesn’t allow you to create custom features, add-ons, plugins, or extensions, you won’t be able to integrate your CMS with other applications. For an ecommerce site, this means you’ll have a hard time connecting your shopping cart to your payment processor(s) and merchant account.

As far as integrations go, most popular software releases have plugins specifically designed for WordPress. A plugin makes software easier to integrate into a WordPress website. For example, you can get WordPress plugins for:

  • OptinMonster
  • WooCommerce
  • Google XML Sitemaps
  • DataTables
  • Zapier
  • And more

WordPress has more plugins available than any other CMS around. There are more than 7,000 WordPress plugins on CodeCanyon and thousands more available directly from developer websites.

Since some software installations aren’t compatible with WordPress, most software developers today create a separate WordPress plugin in addition to the standard software version. Both work in generally the same way, but the WordPress plugins are easier to install and are managed from the WordPress admin panel.

10. Licensing requirements

Software licensing is something many people don’t even consider. However, every piece of software comes with a license that governs its use. For example, most open source CMS projects grant users the right to modify the software even for commercial purposes.

If your content management system is truly free and open source, you can modify the software any way you wish. You’ll need to pay developers for their time, but you won’t need to pay to use the software commercially.

On the other hand, some content management systems are free for non-commercial use and require a license otherwise. It’s important to know what a CMS license entails before making a commitment. If you don’t have permission to develop new features, you could get in serious trouble when your site goes live.

Courts take software licensing requirements seriously. Make sure your project needs match the CMS licensing requirements before committing to a particular CMS.

11. Visual design

How do the templates for your CMS look? Are they decent or lacking? Is there a good selection or are you stuck using a default theme? Could you hire a designer to create a fresh look for your site if you wanted a new theme?

It’s critical to choose a CMS that offers aesthetically pleasing themes or at least the ability for you to create a theme. If you don’t like the stock themes that come with a CMS, you can hire a design team to create a custom theme for your website. However, be prepared to pay good money for their services.

If you’re on a tight budget, try to find a CMS that already has themes you like. If you can afford to commission a custom theme, it doesn’t matter what the stock themes look like because you won’t be using any of them.

Popular content management systems will always have more themes available to purchase either from the developer’s website or a general repository. Developers create themes wherever there is a demand, so when a CMS has plenty of themes to choose from, that’s a sign that it’s a solid CMS.

12. Availability of easy-to-implement themes

Theme availability is great, but you also need to make sure themes are easy to implement. WordPress, for example, makes it easy. You simply upload a theme’s .zip file and the system unpacks and installs the theme with a click. Other content management systems don’t make it so easy.

Complicated CMSs will make you flip all kinds of switches in different areas of your admin panel just to activate a theme. On top of that, some systems don’t allow you to import themes as .zip files and you need to upload, compile, and update files manually through FTP. You might know how to use FTP, but does the rest of your team? What about future team members?

Are you willing to commit to training every single new employee on how to manage your CMS through FTP? What if they accidentally delete important files? You don’t want everyone to have direct access to your web server.

Avoid complexities unless those complexities offer features you need

Unless your site can’t function without certain features, avoid any CMS that uses complex theme setups. For example, Smarty templates are an amazing creation and can be found in a variety of content management systems, but the Smarty Template Engine is complex for non-technical users.

There’s nothing wrong with Smarty templates. However, your team will have a difficult time making changes to your theme when you have to edit multiple template files written in an unfamiliar language. There is a huge risk of team members messing up the code and messing up your site.

Simple content management systems have built-in options for editing a theme’s attributes and features. It should all be editable right in the admin panel without having to open individual files.

13. Drag and drop content builders

Some developers love drag and drop content editors, while others don’t. However, most regular users prefer drag and drop interfaces because they don’t need to know HTML and CSS to make changes.

Who will be editing your website? Chances are, it will be a combination of developers, users with technical knowledge, and non-technical users. To accommodate everyone, your ideal CMS should have the option to enable a drag and drop content editor for users who prefer to create content visually. Other users should be able to turn off visual editing and bypass drag-and-drop interfaces to edit HTML directly.

Keep in mind that if your CMS doesn’t allow for direct HTML editing, you won’t be able to add important JavaScript code like Google Analytics. So, make sure your users can enable/disable the WYSIWYG editor as well as access raw HTML code.

14. Ability to change the permalink structure

The ability to create friendly permalinks is critical for search engine optimization (SEO). Although most content management systems now use friendly URLs by default, some are lagging behind. Friendly URLs look like this: www.yoursite.com/yourpage. Unfriendly URLs look like this: www.yoursite.com/page.php?=345.

optimizing anchor text in URL structures

Part of on-page SEO requires page keywords to be present in the URL of each page. Having random numbers in a URL doesn’t help search engines and it doesn’t help users, either.

Although Google stopped displaying URLs in search results, users who bookmark your webpages will be confused when trying to find specific pages. They won’t recognize the pages by sight and will need to click on each bookmark to find the page they’re looking for.

You need a CMS that allows you to customize your permalink structure. It should be no surprise that WordPress makes it easy to customize the permalink structure in just about any way you wish. For example, you can use www.yoursite.com/category/postname, /postname, or postname/category, just to highlight a few variations.

If you don’t want to be left behind in the search engine dust, maintaining full control over your permalinks should be a deal breaker.

15. Reliability

Your CMS should have a reputation for being reliable. A reliable CMS is fully supported by the developers and isn’t perpetually buggy. All software has bugs, but you don’t want to battle bugs when all you’re trying to do is update your core files.

reliability and use of various content management systems
Source: WPEngine

16. A strong comment system for blogs

Will you allow comments on your blog posts? If so, you need a strong commenting system. Sometimes the built-in commenting system isn’t good enough or the design clashes with your website’s theme.

If your CMS doesn’t have a strong built-in comment system, you should be able to use a third-party system like Disqus or Facebook comments.

Again, if you’re using WordPress you can easily integrate third-party comment systems into your blog posts. You can turn off WordPress native comments and use whatever comment system you prefer.

17. Ability to save drafts and revisions

A CMS that automatically saves drafts as you create content is ideal. It’s frustrating watching your work disappear from a glitch, an accidental click, or a power outage.

Many strong content management systems don’t automatically save drafts because doing so fills up the database. As a database grows in size it makes the website slower. For instance, WordPress automatically saves a new version of every page and post after each edit, no matter how small. This takes up extensive room in the database unnecessarily.

To eliminate excessive revisions in the database, WordPress users install the plugin called Optimize Database After Deleting Revisions. If you’re considering another CMS, talk to your development team and find out if you can easily delete revisions you no longer need. If not, find out if your team can develop a plugin to add this functionality.

As your site grows, you’ll be making more and more updates, which will clog up your database and slow it down significantly. If you can’t delete revisions from your database easily, you should choose a different CMS. A sluggish database will catch up with you.

18. A WYSIWYG editor that allows pasting content from MS Word

Most content management systems have visual ‘WYSIWYG’ editors (What You See Is What You Get). However, not all visual editors can handle content pasted in from MS Word.

WYSIWYG editor screenshot

This will be a problem if your content is developed and formatted in MS Word. It’s cumbersome to copy and paste content into a plain text editor, then copy and paste the content into your CMS page editor, and then reformat all the text from scratch.

You need a content management system that retains the formatting on content pasted in from MS Word.

19. Portability & backups

If you decide to move to a different platform, you may not be able to export your data easily (or at all). For example, if you build your website on the wordpress.com website, you can’t export your content like you would from a self-install on your own domain name. Websites hosted on wordpress.com are limited in terms of admin access. You can’t access your database directly, and if you have to pay to transfer your data.  Data backup is critical. Hence, the need for a CMS that can be easily stored should be a major consideration.

cms data and backup causes
Source: CMSProducts

20. Strong search capabilities

Your CMS should have a built-in search function that works on a basic level. If you’re using WordPress, you can get stronger search support through plugins if needed. However, any CMS you use needs to have a basic functioning search feature.

Chances are, you’ll need to launch your site with the basic search feature for a while until you know how your users are using your search function. Once you know how users are using the search function, then you can customize the way your search works.

21. Take your CMS options for a test drive first

The best way to choose a CMS is to use every demo installation possible. Some developers offer limited demos right on their website. However, these demos are often set up with extra layers of security that merely simulate administrative actions and don’t really let you under the hood.

If a CMS is open source, just download the package and install it on your server to mess around. If a CMS isn’t open source, contact the developers to ask for a real demo. You may need to schedule a demo at a specific time.

Either way, you need to take a CMS for a test drive to know how easy or complex it will be to power your site.

Need CMS customizations? Dev.co can help!

Are you looking for a development team to build a custom CMS from scratch? Do you need custom features for a CMS written in PHP, Python, or C#/.NET? We want to partner with you. Contact us to learn more about our CMS customization services.

Ryan Nead
Latest posts by Ryan Nead (see all)

Please fill the below form to download the PDF