A content management system (CMS) is an application or framework used to support the collaborative creation and revision of web content. For example, WordPress is the most popular content management system, by some measures it powers 30% of the web.[1] This page provides an overview for open source content management systems.

Categories of Content Management Systems

  1. Traditional CMS - Also known as a coupled CMS, this kind of CMS handles both the management and the publication and rendering of the content to the end-user. Wordpress is an example of a traditional CMS.

  2. Headless CMS - This kind of CMS focuses only on the management of content. When it comes to making the content available for consumption, a headless CMS only provides a RESTful API, and content still needs to be rendered by a static website generator or other tool before it can be read by the end-user. An example of a popular open-source headless CMS is Strapi

Traditional CMS Options

  • Wordpress - (PHP, MySQL/MariaDB) Originally started as a blogging platform, but has since been extended to work for general websites, e-commerce, forums, news platforms and more. Wordpress benefits from a rich plugin and theme ecosystem, and its popularity means a large number of developers are familiar with building Wordpress sites. Example Wordpress Sites DigitalOcean provides a Wordpress One-Click Application that automates most of the installation and configuration of Wordpress on an Ubuntu 18.04 Droplet (DigitalOcean server)
  • Ghost - (Node.js, MySQL) Ghost is a powerful open-source publishing platform for creating professional blogs, magazines and websites. It consists of a Node.js core API, an Ember.js admin client, and a flexible Handlebars.js front-end theme SDK. Example Ghost Sites DigitalOcean provides a Ghost One-Click Application that automatically installs the officially-recommended Ghost stack on a Ubuntu 18.04 Droplet.
  • Joomla - (PHP, MySQL/MariaDB/Postgres) Joomla is a highly customizable, free and open-source content management system on which websites and applications can be created.. Example Joomla Sites

  • Drupal -(PHP, MySQL/MariaDB/Postgres) Drupal is a popular content management system (CMS) used to run some of the largest blogs and websites across the internet. Due to the stability of the base, the adaptability of the platform, and its active community, Drupal remains a popular choice after more than a decade on the scene. Example Drupal Sites

  • Magento - (PHP, MySQL/MariaDB) Magento is a popular content management system for e-commerce websites. It is used by small businesses and large enterprise companies alike, and can be enhanced by thousands of extensions and themes. Magento uses the MySQL database system, the PHP programming language, and parts of the Zend Framework. Magento example sites, Magento2 code samples on github

  • MediaWiki - (PHP, MySQL) MediaWiki is a PHP wiki package, originally intended for use on WikiPedia, which allows anyone to create their own personal wiki site. It is used by a majority of the wikis on the Internet. Example MediaWiki Sites

Headless CMS Solutions


1. As of September 2018, Wordpress was found to power 31.8% of scanned sites. "Usage of content management systems for websites" - W3Techs

Icon tutorials Tutorials

Icon question Questions

Icon projects Projects