CMSstash

Content Management Systeme (CMS) erklärt

Autor: Sebastian Schürmanns

Was ist ein Content Management System? In einfachen Worten erklärt ist ein CMS eine Software zur Verwaltung von Inhalten. Landläufig werden vor allem Content Management Systeme zur Verwaltung bzw Erstellung von Webseiten verkürzt als CMS bezeichnet, beispielsweise WordPress. Tatsächlich sind diese Systeme jedoch nur eine Spielart der CMS und werden in Fachpublikationen meist als Web Content Management System (WCMS) bezeichnet. In diesem Artikel geht es um Web Content Management Systeme, auch wenn die verkürzte Form CMS genutzt wird.

Wichtiger als solche Begrifflichkeiten ist jedoch ein grundsätzliches Verständnis dafür, was ein CMS eigentlich macht und wie es grob funktioniert. Um ein passendes Content Management System für ein Projekt zu finden, sollte man außerdem die verschiedenen Varianten und Formen eines CMS kennen. Beides soll in diesem Artikel leicht verständlich vermittelt werden.

Wie ein Content Management System funktioniert

Die Funktionsweise von Content Management Systemen kann man grob in drei bis vier Bereiche unterteilen: Mit einem Content Management System kann man Inhalte speichern, Inhalte verwalten, Inhalte ausliefern und (optional) Inhalte darstellen.

Schematisce Darstellung CMS

Für jeden Bereich gibt es natürlich abhängig vom Content Management System unendliche Ausbaustufen, aber auch eine Art Minimal-Set an Funktionalitäten, die jedes CMS mitbringen sollte. Zum besseren Verständnis werden diese Kern-Funktionen etwas genauer erklärt.

Inhalte speichern

Inhalte werden bei einem Content Management System entweder in einer klassischen Datenbank abgespeichert oder als Dateien auf dem Server abgelegt. Damit kann man bereits zwischen verschiedenen CMS-Typen unterscheiden: Datenbank-basierte Systeme wie WordPress und sogenannte Flat-File-CMS wie beispielsweise Kirby oder Statamic. Bei den Flat-File-CMS hat sich in den letzten Jahren das Datei-Format Markdown durchgesetzt, es sind jedoch auch andere Formate wie TXT, XML, JSON oder direkt HTML denkbar. Noch größere Vielfalt herrscht bei den Content Management Systemen, die eine Datenbank nutzen. Verbreitet sind Datenbanken wie MySQL, MariaDB oder PostgreSQL. Im Enterprise-Bereich trifft man häufig auf Datenbanken von Oracle, Microsoft, IBM und SAP. Welche Datenbanken bzw. Ablageformen von einem CMS verwendet werden, wird üblicherweise in dessen Systemvoraussetzungen aufgelistet.

Neben den genannten Speicher-Formen existieren noch Zwischen-Formen wie beispielsweise das Ablagesystem JCR für die Programmiersprache Java oder PHPCR für die Sprache PHP. Auch bei diesen Technologien wird auf klassische Datenbanken verzichtet, stattdessen werden die Inhalte in einer Art Baum-Struktur auf dem Server abgelegt. Mit Adobe AEM (JCR bzw. CRX), Magnolia (JCR) oder Sulu (PHPCR) bauen einige komplexe Enterprise-CMS auf diese Technologien auf. Auch bei den klassischen Datenbanken gibt es einige Unterscheidungsmerkmale. Zum Beispiel gibt es integrierte Datenbanken wie SQLite, die ohne separate Installation auskommen, oder nicht relationale Datenbanken wie MongoDB oder CouchDB, die die Inhalte ebenfalls unstrukturiert ablegen.

Bei der Unterscheidung zwischen klassischen Datenbanken und File-basierten Ablage-Systemen geht es vor allem um die Speicherung von Text-Inhalten und deren Verbindungen (Relationen, daher der Begriff "relationale" Datenbank). Wenn es sich jedoch um Bilder, Dokumente oder sonstige Dateien handelt, dann werden diese sogenannten "Assets" so gut wie immer auf dem File-System des Servers abgelegt und separat verwaltet.

Inhalte verwalten

