Web

Was ist ein Headless CMS?

Content-Management-Systeme ermöglichen es auch technisch unbedarften Nutzern, Inhalte zu publizieren. Traditionelle CMS legen den Fokus auf das Web und können nur schwer in Anwendungen integriert werden. Mit einem Headless CMS werden diese Limitierungen überwunden, ohne dass das Pflegen der Inhalte darunter leidet. Auch wir setzen auf Headless CMS, wenn der Kunde eine individuelle Lösung mit umfangreicher Content-Pflege benötigt.

Headless CMS ermöglichen flexible Nutzung der Inhalte
Mika

Heute werden Informationen von den Lesern auf unterschiedliche Weise konsumiert. Mit einem traditionellen CMS kann es aufwändig werden, die verschiedenen Informationskanäle wie Webseiten, Smartphone-Apps, Soziale-Medien, Sprachassistenten u. ä. zu bedienen. Es wird stattdessen ein Content Management System benötigt, dass von Grund auf für die Erstellung von multi-kanal-fähigen Inhalten ausgelegt ist. Dabei geht es nicht nur um die Erstellung von Inhalten, sondern auch um die Verteilung dieser. Genau dafür wurden Headless CMS geschaffen. Mit ihnen können Inhalte weiterhin komfortabel erstellt werden und über eine flexible Programmierschnittstelle (API) abgefragt werden.

Coupled CMS

Im Vergleich zu einer in HTML erstellten Webseite werden bei einem klassischen CMS wie WordPress oder TYPO3 Inhalte über eine entsprechende administrative Oberfläche durch den Nutzer erstellt. Hierbei kann der Anwender in der Regel auf komfortable Editoren zurückgreifen. Dadurch kann der Content auch durch technisch weniger affine Anwender, die in der Regel über kaum HTML-Kenntnisse verfügen, erstellt werden. Die Inhalte werden vom CMS in einer Datenbank gespeichert. Werden Inhalte vom CMS durch einen Benutzer aufgerufen, so wird vom CMS serverseitig HTML aus den Inhalten generiert und im Browser zur Anzeige gebracht. Anpassungen erfolgen in der Regel durch sogenannten Seiten-Vorlagen oder Erweiterungen bzw. Plugins. Eigene Customizings erfolgen in der Regel durch Code, der in das CMS eingebunden wird. Dabei wird häufig zwangsweise die Programmiersprache verwendet, mit der auch das CMS selbst erstellt wurde. Gelegentlich liefern CM-Systeme auch eigene Sprachen mit, in denen die Erweiterungen programmiert werden können. Durch dieses Vorgehen sind das Frontend und Backend (Verwaltung, Datenhaltung etc.) stark gekoppelt, weshalb solche Systeme auch Coupled CMS genannt werden. Umfangreiche Erweiterungen oder auch die Verwendung der Daten in einem anderen Kontext wie einer Smartphone-App ist trotz eventuell vorhandener APIs meist aufwändig. Folgendes Bild skizziert die Architektur eines typischen CMS:

Architektur eines CMS

Headless CMS

Wegen der eingeschränkten Flexibilität durch die strenge Kopplung zwischen Frontend und Backend entwickelten sich Systeme, welche die Darstellung (Content Delivery Application (CDA)) von der Content-Erstellung (Content Management Application (CMA)) separieren. Hier gibt es zum einen sogenannte Decoupled CMS. Diese versuchen genau dies zu ermöglichen, indem das CMS in diese beide Teile zerlegt wird und durch eine API verbunden wird. Da ein Decoupled CMS immer noch eine eigene Darstellung mitliefert, sind die APIs und Datenhaltung auf das eigene Frontend zugeschnitten, was der Flexibilität schadet. Wie der Name schon vermuten lässt, kommen Headless CMS hingegen ohne fest angebundenes Frontend. Dies bringt den großen Vorteil, dass das System keine Vorgaben über die Darstellung der Inhalte macht. Man hat somit die vollständige Kontrolle darüber, wie der Content präsentiert wird. Dennoch können die Inhalte durch Anwender des Systems wie bei traditionellen CMS über einen administrativen Bereich mit Editor komfortabel eingepflegt werden. Die Inhalte werden dann über eine entsprechende REST- oder GraphQL-API zur Verfügung gestellt. Dabei sind je nach System auch ganze Seiten inklusive Widgets beschreibbar und über die API abrufbar.

Architektur eines Headless CMS

Aufgrund der Flexibilität steigt das Interesse und die damit einhergehende Anzahl an Headless CMS Lösungen. So gibt inzwischen unzählige Anbieter mit passenden Lösungen. Auch einige klassische CMS wie Drupal bieten inzwischen einen Modus für den Headless Betrieb, wenn auch eingeschränkter als ein von Grund auf gebautes Frontend-loses System. Viele dieser Systeme sind nur als Cloud-Lösung, als sogenannte Software-as-a-Service (SaaS), verfügbar. Dies ist nicht verwunderlich, da die Daten in der Cloud verwaltet werden können, aber die Nutzung und Darstellung der Daten, da separiert, frei realisiert werden kann. Es gibt aber auch genügend Lösungen, die selbst gehostet werden könne, wie z.B. Piranha CMS oder strapi.

Die Anwendungen, die wir für Kunden realisieren, kombinieren häufig redaktionellen Content mit anderen Anwendungsteilen. Dafür eignen sich aus unserer Sicht der Headless CMS Ansatz hervorragend. Mit klassischen Coupled-CMS-Lösungen ist die Integration deutlich komplexer, und in der Regel das System auch für den Anwender umständlicher zu bedienen. Außerdem können weitere Verwendungen des Contents für andere Anwendungen und Kanäle wie Apps oder Partner-Websites oder auch die Modernisierung bestehender Kanäle wie zum Beispiel bei einem Website-Relaunch viel einfacher erfolgen, ohne den Erstellungsprozess für die Inhalte anpassen zu müssen. Damit steigt auch der Wert und die Nachhaltigkeit der Investition in ein CMS.