[This is second post of a series on choosing a CMS. Check out Part 1, and learn about the importance of your goals and requirements in the process]
Now that you have a solid set of requirements for your content management system (CMS), you can start to explore some different options. To narrow the conversation, it's sometimes helpful to consider them as a balance between simplicity versus flexibility.
5 approaches from simple to flexible
1: No development needed
Starting on one side, you'll find the most simple subscription-based solutions that require no development and minimal setup. As an example, think of a blogging site for which you just need to create an account. The options are limited. It doesn't give you much more than a running list of posts that you can create and edit. Google Blogger and Tumblr are examples. While some border on being social media more than CMS, they are in fact services that allow you to manage your content.
2: Simple and customizable
Moving up from there, you have simple frameworks that provide a medium amount of customization. This can be anything from services like SquareSpace to platforms like Ghost and Wordpress. These are designed to get you up and running quickly, but also allow you to heavily customize your site.
At this level, you can sometimes add basic online stores. You can create a unique look and feel. With something like Wordpress, you can even add some custom functionality. Eventually when dealing with options in this category you'll find that you're trying to do things for which the framework just wasn't built, so you'll move closer to flexibility.
3: Scalable and flexible solutions
The next level up are the more scalable and flexible solutions. Options like Drupal, SiteCore or AdobeCQ are in this category. While they are very different frameworks, they all have some basic preconceived notions about how content should be managed and structured. These are solutions that get you quickly up and going, but they are also intended for heavy customization. Advanced custom functionality can be added on top of them. Some can even be extended to the point where they are more than just a website and terms like "web application" start to emerge.
They are meant to be fast to deploy because much of the structure of how to manage your content has already been determined. However, this ease of deployment and development can sometimes come with the penalty of rigidity. Once you start to stray outside of their assumptions about how content should be managed, things can start to get messy. It's like strapping a howitzer on a sports car. Sure, we can get it to mostly work, but it just wasn't designed to do that.
4: Frameworks for fully custom sites
At the far extreme you find frameworks for custom-built applications that allow for advanced integrations, workflows, relationships and functionality. These are true development frameworks that allow you to build your own CMS or web application. Laravel and Django are two examples that fit in this category. They make sense when basic management of content is a secondary requirement, trumped by custom functionality. Or perhaps the structure of the content is unique enough that trying to get it to fit into some of the options in the previous category would not be ideal.
The primary benefit is that your application is faster because it was built to do exactly what you want. The primary downside is that it may cost more to build because you have more custom code and less community-tested extensions that effortlessly drop into your new site.
5: From the ground up
Of course out at the furthest edge you'll find the "from the ground up" option. This would be to pick a language and build a completely custom solution, without taking advantage of any frameworks. There are reasons that you'd do this, but if you're looking for a CMS, you're probably better off considering one of the many frameworks that exist today.
Proprietary versus Open Source
One of the key decisions is to consider when choosing a CMS whether you want to go with one that is proprietary software versus one that is open-source.
Proprietary software brings licensing fees and/or ongoing hosting fees. These fees are often in addition to the work required to design, configure, customize and host your site. Solutions like SquareSpace, SiteCore, AdobeCQ and others are businesses that provide a service in order to make money.
For some of these, the costs can get quite high (the average AdobeCQ license can run into hundreds of thousands of dollars). This can be fine if the CMS fits your needs. After all, part of what you're theoretically purchasing is the peace-of mind that if something goes wrong, that vendor will be there to help.
In contrast, open-source software is free to download and use. Solutions like Wordpress, Drupal, Django and Laravel are all built by a community of developers and released under open licenses. Generally you want to look for a knowledgeable partner who you feel confident can properly build your CMS solution using one of these frameworks.
A final step is to consider your budget. You can make strategic decisions to create a CMS-based site with a small budget or invest heavily in some items to ensure your site covers the full extent of your needs.
Maintaining your site after launch
A final cost consideration is ongoing maintenance and support. If you are considering a proprietary solution, be sure to budget for the ongoing licensing fees. You should also double check that these fees cover ongoing upgrades and security fixes.
If you are considering an open source solution, be sure to set aside some of your budget to have your developer perform security updates and proactive maintenance. In either case, consider also setting aside some budget for support requests – minor feature requests and other changes to how the site functions. Properly considering your ongoing maintenance and support costs will help you to finalize the amount you have to build your CMS.
Making your final CMS decision
With the term CMS covering such a wide range of digital platforms, it's no wonder that many feel overwhelmed when choosing one. Defining your goals and requirements can help you to navigate your options. We've found that walking through these steps is a great way to reduce apprehension, provide clarity and deliver a solid final product. We hope you find them useful also.
[If you enjoyed this post, read Part 1: Goals and Requirements]