What is a CMS?
CMS stands for Content Management System and is software that is used to create and modify content on a website. Typically, a CMS serves more than one user in a joint collaborative environment, where each user can have access to all or some of the essential functions to create, read, update and delete (CRUD) content.
A CMS will in most cases work as a web content management system (also called WCM or WCMS), which means it is designed to manage content on websites. This means you can control all your web-based content from this system. That includes text, graphics, video, and audio, which you control through your CMS and publish to your website.
Table of content
What is the difference between a CMS and a WCM?
CMS (Content Management System) and WCM (Web Content Management) are often used interchangeably and today they are almost the same thing. The difference between a CMS and a WCM is the fact that a WCM is a type of CMS that only handles web content. The core functionality is the same - they are used to create and manage your content - but a WCM is specifically used for managing and creating content for the web. This is typically content for websites, but can also be content for apps, IoT devices, and so on.
A CMS in itself does not necessarily have to be a WCM since it can also be used to manage content that is not for the web. A WCM on the other hand is always a CMS.
Today you will have a hard time finding a CMS that does not also work as a WCM, so the difference between the two has blurred in recent years and is mostly a matter of which label the creators choose to use.
Features of a CMS
A web CMS has two major components: a content management application (CMA) and a content delivery application (CDA). The division of these two components is the main feature of a CMS and the reason it is so popular worldwide for creating websites.
Content management application
The content management application is the frontend user interface of a CMS’s backend/backoffice. This is the interface where a user can log in and create, edit, update or publish content without having to do any coding or programming. This effectively separates the codebase of the website or application from the content management, so content can be updated without the need of a developer.
Content delivery application
The content delivery application is the “true” backend of the CMS, which enables the content to actually be updated on the website. The CDA contains all the code and logic needed to transform the content provided in the CMA into what eventually becomes visible on a website to the end-user.
This is typically done through the use of various document types such as templates and stylesheets.
Besides those two main features, there are several other underlying features that make a CMS great for creating and maintaining websites. Some of the most important features are:
Integration to other systems
A CMS is not always the only source of data or content on a website. A key feature of a CMS is its extensibility, which makes it possible to build or add anything to it through the use of APIs or other features that lets you integrate with other systems. Not all content management systems allow you to integrate with third-party tools. Proprietary CMS' often limit integrations to be able to protect and manage the source code, while open source CMS' will typically allow you the freedom to integrate with any tool you want to. Learn more about the different types of CMS' in a later section.
Not all CMS' have a built-in eCommerce feature, but most will instead allow you to add the feature through integrations, extensions, or packages. This lets you update your regular content in the same system as your product data.
With a CMS it is often made easy for you to add data analytics tools to your website, so you can track how your website is performing. Data analytics will often be integrated into the CMS itself, but can also be through external integrations to data analytics tools such as Google Analytics.
User control and governance
Not all users should have the same permissions. That's why a key feature of a CMS is user control, which allows you to add different permission levels for users, so you can divide it into admins, editors, and other roles you need for your website. In most cases you'll have the option to define custom user roles as well, so you can tailor user access to fit your needs for security and governance. It is important to have a proper user control, so you don't run into security issues or users changing things they shouldn't. A good rule of thumb is to only give admin access to users that have deep knowledge of your content management system and its code.
The web is truly global - and with a CMS that supports a multilingual site, you will have a better time updating all of your content in one system. The level of multilingual support varies but is a key to maintaining and updating sites that are available in more than one language. A key part of this feature is the ability to control your language variants within the same installation and to make the management of variants easy to handle.
CMS' are built with SEO in mind, so you don't have to worry about not being able to optimize your website for the most popular search engines. SEO features vary greatly, but the most common features are the ability to update meta tags, create sitemaps and set up schema markup. While the most basic features for SEO are often built-in to the CMS, you'll often be able to find external plugins and extensions for more advanced features.
What CMS is used by a website?
Have you come across a nice website and would like to know which CMS is used? Then there are ways to find out.
A lot of websites use various content management systems that have distinct signs, that allow you to recognize the system without having access to the backend itself. It's not every website you can do this for though, as some can be hard to detect or simply because the website is built in a homemade system or without any CMS at all.
If you want to check which CMS is being used by a website we give you the 3 most common ways of checking.
One of the easiest ways to identify which content management system a website uses is to use an online tool. This method doesn't require you to download or install anything and most out there are free to use. These tools work by having a list of unique traits for various CMS' and then running through any URL you give it to see if it can recognize any of these traits. If it fails it does not mean that a website doesn't use a CMS. It simply means that the tool couldn't recognize it.
If you want faster and easier access to identifying which CMS is used on a website while you're browsing, then you can use a browser extension. These will give you information right away when you are visiting a website. Often this information is accompanied by other information about the website such as which cookies are placed, fonts used on the website, and any other software recognized.
One such Chrome Extension is Wappalyzer.
Manually check the source code
The last way to figure out which CMS is used is to manually look at the source code of the website. While it does not always show you directly in the code, you can often find references to it when looking at image paths, plugins/extensions being loaded, or other hints in the code.
If you want to use this method, you would have to know exactly what to look for, and should only be used if you cannot use any of the 2 methods above.
Pros and cons of a CMS
Deciding to go with a CMS over coding it from scratch has its advantages and disadvantages. And even though it ultimately depends on what you wish to accomplish, we have made our list of pros and cons below.
A friendly disclaimer: while we tried our best not to be, we’re obviously a bit biased in this part as we're the creator of an open source CMS.
Pros of using a Content Management System
You can get started faster
One of the advantages of choosing a CMS is how fast you can get started with a new project - whether that is a website or something else. When working with a CMS a lot of the needed features and functionality are already developed, which enables you to get started much faster than when building a website from scratch.
Most web content management systems will also include various starter kits, templates, or skins that help you get started within minutes or hours instead of days or weeks.
You can separate content and code
As explained earlier in this article, the division of the two components of a CMS, also enables you to keep the content and the code separate from each other. So a user wishing to make changes to the content on your website does not need deep knowledge of HTML, CSS, or other coding languages.
That means that even non-tech users can create amazing new pages on your website - without fiddling with the code.
Changing and updating is faster
Due to the separation mentioned in the last advantage, it is also faster to change and update content, design or code on your website.
Content editors will not have to involve a developer whenever they have to change a picture on the website. This makes for a smoother and faster experience for content editors.
For developers, it is also faster to make changes, since a lot of functionality is built into the CMS.
You will have version control
Version control (also known as revision control or source control) enables a user to see previous versions of a piece of content and to roll back changes, if needed.
This is especially useful when working with teams consisting of multiple users collaborating on a project. Version control will keep previous versions of content available for rollback and will also include information such as which changes were made and which user made them.
You can control and limit user access
Working in a CMS often includes several users or teams. The knowledge, skills, or purpose of these users might not be the same though. Limiting user access in a CMS is a very useful feature as it allows you to control who can access which parts of the website and which actions they are allowed to do.
Typically this will be divided to admins and users, but can in most cases be divided even further. This will enable you to limit access, so a user can access what they need to fulfill their role. This also helps to minimize accidental errors.
Support, help, and resources available
Since content management systems are very popular around the world, you will also find a lot of support, help, and resources available. The amount - and quality - of these resources depends on the number of users for the CMS, but the most popular systems have a lot of resources readily available online. At the same time, it makes getting help from developers or designers easier as they will most likely have experience working in your system.
If you are using a proprietary CMS you might also be able to get official support or help from the company developing the system.
Cons of using a Content Management System
Limited functionality and flexibility
The most popular content management systems out there are built to fit as many people as possible. This means that most basic functionality that most need to create a website is included. But if you have specific needs or requirements for your website, it might not be possible in a CMS.
This can especially be an issue with proprietary CMS’ where the flexibility in what you can change or alter is limited. This is somewhat solved by Open Source CMS’, where you have the ability to rewrite the codebase.
If your needs are very specific and your chosen CMS does not have a fitting solution to those needs, it might require a lot of modifications and rewriting for you to get what you need. In those situations, it might be more beneficial to not use a CMS and instead make it from scratch.
Potentially higher security risk
By using a Content Management System you might be more liable to attacks from hackers. The most popular CMS' are used by thousands of people worldwide, so if malicious hackers find a security flaw they can exploit that on many people using the system. For that reason, the more users a platform has, the more hackers there are trying to break it.
If you choose an open source CMS, then you should take extra precautions such as two-factor authentication and minimizing the use of (insecure) external extensions, packages, or plugins. Always check what the extension does, which files it will alter, and also who the creators are, so you can minimize the risk.
You might have to compromise on the design
Most content management systems come with design templates, skins, or starter kits to get you started with the frontend design of your website. But even though you can adjust most elements on the website, sometimes you might have to compromise. This can be due to how a CMS is built and some elements that cannot easily be changed to what your web designer imagined.
As with the previous con, this is partially solved by using an Open Source CMS, where you have the possibility to make the necessary changes as the source code itself is free for you to change.
Before starting a new project it is always a good idea to research the possibilities and limitations when it comes to making design changes. If there are too many limitations it might mean that you cannot get the design you want. Then you either have to rethink and change the design, see if you can find a different CMS, or design and build your website without a CMS (for example by using a Headless CMS).
Different types of content management systems
All content management systems are not the same.
The first key difference between them is the framework and coding language used. When it comes to web development, the two most commonly used are ASP.NET and PHP. Which one to choose depends mostly on the developers who are building the website. For an editor, marketer, and even end-user the difference between the two is minimal. The difference is in the code. If you have heavy dependencies on system integrations to other systems, these will also have a big impact on the framework and language you should choose.
Another key difference between content management systems is about the source code: is it open or closed? The two types are either called Open Source or Proprietary.
Open Source CMS vs. Proprietary CMS
The key difference between an Open Source CMS and a Proprietary CMS is who can manage the source code and whether or not it is open for you to edit.
Open source is developed using collaborative resources and maintained by a global community of developers. Anyone can edit the code and contribute to it. If you have specific needs or want to build out new functions specifically for your project, then open source allows you to do that.
The nature of open source also means that a lot of developers around the world will have experience working with the CMS.
A proprietary CMS is the opposite of open source. It is built and maintained by a single company, which means that you do not have the possibility to change or contribute to the source code.
Umbraco CMS - best of both worlds
Umbraco is an Open Source CMS, which is also being maintained by a company - we call it Umbraco HQ.
This combination gives you the unique advantages of an Open Source CMS while having a team of experts ready to both maintain the CMS and support you when necessary.
If you just want to enjoy the advantages of an Open Source CMS, you can download and install Umbraco CMS today for free.
But Umbraco is so much more than just a CMS - and we have a lot of ways to help you:
- Do you need a better and faster way to work with your website - while also getting cloud hosting?
Then Umbraco Cloud is the thing for you
- Do you want a hotline to our experts at Umbraco HQ?
Then a paid CMS plan is just the thing
- Need help finding the right agency to develop the project you deserve?
We can help you find the perfect match through our partner program
What can Umbraco CMS be used for?
Umbraco CMS is highly flexible and scalable, which makes it suitable for both small blogs and major corporations.
There are no limitations as to what Umbraco is capable of digitally. The CMS can, for example, be used to build:
- Headless solutions
The open source nature of Umbraco means that everyone can contribute to making the CMS better. At the moment we have more than 200,000 active community members who, every day, help to improve Umbraco by submitting pull requests.
How to install Umbraco?
If you plan on hosting your Umbraco site yourself, you can download and install the Umbraco CMS here.
Or you could let us take care of everything for you by using Umbraco Cloud. If you’re not sure you’re ready, you are welcome to take a 14 day free Umbraco Cloud trial. You will be up and running in 2 minutes.
Frequently Asked Questions about CMS
- How does a content management system work?
- What is a CMS used for?
- Should I use a content management system?
- How to choose a content management system?
- What is the best content management system for websites?
- What is the easiest content management system to use?
- How many content management systems are there?
- What is an open source CMS?
- What is a proprietary CMS?
- What is a headless CMS?
How does a content management system work?
A web CMS has two major components: a content management application (CMA) and a content delivery application (CDA). The division of these two components is the main feature of a CMS and the reason it is so popular worldwide for creating websites.
Below those two main features, there are several other underlying features that make a CMS great for creating and maintaining websites. Some of the most important features are:
What is a CMS used for?
A content management system is used for creating and managing content. A web content management system (WCM or WCMS) is a type of CMS that only handles web content. CMS and WCM are often used interchangeably today as they are almost the same thing and most CMS' are used to handle web content.
The most basic feature of any content management system is the ability to create, read, update and delete content (also known as CRUD).
Today a CMS is mostly used to handle websites, but can also be used for apps, IoT devices, screens, smart speakers, and anything that either has a screen or can deliver content in any way. A popular way of handling content across multiple screens and devices is by using a headless CMS.
Should I use a content management system?
You should use a content management system if you want an easy interface to create, read, update and create content while being able to take advantage of built-in features such as user control and governance. There are a lot of different CMS' available today and they all come with different features built-in, but most will have the most basic features ready out-of-the-box so you can start creating content and building your website.
By using a CMS you'll often get started much faster as you won't have to develop all of the functionality yourself and can take advantage of something that is already developed.
The alternative to using a CMS is using a custom-built framework and building your website from scratch. This has the inherent advantage of being completely customized to your solution and what you're trying to build. Depending on the size of your project this might be a big task however and will require many hours of development.
A popular alternative to building a website from scratch is taking the basic features from a CMS and customizing it to your own needs. This is often referred to as a hybrid CMS and will often be based on an open source CMS that has a license allowing you to use and alter the source code any way you want to.
How to choose a content management system?
Choosing the right CMS can be a difficult process unless you know what to look for. When you start the search for the right content management system to use for your website, you generally have 2 options:
- Find a web agency and let them steer the CMS selection process based on their experience and expertise
- Weigh and select the CMS yourself and then choose a partner agency (if you need one)
While option 1 is as simple as finding a great partner agency and letting them help you, option 2 requires a bit more in-depth work on your part. But in the end, it might also be the best and most thorough way for you to get the best CMS for your needs.
The CMS selection process
To start the selection process it's important for you to assess what really matters for your organization. What are your must-haves and what are your nice-to-haves?
A great way to structure this process is to use a scorecard with the possibility of weighing every single part of your must/nice-to-have list. A scorecard could look something like this:
With your important categories selected and weighed, you're ready for the next step: actually testing out different options. Which options to test out vary greatly from website to website, but a good rule-of-thumb is finding at least 3-4 to test out. This allows you to try some different types of CMS' such as PHP or .NET, Open source or proprietary, and so on.
A great way of testing the options is to opt for those that either offers a free version or a free trial/demo. A demo or walkthrough of a CMS is great for many purposes, but to get a true feel of the system and how it is to use, it's often best to try it out yourself. Try creating a page, uploading some images, and look through the code.
What is the best content management system for websites?
The best content management system to use is to find the one that best fits your needs. Choosing a CMS is not one-size-fits-all and the right answer is only found when taking your requirements into consideration. The right CMS for a blog is not the same as the best CMS for a webshop with thousands of products to sell.
To find the best CMS for your website we recommend you take a look at the section on how to choose a content management system further up on this page. The results will vary greatly depending on your needs and the best CMS for a blog will most likely not be the best CMS for a webshop.
What is the easiest content management system to use?
The easiest content management system to use is the one that best helps you accomplish your goals with your website. A CMS can typically be easy to use in two different ways:
- Easy to use for the one developing the website
- Easy to use for the one creating content for the website
"Developer-friendly CMS" means a system that is easy and logical for a developer to work with. There are a few key factors that can help make a CMS developer-friendly.
The first is the programming language used for the CMS. This is primarily up to personal preference, but any developer will be more or less skilled in different programming languages and using different frameworks. A CMS will seem more friendly to a developer who has experience using the programming language or framework it's built on. If you're a developer, then the easiest CMS to use is the one that uses a programming language or framework that you're the most comfortable working with.
The second factor is how easy it is to integrate with third-party software and how well it extends. Almost every website will need to integrate with one or more third-party services. And no matter if this is done by direct integrations or by the use of extensions or add-ons, it's important that this is easy for a developer to do.
The last factor is the help resources available for a developer; does the CMS come with any support options or documentation? The more widespread a CMS is, the more community resources will often be available to support a developer using the system. Aside from community resources, it's also worth looking for official resources such as documentation or paid support plans available. It might not be needed for the project, but it adds a bit of security that if a developer gets stuck on a project they can always find some kind of help.
A "user-friendly CMS" is one that allows its users to accomplish their goals in a simple and easy way. Often this means being able to create and update content and other marketing activities needed to help the website accomplish its business goals.
The editing experience is often one of the key features here, which can help editors and marketers save hours upon hours of work if it's streamlined and simple.
There are a lot of user-friendly CMS' out there and often it can come down to preference and prior experiences with a system. If you choose an open-source system, the user experience can often be customized to fit the workflows and needs of the users for a specific project. In those situations, it's often worth it to find a flexible and developer-friendly CMS to use, as that will allow the developer to create the user experience wanted while feeling comfortable using the CMS of choice.
How many content management systems are there?
There are hundreds, if not thousands, of content management systems out there today. An exact number is very hard to find as many systems are less known, spinoffs of other systems or custom build which are hard to distinguish and classify.
There are a few lists of content management systems online that give an indication of how many bigger content management systems there are, that seem to be actively developed and maintained.
The list on Wikipedia is by no means an exhaustive list though and more can definitely be found on other lists online. One of which is the amount of CMS's listed on G2.com, where a total of 292 are listed in the Web Content Management Software category.
What is an open source CMS?
Open source (also written as open-source) software is available under a license in which the publisher provides users the rights to make changes and copies. It is developed using collaborative resources and maintained by a global community of developers. The source code of an open source software is accessible to everyone and any member of the community can contribute to the code.
An Open Source CMS is often characterized by being free to use as well as a high level of community involvement in the project. Most open source CMS' operates under the MIT license. This license originates at the Massachusetts Institute of Technology and is one of the shortest and most flexible licenses in the world. That means any software using this license gives the users a lot of freedom to not only use the software but also extend and customize it.
The open source license also allows developers or companies to develop add-ons, plugins, and extensions to the open source CMS, which they can either offer up for free or make into paid solutions. Both of these are often seen with any open source CMS and are a big advantage over using a more closed-off proprietary CMS.
What is a proprietary CMS?
A proprietary CMS is the opposite to open source CMS in a way that it is completely built and maintained by a single company. The source code of such CMS cannot be changed or distributed without complying with licensing agreements. The license owner can restrict the use, access, and modification of their source code depending on their terms and agreements.
While it lacks the flexibility of an open source content management system, a proprietary CMS can be a more robust and reliable solution for some projects, as it provides a stable platform that you can't break with changes to the source code. The limited flexibility and customizability effectively mean that there's less risk of you making any breaking changes to the website. The downside of this is of course that there are limits to what you can build with the CMS. Some companies that maintain proprietary CMS' might be open to doing the customization for you though, but that varies from case to case.
What is a headless CMS?
A headless content management system is a CMS that is backend-only. What that means is that a headless CMS has its focus solely on the administrative interface for content creators, the handling of collaboration and content workflows, and the configuration of content into taxonomies; it doesn’t deal with presentation layers, templates, or design of a site.
In a traditional CMS, you have a body and a head that is dependent on each other, where the body is the backoffice and the head is the presentation layer, where you can see how your content will look to your users. These are connected and coupled together, so when you create or edit content in your backoffice - your CMS’ body - you can see how it looks in the frontend - your CMS' head. This is the best and easiest way to work with a website since the coupling of body and head makes it easy to preview and publish content to your website.
This is very different in a Headless CMS, where you do not have this relationship between body and head. The reason is simple - the head is completely cut off from the body (thereby the name headless). That means you are left only with a backoffice, where you can create all the content you desire, but do not have a built-in function to preview your content through the CMS.
Why use Umbraco?
If you want full control of your website, then you need a truly flexible CMS. With Umbraco you can unfold your talents and make your website look, feel and work exactly like you want it to.
What is Umbraco?
Umbraco is an open source .NET content management system that is free to install, setup and host yourself. You can also let us take care of it all for you on Umbraco Cloud - our Azure Cloud hosted solution.
How do I get started?
You can try out Umbraco by taking a free 14-day Cloud trial. No strings attached and no credit card is required. Fill out the form and we'll have a site ready for you in less than 5 minutes.