What is a CMS? Introduction to Content Management Systems
CMS stands for Content Management System, and as its name implies it manages content. Content can be of any kind, blog posts, forum posts, pages, images, audio, video, attachments, events, products, and so on.
A CMS can be any application that allows you to manage content, but today, most of CMSs are also WCM or WCMS (Web Content Management System). They are composed of 2 main parts: CMA (Content Management Application), which is the administration interface or the backend, and the CDA (Content Delivery Application), which displays or delivers the content to the end user also called the front-end of the website.
Why should somebody use a CMS?
Ease of Use
With a CMS, publishing, editing and drafting content is really easy. You can access the backend interface from a browser from anywhere in the world. They come with a WYSIWYG editor, which allows even non-experienced HTML programmers to create beautiful and stunning content.
Free & Open Source
Most CMSs are free and open source software, so you can take a CMS, inspect its source code, modify to your own needs, either by developing a plugin or modifying the core files, and you can share your modification with your friends as well. The fact that the source code is accessible to anyone, makes catching and reporting security related bugs easy, thus, making the CMS much more secure compared to one developed in-house.
CMSs come with user and group permissions, so you can have fine-tuned access control to the content or the publishing of new content. For example, you can have a user who can update a product in any shape or form, but it cannot publish these changes until somebody else signs off, or you can have a user who can only manage events in a certain geographic area, etc.
Content management systems usually track content as objects or entities, which also allows fine-tuned access control to the content, and ensures that things are linked to each other in a proper way.
You can upload an image to your website and hard-code it in the HTML, or just have a link to it, but what happens if the page is deleted, or that image is referenced on multiple pages, and you want to add tags to it for some SEO boost (alt, title, description)?
In a CMS, you can upload the image and it will be treated like a piece of content, you can attach metadata to it (alt, title, description), you can have different resolutions for it (a small thumbnail, a smaller one for mobile devices, a hi-res version for PC and Tablets), and you can also restrict the access to it, so only subscribed or logged in users might see it.
A good CMS will allow and even encourage extensibility. The Core or the CMS itself is more of a foundation, which allows developers to build new things on top of it while respecting and following some basic rules dictated by the CMS. This ensures that two developers who never talked to each other can develop plugins or addons to a CMS, and both will work correctly and without much interference.
A plugin/addon/component is a piece of software which can be installed on the CMS and they provide additional functionality to the core CMS. An example would be a shopping cart system. Neither WordPress nor Joomla come with a shopping cart system out of the box, but you can install WooCommerce plugin to turn WordPress into a webshop, respectively VirtueMart to do the same with Joomla.
Themes & Templates
Another useful feature of a good CMS is the separation of content/data from the presentation or layout. This means that you can change the display or the frontend part at any time to give your site a new look, and it will work just the same. It will contain the same blog posts in the same order or the same products in the same categories, just the presentation will change hopefully for the better.
There are a lot of Themes and Templates both free and paid ones for any major CMS. The sheer number of them makes it really hard to pick one, but let’s consider that is a positive thing.
There are a lot of Content Management Systems out there, which more or less promise the same thing: a centralized system where you can manage all your content, and your content can be anything.
Currently, 27% of websites on the internet use WordPress as their CMS, which is a huge number of use cases for a CMS. This is due to the fact that WordPress has the largest market share at around 60%, so this means that of all sites that use a CMS, more than half picked WordPress. The next most popular CMS is Joomla at 6.7%, followed by Drupal at 4.7%, and Magento at 2.3%.
Every CMS is universal, or they claim to be, but every one of them excels at something, and it’s a better fit for a particular purpose then the rest.
WordPress started out as a blogging platform, but thanks to its extensibility and coding philosophy, plugins started to show up very quickly — like WooCommerce for shopping cart, BuddyPress for bulletin board, etc. — which added extra functionality on top of blogging. Today, you can turn a simple WordPress install almost into anything by installing plugins, and you can customize its look by choosing a theme.
Drupal is a great universal CMS, which in its core is more basic than WordPress, it has a bit of a steeper learning curve, but overall, it’s a better universal CMS than WordPress. Drupal is more of a platform than just a simple CMS, it is the ideal tool for building huge and robust web ecosystems.
Magento is the ideal solution for medium to big webshops. It’s an eCommerce platform with a lot of options and extensions geared towards eCommerce solutions (e.g. Follow Up Email, Salesforce Connector, Advanced Customer Segments, etc.). It is a mature CMS, which is trusted by a lot of big-name online shops.
If you want to start a new website or just learn about CSMs, in general, WordPress would be a great first choice.