Definition und Vorteile eines Headless CMS
Ohne einem Content-Management-System, kurz CMS, wäre die Arbeit vieler Content-Manager und Redakteure um einiges komplizierter. Statt direkt eine HTML-Seite zu erstellen und dort die Inhalte im Quelltext einzufügen, kann hierfür ein simples Formular mit Eingabefeldern und Editor verwendet werden. Das funktioniert mit einem traditionellen Content-Management-System sehr gut, geht es aber um mehrere Websites und Schnittstellen, wird es schnell kompliziert. Seit einiger Zeit gibt es deshalb nun die sogenannten “Headless CMS” Systeme auf dem Markt, welche eine Alternative zu den traditionellen CMS darstellen.
Was ist ein Headless CMS?
Bevor wir die Frage, was ein Headless CMS ist, beantworten können, möchte ich kurz auf die allgemeine Frage eingehen, was ein CMS ist.
Definition Content-Management-System (CMS)
Bei einem CMS (Content-Management-System) handelt es sich um ein System zur gemeinschaftlichen Erstellung und Verwaltung von redaktionellen und multimedialen Inhalten. Diese Content-Management-Systeme werden vor allem im Hintergrund von größeren Websites verwendet, da damit Inhalte einfach, ohne Programmierkenntnissen, verwaltet werden können. Der Administrations-Bereich im Hintergrund wird auch als “Back-End” bezeichnet. In der Regel werden die dort verwalteten Inhalte in einer Datenbank (z.B. MySQL) gespeichert und bei Bedarf abgefragt oder aktualisiert. Redakteure nutzen hierfür einen WYSIWYG-Editor oder Seitenbaukasten. Anschließend können Metadaten und Veröffentlichungsparameter hinzugefügt werden, die mit dem Inhalt veröffentlicht werden.
Durch die Verwendung eine CMS wird die Arbeit von Redakteuren um einiges einfacher, denn sie brauchen sich nicht mehr mit HTML und Programmierung auseinandersetzen. Das übernimmt im Hintergrund die Programmlogik und ermöglicht auch einen relativ einfachen Wechsel des Website-Layouts.
Das Gegenstück zum Back-End ist das “Front-End”, welches bei den bekannten Systemen wie Joomla, WordPress und Drupal eine Website ist. Durch ein vorher gewähltes Template/Theme wird das Aussehen der späteren Website bestimmt.
Definition Headless CMS
Ein Headless CMS (engl. „entkoppeltes Content-Management-System“) ist ein reines Back-End-CMS, welches nur die Verwaltungsoberfläche für die Inhalte bildet. Darin können vom Administrator Eingabemasken erstellt und Felder für Redakteure definiert werden. Das beschränkt das Content-Management auf das Wesentliche und vereinfacht außerdem Workflows der Nutzer.
Unterschied Headless CMS und traditionelles CMS
Anders als bei Joomla, WordPress, Drupal und Co. wird bei einem Headless CMS kein festes Front-End mitgeliefert. Das bringt in Sachen Flexibilität einige Vorteile mit sich. Viel interessanter an dieser Stelle sind aber die integrierten Schnittstellen zur Abfrage der Daten.
Einige der Systeme kommen hier mit einer REST-API (Representational State Transfer-Application Programming Interface), die ein wenig komplex und daher schon etwas veraltet ist, aber dennoch gut eingesetzt werden kann. Eine REST-API verwendet definierte HTTP-Anfragemethoden, um Daten abzufragen oder zu manipulieren. Die Anfrage werden dabei ausschließlich über eine URL gemacht, welche mit den notwendigen Parametern bestückt ist. Der Nachteil liegt darin, dass die URLs schnell lang und damit unübersichtlich werden.
Abhilfe schafft hier der wesentlich modernere GraphQL-Endpoint. Dabei kann, ähnlich wie beim Aufbau einer JSON-Datei, eine Abfrage oder Manipulation bei Daten auf dem Server gemacht werden. Der Vorteil liegt im Aufbau der Syntax. Diese bleibt auch in komplexen Szenarien übersichtlich und eignet sich auch besonders dazu, den Datenverkehr zwischen Client und Server gering zu halten.
Um nun ein Front-End für das Headless CMS zu erstellen, kann vom Programmierer eine der beiden Schnittstellen (auch abhängig vom System) verwendet werden. Als Programmiersprache bietet sich hier eine breite Palette an. Mehr dazu folgt im Abschnitt mit den Vorteilen eines Headless CMS.
Vorteile eines Headless CMS
Bei den Vorteilen eines Headless CMS im Vergleich zu einem traditionellem CMS möchte ich nicht speziell auf ein System eingehen, sondern allgemein über die Trennung von Back-End und Front-End sprechen. Somit lässt sich besser auf die Kernfunktionen des Prinzips eingehen.
Unbegrenzte Anzahl von plattformunabhängigen Front-Ends
Dieser Punkt ist fast schon selbsterklärend bei der Funktionsweise eines Headless CMS, dennoch möchte ich hier noch einmal kurz genauer darauf eingehen: Ein Headless CMS dient rein zur Verwaltung von Inhalten. Diese können im Anschluss von beliebig vielen Front-Ends zeitgleich abgefragt und manipuliert werden.
Nehmen wir hierfür kurz als Fallbeispiel eine Nachrichtenplattform: Die Journalisten können hier die Inhalte im Back-End einfach über ein angepasstest Formular pflegen. Als Front-End kann dann zum einen Website, eine eigenständige App und ein Smart-Speaker-Skill zum Einsatz kommen. Alle Front-Ends haben aber die Möglichkeit auf dieselben Daten zuzugreifen, ohne diese mehrfach verwalten zu müssen.
Verwendung von verschiedenen Programmiersprachen
Je nachdem, auf welchem Endgeräte das Front-End zum Einsatz kommt, kann auch die Programmiersprache variieren.
Im Web kann hier neben dem klassischen PHP auch ReactJS bzw. ein Framework wie Gatsby oder Next.js zum Einsatz kommen.
Bereitstellung in der Cloud
Die meisten auf dem Markt erhältlichen Headless Content-Management-Systeme werden als SaaS-Lösung (Software-as-a-Service) zur Verfügung gestellt. Damit müssen sich Nutzer und Administratoren keine Gedanken über Systemressourcen, Updates und Backups machen, was je nach Größe des Systems einiges an Ressourcen einsparen kann.
Benutzerfreundlichkeit
Der wohl wichtigste Punkt, bei den Vorteilen eines Headless CMS, ist wohl die enorme Nutzerfreundlichkeit. Die meisten Systeme werden als komplett blanke Installation bereitgestellt, die der Administrator dann beliebig anpassen kann. Im Vergleich zu einem traditionellem CMS fallen dann viele standardisierte Eingabemasken wegen und werden durch eigene ersetzt, welche einfach im Front-End abgefragt werden können.
Ein Beispiel aus der Praxis: Auf einer Blog-Website gibt es u. a. eine Seite mit Blog-Autoren und eine mit Blog-Beiträgen. Für die Seite mit Autoren wird ein Formular erstellt, welches lediglich die Möglichkeit bietet den Vor- und Nachnamen, sowie ein Bild des Autors hochzuladen. Im zweiten Formular, für Blog-Beiträge, werden vom Administrator ein Titel-Feld und ein WYSIWYG-Editor eingefügt, sodass der Redakteur dort den Beitrag einpflegen kann.
Welches Headless CMS passt am besten zu dir?
Um herauszufinden welches Headless CMS am besten zu den eigenen Projektanforderungen passt, oder ob es doch lieber ein traditionelles CMS sein soll, eignet sich dieses Tool von Bluepick. Dieser digitale Guide stellt einem Fragen zu den eigenen Kriterien und Anforderungen und empfiehlt am Ende ein passendes CMS. Neben den üblichen traditionellen CMS wie WordPress oder TYPO3, werden auch viele bekannte Headless CMS verglichen, wie Strapi, Contentful und Prismic.