Rather than trying to compare and contrast the dozens of popular Content Management Systems, I thought it would be more helpful to discuss the various approaches used by modern CMS’s, and the advantages and disadvantages of each. In this way, the entire range of available options can be appreciated, providing a technological overview and enabling you to have a better understanding of which kind of CMS may best fit the needs of your projects.

At this stage, I feel that the CMS market is best illustrated in four distinct segments: hosted, traditional, static site generators and new concepts. Examples of each system are shown at the start of each segment, but they should not be understood to be the only or best solutions available.

Hosted

The simplest Content Management Systems and arguably the easiest to use, provided purely as a hosted online service: there is nothing to download, and nothing to install. All interaction with the CMS is made through a web browser, and all data for the site is held at a remote location.

  • Typically very strong on templates
  • Restricted ability to make changes
  • No custom plugins (i.e. limited extensibility)
  • Control over HTML, CSS and JavaScript
  • Often come with integrated domain names and hosting, creating a “one-stop” service.  

These systems are frequently offered as a “freemium” service: the basic system may be free (or very cheap) with additional extra features available at a price. Most such systems are closed source and proprietary: there’s no software to see, adapt or change.

Traditional

Self-hosted software that can be downloaded for development purposes and deployed to an appropriate environment for public use. Often written in PHP, with a MySQL database to store site content.

  • Complex, but highly customizable.
  • Often free and open-source.
  • Usually require you to find an appropriate host and domain name yourself

Many of these systems have very active communities of developers and designers behind them, which makes it easy to get up to speed, and find great information for working with the CMS.

Traditionally the most popular choice, with the most options for customization, although their size and complexity may be overkill for smaller sites.

Static site generators

Static site generators such as Hugo and those listed above reverse the traditional CMS model: rather than keeping a live database open on a web server to deliver pages, the developer hosts the site generation software, which is used to generate static HTML, CSS and JavaScript content for consumption by the public.

  • Speedy: static pages are delivered faster than a traditional CMS stack
  • The lack of any server-side language makes the generated site near-impregnable to most attacks.
  • Setup can be somewhat trickier than the more polished traditional CMS’s, due to their relative newness.

At this time static site generators are probably best suited for small sites and development teams.

New Concepts

Some developers are inverting the traditional content management build process: rather than working exclusively inside the CMS, building every page “from the ground up” in that context, web pages for the site are created anywhere you wish using any tool you like, with particular areas and content marked as being “editable” using a custom syntax. Delivered into the CMS, the result that comes out is a dynamic page that can be edited in particular places but is static everywhere else: a very new, promising approach.

The range of CMS solutions is vast, and it’s important not to fall into the trap of using one of the “Big Three” (WordPress, Drupal and Sharepoint) just because it is popular and available. Every site will be different, and have different requirements from a Content Management System.

With thanks to Dan Stephenson for contributions and editing.

Enjoy this piece? I invite you to follow me at twitter.com/dudleystorey to learn more.