Inhalte müssen verwaltet, also zum Beispiel erstellt, editiert, gelöscht oder publiziert werden. Dazu bieten Content Management Systeme eine Benutzeroberfläche an (ein sogenanntes "User-Interface"). Über die Benutzeroberfläche können die Redakteure den Content "managen" und die Administratoren das CMS konfigurieren.

Diese kleine Feststellung hat es ganz schön in sich, denn für eine sinnvolle Interaktion mit Redakteuren und Administratoren benötigt ein Content Management System zahlreiche Features. Features, die das CMS sehr komplex machen können. Um diese Komplexität zu vermeiden, nutzen Entwickler zur Erstellung von Webauftritten häufig einen Static Site Generator wie Jekyll. Diese Systeme verzichten meist vollständig auf eine Benutzeroberfläche und werden stattdessen über Programmier-Befehle bedient. Static Site Generatoren werden in der Regel jedoch nicht zu den CMS gezählt.

Beim User-Interface variiert der Feature-Reichtum von Content Management Systemen enorm. Das Minimal-Set an Features für eine brauchbare Nutzer-Oberflläche sieht etwa wie folgt aus:

Neben solchen Basis-Features hängt die weitere Ausgestaltung der Nutzeroberfläche sehr stark vom jeweiligen Content Management System ab. Ein paar Beispiele: Viele CMS bieten eine Content-Modellierung an, zum Beispiel mit Hilfe eines Formular-Managers. In diesem Fall erstellt der Redakteur die Inhalte nicht mit einem einzigen Standard-Editor, sondern mit mehreren passgenauen Formularen, die von einem Entwickler je nach Anforderung der Webseite individuell zusammengestellt werden können. Ein CMS kann auch ein konfigurierbares Workflow-Management für die Verwaltung der Inhalte bieten oder Features für den Betrieb von mehrsprachigen Webseiten bereitstellen. Bei einer E-Commerce-Ausprägung kommen noch Payment-Features und eine Produkt-Verwaltung hinzu, wobei auch hier oft separate Systeme wie ein Produkt Informations Management (PIM) zum Einsatz kommen. Diese Feature-Beispiele lassen sich endlos fortsetzen.

Inhalte ausgeben

Mit einem Web CMS kann man nicht nur Inhalte verwalten, sondern natürlich auch Inhalte ausgeben. Für diese dritte Kern-Funktion benötigt ein Web Content Management System mindestens zwei Funktionen: Eine Zugriffssteuerung und die Steuerung des Ausgabeformats.

Traditionell können die Inhalte eines CMS einfach über eine URL mit einem Web-Browser abgerufen und dort als HTML-Seite dargestellt werden. Zunehmend verbreitet ist allerdings auch die Ausgabe (und ggf. auch die Verwaltung) von Daten und Inhalten über ein sogenanntes Application Programming Interface (API). Über die API können Entwickler die Inhalte mit einem eigenen Script abrufen und anschließend weiterverarbeiten. Das dominierende Ausgabe-Format ist dabei JSON.

Inhalte darstellen

Landläufig hält man zwar die Darstellung von Inhalten in Form einer Webseite für die zentrale Aufgabe eines Content Management Systems. Tatsächlich gehört die Darstellung der Inhalte jedoch nicht zwangsläufig zu einem Web CMS. Die neuen Headless-CMS verzichten beispielsweise komplett auf eine Darstellung der Inhalte und beschränken sich auf die Ausgabe bzw. Bereitstellung der Inhalte über eine API (Application Programming Interface). Für die Darstellung ist dann ein anderes System zuständig, das von einem Entwickler an das CMS angebunden werden muss.

Ein traditionelles Content Management System bietet jedoch neben der Auslieferung der Inhalte auch eine Darstellung der Inhalte an, und zwar mindestens eine Darstellung als Webseite (HTML). Dazu sind allerdings wieder einige Features im Hintergrund nötig:

Genauso wie bei der Verwaltung der Inhalte kann es auch bei der Darstellung der Inhalte viele zusätzliche Features geben. Zum Beispiel eine Seitenvorschau, der bereits angesprochene Wechsel von Themes, die individuelle Anpassung von Themes über die Nutzer-Oberfläche des CMS oder – eher für Entwickler interessant – die Verwendung unterschiedlicher Template-Engines.

