What is a CMS?
CMS stands for Content Management System. It is a 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 every user can have access to all or some of the essential functions to create, read, update and delete (CRUD) content.
A CMS will often work as a web content management system (also called WCM or WCMS), which means that it is designed to manage content on websites. This means that 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.
- Content Management Application (CMA)
- Web Management System (WMS)
- Content Delivery Application (CDA)
- Web Content Management (WCM)
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 front-end user interface of a CMS’ backoffice (backend). This is the interface where a user can login 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.
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.
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 rollback 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 minimizing 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 amount 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).
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.