Jargon buster: What’s a CMS?

Web development is full of jargon, although I do my best to avoid using it! This is the first in a series of posts which will explain common web development terms and what they mean.

If there’s a term you’d like me to explain, let me know.

What’s a CMS?

CMS stands for Content Management System: it’s a piece of software which lets you create, edit and publish (i.e. manage) all the words, pictures and other stuff on your website, known collectively as your ‘content’.

Nowadays, most websites use a content management system of some kind, although a small number are still hand-created, page by page. These are known as static websites.

Why would I use one?

The biggest advantage of a CMS is that they make it easy for anyone – even people without technical knowledge – to create, edit and publish a website. Most CMS include standard text formatting tools that you’d expect from a word processor, allowing you to make text bold or italic, or to add bullet points, images and links. You can preview changes, go back to previous versions, and schedule your updates so they only go live when you want them to. You have full control over who can edit your website.

A key feature of a CMS is that it separates the website content from the design. All of the content is stored in a database, but the database doesn’t care how all these bits of content are displayed on the resulting pages. That part is dealt with separately by the design ‘template’ or ‘theme‘.

This has two big advantages: firstly, you can change the look of your website without having to change each individual page. You just make a change the theme or template and – ta-daa! – it all looks different.

The second advantage of this design/content separation is that it becomes much easier to make your website mobile-friendly. Instead of having to create a separate set of pages which look good and work well on mobiles or tablets, you can just set a few rules in the template and the same content can automatically be displayed in a different way on smaller screens, as in this example from BBC News:

Screenshots show how the BBC News website appears on desktop computer and on a mobile phone.
BBC News website as seen on a desktop computer, and on a smartphone

Great! Everyone should be using a CMS then?

In most cases, yes. But occasionally it might be better not to use a CMS. Take the case of a really simple website which isn’t going to be updated very often. In that case, a CMS might be more complex than is needed: it could be quicker to set up a static website. Another potential downside is that – depending on the CMS you choose – it may restrict what you can do. Since it can be difficult to change from one CMS to another, choosing the wrong one can be a time-consuming mistake.

How do I choose the right one?

Start off by being really clear about what you need to be able to do. Try to think about the end result that you want, not ‘how we do things now’, as a good CMS should help to improve your processes, not just replicate them.

  • What type of content will your website have? Is it highly structured data (e.g. a product catalogue) or do you want to accommodate lots of different styles (e.g. blog + gallery + e-commerce)?
  • Does your CMS need to integrate with existing systems within your organisation? If so, how?
  • Who will be managing your content and what sort of controls do you need? e.g. Will one person (or team) be editing everything or do you want certain individuals or groups to edit different areas of the website? Can everyone publish directly to the website, or do you want changes to go through an approvals process?

Unsurprisingly, you can find lots of information about different types of CMS online. Websites such as WhichCMS can help you pick out the ones which match the features you need, but it’s usually wise to ask an expert for advice. Be aware that most web developers will have a preferred CMS that they use for most of their projects (for example, I tend to use WordPress as it’s so versatile and user-friendly) so you may want to speak to different developers before you make up your mind what’s right for you.

Are there any other bits of web terminology you’d like me to explain? Leave a comment to let me know.

Want more blog posts?

Subscribe to get my latest blog posts straight to your inbox