Einschub: Begriffe aus dem CMS-Umfeld

CMS
Abkürzung für Content Management System.
Content Management System
Eine Software zur Verwaltung von digitalen Inhalten.
WCMS
Web Content Management System, ein web-basiertes CMS beispielsweise zur Verwaltung von Webauftritten.
Enterprise CMS
Der Begriff bezeichnet eine umfängliche Software-Strategie zur Verwaltung digitaler Inhalte und umfasst neben dem CMS noch andere Software-Typen zur Content-Verwaltung wie beispielsweise ein Dokumenten Management System (DMS). In der Praxis wird der Begriff jedoch auch für sehr komplexe Web Content Management Systeme genutzt, um sie als Lösung für große Unternehmen zu empfehlen und gegen weniger komplexe CMS abzugrenzen.
DXP
Abkürzung für Digital Experience Platform. Ein relativ neuer und im Enterprise-Umfeld gebräuchlicher Begriff. Als DXP werden Software-Suiten bezeichnet, die neben dem CMS noch andere Software-Bausteine wie Analytics, Targeting oder Personalisierungsfunktionen umfassen. Ziel der Software ist die Schaffung und Abbildung ganzheitlicher Kunden- bzw. Nutzererlebnisse.
Best of Breed
Eine eher gegenteilige Strategie zu DXP. Bei der Best of Breed-Strategie konzentriert sich das CMS auf seine Kern-Funktionen und wird nicht als integrierter Bestandteil einer umfangreichen Marketing-Suite angeboten. Stattdessen bietet das CMS ausgereifte Schnittstellen an, mit denen die jeweils beste Dritt-Software an das Content Management System angebunden werden kann.
Headless CMS
Ein Content Management System, das lediglich die Speicherung, Verwaltung und Auslieferung von Inhalten anbietet und die Darstellung der Inhalte anderen Systemen überlässt. Die Inhalte werden über eine API (Application Programming Interface) ausgeliefert. Headless CMS kann man auch als eine Steigerung der Best-of-Breed-Strategie verstehen.
Decoupled CMS
Ein decoupled CMS umfasst zwar alle Kern-Funktionen wie die Speicherung, die Verwaltung, die Auslieferung und die Darstellung der Inhalte. Die einzelnen Software-Teile sind jedoch voneinander entkoppelt und weitgehend eigenständig. Die Daten zwischen den Software-Teilen werden über ein Application Programming Interface (API) ausgetauscht.
Flat-File-CMS
Ein Content Management System, das keine relationale Datenbank verwendet, sondern die Inhalte in Dateien (meist Markdown-Dateien) auf dem Server speichert.
Open Source CMS
Ein Content Management System, das über eine der gängigen Open Source Lizenzen wie MIT oder GPL verbreitet wird. Die kostenlose Verwendung dieser Systeme ist zwar in der Praxis verbreitet, jedoch keine zwingende Voraussetzung für Open Source.
Proprietäres CMS
Bei einem proprietären Content Management System wird die Nutzung und Weiterverbreitung der Software zum Beispiel durch Unternehmens-eigene Lizenzbestimmungen (EULA) einschränkt. In der Praxis ist die Nutzung dieser Systeme meist kostenpflichtig.
DAM
Als Digital Asset Management System wird eine Software zur Medienverwaltung bezeichnet. Ein DAM wird bei komplexen CMS als eigenständige Software-Komponente integriert.
PIM
Als Product Information Management wird eine Software zur Verwaltung von Produkten bezeichnet. PIM werden häufig im E-Commerce eingesetzt und als eigenständige Software an das CMS angebunden.
Template
Ein Seitentyp, den man üblicherweise in einem CMS bei der Erstellung einer neuen Seite auswählen kann. Es kann zum Beispiel unterschiedliche Templates für die Startseite, für statische Seiten oder für Blog-Artikel geben. Templates sind in der Regel Bestandteil eines Themes und werden über eine Template-Engine gesteuert.
Theme
Ein Theme stellt die Inhalte nach außen als Webseite dar und bestimmt dessen Design und Aussehen. Ein Theme kann für ein CMS individuell entwickelt werden, viele CMS bieten eine Auswahl an vorgefertigten Themes an.
Plugin
Plungins werden wahlweise auch Extensions oder Module genannt und sind Funktionserweiterungen, die man für ein CMS aktivieren und ggf. auch separat installieren kann.
WYSIWYG
What You See Is What You Get. Gängige Bezeichnung zum Beispiel für WYSIWYG-Editoren, bei denen die angewendeten Formate bereits während des editierens sichtbar sind. Im Gegensatz dazu stehen einfache Markdown-Editoren, bei denen nur der reine Text mit der Markdown-Auszeichnung sichtbar ist. Die Formatierung wird dann erst nach der Umwandlung in HTML in einer Seitenvorschau oder auf der fertigen Seite angezeigt.
Mandantenfähigkeit
Meint die Fähigkeit eines Content Management Systems, mehrere unabhängige Webauftritte innerhalb einer CMS-Installation zu verwalten.
Versionierung
Meint die Fähigkeit eines Content Management Systems, von einer Inhaltsseite ältere Versionen vorzuhalten und zwischen diesen Versionen zu wechseln.
Content Modellierung
Bei der Content-Modellierung wird der Inhalt einer Webseite strukturiert und das Content Management System an die Bedürfnisse der Inhalte angepasst. Dabei kann beispielsweise ein Formular-Manager zum Einsatz kommen, mit dem der Entwickler passende Eingabeformulare für die Autoren zusammenstellt. Nicht alle Content Management Systeme verfügen über ausgereifte Möglichkeiten zur Modellierung der Inhalte.
Backend
Der Programmier-Code, der auf dem Server ausgeführt wird, zum Beispiel PHP, Java oder Python. Anwender meinen mit Backend häufig die Autoren- und Administrationsoberfläche. Nutzeroberflächen zählen für einen Entwickler jedoch generell zum Frontend.
Frontend
Der Programmier-Code, der im Client (z.B. im Browser) ausgeführt wird, zum Beispiel JavaScript, HTML und CSS. Anwender meinen mit Frontend häufig nur die öffentlich zugängliche Webseite. Für einen Entwickler gehört jedoch jeder Teil einer Software zum Frontend, der mit clientseitigem Code läuft, also auch jedes User-Interface wie zum Beispiel eine Administrations-Oberfläche.
Sitemap
Eine Auflistung (meist) aller Seiten eines Webauftritts und damit eine Art separates Inhaltsverzeichnis. Üblicherweise wird die Sitemap dem Leser zur Orientierung als HTML-Seite angezeigt, oder sie wird zur Indexierung für Suchmaschinen wie Google in einem XML-Format ausgegeben.

