Skip to content

CMS in practice — from plugin to custom theme

Content management systems, themes, plugins and headless CMS

A content management system abbreviated CMS is a system that separates content on a site — texts images products blog posts — from the code itself that shows it. The purpose is that an editor without programming experience can update the site through an administration interface while the developer handles templates and functionality. The regulation for web developer education mentions it as an independent field: being able to implement your own frontend solutions in a given CMS set up administer and further develop it.

§Why use a CMS at all?

To build a website from scratch — with its own login editing surface image database and permission management — is a large piece of work that has already been solved thousands of times in existing systems. A CMS saves that time and at the same time gives the customer the ability to edit texts and add content themselves without having to ask a developer for help with every single change. The price is that you work within the system's framework and data model and that you take responsibility for keeping it updated.

§Themes and plugins — extension without building from scratch

Most CMS systems let you style the site with a theme (the look) and extend functionality with plugins or modules (e.g. a form, a webshop function or search engine optimization). It is a quick way to a lot of functionality, but each addition is also code written by others that runs on your site — with the trust and risk that entails.

  • 01Choose themes and plugins from sources with a track record of maintenance and updates
  • 02Install only what the page really needs – each addition is a new possible source of error
  • 03PLACEHOLDER_58
  • 04Test updates on a test environment before they hit the live site

§Headless CMS — content without a fixed front page

A traditional CMS delivers both the content and the finished HTML page. A headless CMS only does the first: it stores and structures the content and provides it via an API typically as JSON. The frontend — built entirely independently such as an app or modern web solution — then fetches the content and decides itself how to display it. It gives freedom to reuse the same content in many places (web app digital signs) but requires you to build the entire display yourself which a traditional CMS would otherwise have provided.

PropertyTraditional CMSHeadless CMS
DeliversContent / exampleOnly content, via an API
FrontendOften tied to the CMS's own templatesBuilt completely freely independent of the CMS
Content reuseTypically only on one sideEasy to reuse across surfaces
Startup timeFaster getting upRequires more frontend work itself

§Operation and maintenance are part of the task

Setting up a CMS is only the beginning. Ongoing management involves updates, regular backups, user and permission management, and monitoring that the site performs as intended. Set permissions according to the principle of least privilege: an editor who only needs to write news does not require access to system settings or other users' accounts.

§Know multiple systems — not just one

There are many CMS systems each with its own strengths: some are broad and widely used with a large selection of plugins others are specialized for web shops and still others are built as headless solutions from the ground up. Part of the trade is being able to get into the system a given workplace or client already uses rather than only knowing one particular system by heart.

A CMS does not solve the problem of maintaining a website — it moves the task from writing HTML to keeping an entire system updated and safe.

Rule of thumb from CMS operations.