It’s hard to imagine our current web without a huge and diverse CMS ecosystem. Content management systems come in various forms and shapes and they are making our life so much easier by providing advanced and user-friendly content management capabilities for a variety of apps and devices. Depending on your business needs, project requirements, budget, target audience, and technical skills and capabilities you may opt for different types of CMSs. In this article, we’re going to provide an in-depth overview of different CMS types and the pros and cons of each type.
By license type
Proprietary CMS
Commercial proprietary content management systems are built, maintained, and managed by a single company and usually require you to purchase a license in order to use this type of software. Depending on the plans provided, it usually is an annual or monthly subscription which includes the use of the software as well as ongoing updates.
Most of the customizations that go beyond the standard capabilities are going to be provided at an additional cost by the company itself and/or certified partners. Technical training and support is usually a paid service as well.
The source code for such CMSs is usually closed, the company owns all the intellectual rights for it, and only the owning company can extend and modify the code.
Some of the most popular licensed proprietary CMSs include Kentico, Sitefinity, Sitecore, Microsoft Sharepoint, Sitefinity, Zoho.
Pros of proprietary CMS:
- Better suit for more sophisticated websites (unless you have a budget and a team of developers to extend and customize an open-source CMS for you)
- Generally more secure for non-experiences users (updates and security patches provided a regular basis, limited and vetter extensions and add-ons ecosystem)
- Better/dedicated support and training resources
- Often come with advanced features like analytics, SEO, customization options, 3rd party integrations, etc.
Cons of proprietary CMS:
- Cost
- Varying quality of support
- Limited community resources
- Customizations only by licensed partners
Typical use cases: big and enterprise type websites, websites that require specific advances features such as marketing automation, integrations, reporting, and complex e-commerce functions.
Oppen source CMS
Open-source software is developed by a community and it can be downloaded and used at no cost without any additional licenses, charges, and/or fees associated with it. The source code of these systems are open and anyone can extend, customize, and modify it according to their standards, liking, and business needs.
Some of the most popular open-source CMSs are Drupal, WordPress, Joomla, Magento, Craft, Umbraco, Ghost, TYPO3, Django CMS.
Pros of open source CMS:
- Cost-effective (if/when used without heavy customizations that require additional development)
- Support from the community (most popular content management systems gave great supportive communities)
- Portable and independent (you own your website and can do whatever you want with it)
- You have full control over your website, environment, and data
- Easy to find developers for any additional customizations
- Frequent security updates from the community (for the platforms that are actively maintained)
Cons of open source CMS:
- You are responsible for your own training and onboarding
- You are also responsible for hosting, security, configuration, installing updates and patches as well as overall system health
- Need to hire developers to help with advances configurations and customizations that go beyond standard capabilities
- Need to pay for your hosting, server, and database administration
- Open-source CMSs are a prime target for hackers
- Lack of advanced features. Especially with “one size fits all” solutions
Typical use cases: content-based websites, blogs, brochure websites, small business websites, portfolio websites, simple e-commerce.
CMS types by hosting type
Self hosted
When using a self-hosted CMS you are responsible for the full website setup and configuration: from buying a domain name, configuring DNS, configuring email, creating and managing the database, choosing the hosting provider, configuring and managing the hosting environment to installing the updates and monitoring/troubleshooting security issues.
This kind of setup gives you a lot of control, but it can get too intimidating and/or very labor-intensive especially for non-technical users.
Typical examples of self-hosted CMSs: most of the ‘old school’ open-source content management software such as WordPress (wordpress.org is a self-hosted version. There’s also a hosted WordPress version – wordpress.com), Drupal, Joomla.
Saas CMS and hosted website builders
In recent years, we saw a rise in various cloud bases virtual SaaS solutions including various site builders and more advanced all-in-one platforms. Most of these solutions are using a subscription model and they handle and/or simplify all the stages of the website creation process for the user. They have hosting, support, backups, security, and training baked into the initial offering.
These platforms make clients’ life easier form the support and maintenance standpoint, but this comes at the price of having less control over your web property and your data.
Common examples of hosted cloud-based content management systems: Wix, Squarespace, Shopify, WordPress.com, Weebly, Webflow.
Different CMS types by Purpose
Best for typical content-based websites: WordPress, Joomla, Mambo, Drupal, TYPO3, Contao, Neos, Squarespace, Wix, Weebly, Adobe Dreamweaver, Webflow.
Best for digital marketing: HubSpot CMS Hub, WordPress, Magnolia CMS, Sitefinity, Kentico, Mura, Joomla!, Crownpeak, idev CMS, Oracle WebCenter Content, Evoq Content.
The best CMSs for e-commerce: Muvi, Shopify, Magento, OSCommerce, OpenCart, PrestaShop.
Best platforms for audio/video: Muvi, Dacast, Brightcove.
Best CMSs for e-learning: Muvi, Moodle, Canvas.
The best for blogs: WordPress, Blogger, Ghost.
Best content management systems for membership websites: WordPress + MemberPress, Morweb, Drupal, YourMembership, Wix, MemberSpace, Wild Apricot, Weebly, Subhub
CMS types by structure
Traditional
In a traditional CMS, all back-end (database, application code, content management functions) and front-end (theme/presentation layer) components are tightly coupled together. Such content management systems have a monolithic architecture where all layers depend on each other.
Most of the widely popular platforms such as WordPress, Drupal, Squarespace, etc. are examples of traditional CMS.
Traditional CMS works best for typical and simple websites such as brochure sites and blogs. They are very user friendly and easy to use for non-technical users. However, they can become pretty limiting for big complex websites. This is also not the best solution for web applications that require a flexible and interactive presentation layer, and applications that need to serve content in a variety of ways for different clients and front-ends.
Headless
In a headless CMS, the presentation layer is completely removed from the core functionality of the CMS. The content management system is responsible only for the data/content storage, data/content entry, content management, and editorial experience. Then this content is made available via APIs for consuming by various front-ends such as different web and mobile applications as well as IoT devices. There is no pre-defined theme/look/template for the content, it’s fluid and adaptable for any platforms, channels, applications, and devices.
Headless architecture in a fairly new trend but there’s a huge variety of solutions out there. Some of the examples of headless CMS include Contentful, Butter, Zesty, Prismic, Kentico, Bloomreach, Magnolia, Netlify, Agility.
Headless CMS works best for applications that need to serve content to a variety of clients and/or front-ends. It is also a great fit for applications where back-end and front-end development teams are not working closely with each other and applications that require a highly flexible and interactive front-end built with one of the JavaScript frameworks.
Decoupled
In a decoupled CMS back-end and front-end layers are separated from each other. The back-end part of the application is responsible only for content storage and management/editorial experience. There’s no theme or template being applied to the content at this stage. In order to be published and accessible by the end-user the content needs to be pushed through the API to a presentation layer which is responsible for the delivery of the content component and is controlled by a separate system.
Similar to headless solutions, decoupled architecture works well for:
- applications where back-end and front-end development teams are not working closely with each other,
- applications where the required front-end can’t be achieved with a traditional CMS,
- and/or applications where the front-end needs to be built, administered, and maintained separately for other reasons.
Decoupled architecture can be achieved with Drupal, WordPress, and Sitecore, and decouples sites can be built on top of various API-enabled and API-first content management systems.
Static site generators
Static site generators are applications that take your website content and process it by applying the theme/template layer to it and generating raw static HTML output. Such websites don’t use a traditional backend like many of the content management systems do. This makes them incredibly flexible, fast, and very secure. Dynamic features (handling user’s input, search, e-commerce, etc.) on such websites are powered by 3rd party services. Static site generators can also be successfully paired with a headless CMS.
Al already mentioned the main benefits of static site generators are flexibility, speed, and security. However, this solution is not for everyone as it requires technical expertise and experience (most likely, you’ll need to hire or to be an experienced web developer in order to use it) and configuration/user/content management experience can web pretty involved.
Popular examples of the static site generators are Jekyll, Hugo, Gatsby, Next.js, Eleventy, Nuxt JS, Next.
Flat file CMS
A flat-file CMS is a content management system that uses simple static text/markdown files to store all the content and data. Similar to static file generators, flat-file CMSs don’t have a database and are storing all the data using files. However, unlike static file generators, flat file CMSs have a back-end application running on the server and provides admin and content management interface.
The pros of the flat file CMS are security, ease of use, low cost, speed. However, there are a few cons as well such as a steeper learning curve and more limited plugins/modules/extensions ecosystem comparing to traditional CMSs, challenges with the sorting and search features, and a smaller community.
Some of the top flat file CMSs are Kirby, Grav, razorCMS, Monstra, HTMLy, Flextype, Pico, WonderCMS.
Useful links:
Other articles about CMS.
A great overview of popular content management systems.