Weitere Features eines CMS

Die oben beschriebenen Features sind Kern-Bestandteile eines vollständigen CMS, sozusagen ein Minimal-CMS. Über diese Kern-Funktionen hinaus sind dem Feature-Reichtum eines CMS keinerlei Grenzen gesetzt. Fast jedes Content Management System bietet beispielsweise die Möglichkeit, eigene Erweiterungen zu entwickeln. Solche Funktionserweiterungen werden dann gerne als Plugins, Extensions oder Module bezeichnet. Welche Features es sonst noch gibt, ist auch eine Frage der Positionierung im Markt.

Content Management Systeme versuchen sich jedoch nicht nur mit ihrem Feature-Reichtum zu übertreffen, sondern gelegentlich auch mit ihrer Reduktion zu unterbieten. Denn neben dem Trend hin zu immer komplexerer Technologie vor allem bei den Enterprise CMS kann man auch eine Gegenbewegung beobachten: Flat-File-Systeme, Headless-CMS oder auch Static Site Generatoren sind unter anderem aus dem Wunsch entstanden, das Management von Inhalten und die Erstellung von Webseiten wieder zu vereinfachen.

Bei der hohen Anzahl an Content Management Systemen, den vielen Trends und den unterschiedlichsten Ausprägungen fällt die Auswahl eines passenden CMS nicht leicht. Um eine möglichst informierte Entscheidung zu treffen, kann bereits eine grobe Kategorisierung der Systeme sehr hilfreich sein.

Hilfe bei der Kategorisierung und Auswahl

Bei den Content Management Systemen herrscht eine unglaubliche Vielfalt auf dem Markt. Insgesamt dürfte es weit über 500 CMS geben und davon sind vermutlich immer noch bis zu 200 Content Management Systeme wirklich relevant. Mit ein paar groben Kategorien kann man die Auswahl jedoch recht schnell eingrenzen und dann die verbliebenen Systeme genauer prüfen. Dabei kann man gängige Kategorien verwenden oder auch eigene Kategorien aufstellen. Die Tabelle soll dafür ein paar Anregungen bieten.

Kategorie Erklärung Mehr Infos
Lizenztyp Gängig ist die Unterscheidung zwischen Open Source Lizenzen wie MIT oder GPL und proprietären Lizenzen, die in der Regel mit einem einzelnen Unternehmen verbunden sind. Einführung Open Source CMS
Programmiersprache Bei Web Content Management Systemen sind die Programmiersprachen PHP, Java, Python, ASP.NET und JavaScript verbreitet. Übersicht über PHP CMS, Java CMS, Python CMS und JavaScript CMS
Framework Viele CMS bauen auf einem Programmier-Framework auf, allein in PHP gibt es diverse wie Laravel oder Symfony. Manche CMS verstehen sich auch selbst als Framework. Individuelle CMS-Recherche
Speicherform Man kann grob zwischen einer Speicherung in relationalen Datenbanken und einer Speicherung in Dateien (Flat File) unterscheiden. Übersicht Flat-File-CMS
Komplexität Es gibt verschiedene (inoffizielle) Abstufungsmöglichkeiten, gängig ist die Bezeichnung von sehr komplexen Systemen als Enterprise-CMS, dagegen gehören die meisten Flat-File-CMS zu den leichtgewichtigeren Lösungen. Einführung Enterprise CMS
Bereitstellung Man kann zwischen selbstgehosteten CMS (on Premise) und zentral bereitgestellten CMS (Cloud- oder SaaS-CMS) unterscheiden. Überblick Cloud- und SaaS-CMS
Regionale Verbreitung Systeme wie WordPress sind weltweit relativ gleichmäßig verbreitet. TYPO3 wird dagegen überwiegend in Deutschland und den Nachbarländern genutzt, ExpressionEngine zum Beispiel überwiegend in den USA und England. Individuelle CMS-Recherche
Kopplung und Modularität Mit so einer Kategorie könnte man beispielsweise zwischen Headless-CMS und Decoupled CMS oder Hybrid-CMS unterscheiden. Oder man kann generell fragen, wie modular und austauschbar einzelne Komponenten des CMS sind. Marktüberblick Headless-CMS
Integration und Scope Mit so einer Kategorie könnte man den Umfang und die Integrationsfähigkeit eines CMS hinterfragen, beispielsweise ob es sich auf Kern-Funktionen beschränkt und zu einer Best-Of-Breed-Strategie passt oder als DXP gleich eine ganze Suite bereitstellt, die die eigenen Bedürfnisse z.B. im Marketing vollständig abdeckt. Einführung Enterprise-CMS
Spezialisation Mit der Kategorie könnte man die Stärken eines CMS herausarbeiten, beispielsweise sind einige CMS wie CoreMedia oder auch CraftCMS besonders für den eCommerce geeignet, andere sind eher auf Marketing-Maßnahmen spezialisiert, wieder andere eignen sich für spezielle Branchen. Individuelle CMS-Recherche
Statisch vs Dynamisch Eine eher ältere Kategorie, die nach der Auslieferung der Webseite unterscheidet. Einige Systeme generieren im Vorfeld fertiges HTML, sodass der Nutzer nur noch eine statische Webseite aufruft. Die meisten CMS generieren das HTML jedoch bei jedem Aufruf einer Seite dynamisch. Die Performance wird dann in der Regel über ein Caching verbessert. Individuelle CMS-Recherche

Man kann natürlich unzählige weitere Kategorien aufstellen, um das Angebot an Content Management Systemen zu sortieren und einzugrenzen. Welche Kategorien jedoch im Einzelfall auch sinnvoll sind, entscheidet sich im Verlauf einer oft mehrstufigen CMS-Auswahl.

Regelmäßige Neuigkeiten über Content-Management-Systeme und Website-Publishing gibt es von CMSstash auf Twitter.

Zuletzt aktualisert: 24.05.2019