Wie gefällt Ihnen der Artikel?
1
Wie gefällt Ihnen der Artikel?
1

Mit Headless CMS mehr aus dem eigenen Content rausholen

Ohne Content-Management-Systeme wäre die Arbeit von Content-Erstellern um einiges komplizierter. Statt direkt in den Code der Website werden bei einem CMS die Inhalte über ein Backend eingepflegt und vom System im Frontend ausgegeben. Dies funktioniert sehr gut, solange man nur eine einzelne Website verwaltet. Inzwischen bespielen Redakteure und Content-Manager aber häufig mehrere Sites und Applikationen gleichzeitig. Dazu benötigt man wiederum mehrere CMS, was u. U. bedeutet, dass Inhalte händisch von einem zum anderen übertragen werden müssen. Oder man setzt auf ein Headless CMS, das die Ausgabe in beliebig viele Medien ermöglicht.

Was ist ein Headless CMS?

Ein Headless CMS ist sowohl eine Weiterentwicklung als auch eine Verknappung eines klassischen CMS. Dem System werden integrale Bestandteile genommen, um es für unterschiedlichste Ausgaben kompatibel zu machen. Das gelingt dadurch, dass Frontend und Backend in einem Headless CMS nicht mehr monolithisch miteinander verknüpft sind.

Wofür ist diese Entwicklung gut?

In einem klassischen CMS wird der erstellte Content über eine Oberfläche ins Backend eingespeist und hier in Datenbanken (im Regelfall MySQL) organisiert. Von dort aus verknüpft das System die Inhalte mit Themes/Templates (Formatvorlagen) und stellt die Website über den View im Frontend dar. Content-Management-Systeme wie WordPress, Drupal oder TYPO3 sind designt, um die tägliche Arbeit mit Content zu erleichtern. Über die Administrationsoberfläche können Inhalte eingestellt und verwaltet werden, ohne dass dafür Webdesign- oder Programmierfähigkeiten vorhanden sein müssen.

Das Paradebeispiel für den Nutzen eines CMS ist der Blog. Blogger veröffentlichen Inhalte (Texte, Fotos, Videos) oft in hoher Frequenz. Dafür fügen sie diese im Verwaltungsbereich des Backends mithilfe von HTML- oder WYSIWYG-Editoren ein. Anschließend legen sie nur noch einen Veröffentlichungszeitpunkt fest. Somit können sich die Blogger aufs Schreiben bzw. die Erstellung der Inhalte konzentrieren und müssen nicht selbst programmieren. Weiterer Vorteil: Es können mehrere Nutzer mit unterschiedlichen Rollen und Rechten über das Backend arbeiten. So werden CMS auch zu Redaktionssystemen. Die Leser des Blogs bekommen von diesen Vorgängen nichts mit: Sie haben nur Zugang zum Frontend, wo sie wie gewohnt die zur Veröffentlichung freigegebenen Inhalte angezeigt bekommen.

Um die Verwendung dieser Systeme möglichst einfach zu gestalten, setzt man auf eine monolithische Verknüpfung von Frontend und Backend. Auf der Administrationsoberfläche von WordPress z. B. kann man auch ohne umfassende Webdesign-Kenntnisse mithilfe der Template-Engine das Aussehen der Website verändern. Das bedeutet aber auch, dass man bei der Erstellung an die Vorgaben des Systems gebunden ist. Das gilt sowohl für die Anzahl der Ausgaben als auch für die Verwendung der Programmiersprache (bei WordPress ist das PHP). Um dieses Korsett zu umgehen, kann man zu einem Headless CMS wechseln.

Headless CMS

Damit in einem CMS verwaltete Inhalte auf unterschiedlichen Medien erscheinen können, ist bei einem Headless CMS die Ausgabe auf der Website (der View) abgekappt. Dem CMS wird sozusagen der Kopf genommen – daher die Bezeichnung. Stattdessen ist ein API integriert, auf das Websites und Anwendungen zugreifen können. Die verschiedenen Medien haben Zugriff auf die Inhalte, regeln die Darstellungsweise aber individuell. Backend und Frontend sind also voneinander entkoppelt.

REST-API: Die Schnittstelle des Headless CMS

Bei einem REST-API (Representational State Transfer-Application Programming Interface) handelt es sich um eine Schnittstelle, die wenig komplex, aber sehr flexibel einsetzbar ist. Ein REST-API verwendet die definierten HTTP-Anfragemethoden wie PUT, GET, POST und DELETE zur Kommunikation. Mit solchen Befehlen kann ein Client auf die Informationen des Servers zugreifen, diese abrufen oder gar verändern. REST folgt also prinzipiell dem Architekturstil des Webs. REST-APIs (oft auch „RESTful APIs“ genannt) sind nach diesen Kriterien aufgebaut:

  • Server stellen Ressourcen zur Verfügung: Ein REST-API steht über einen Server auch externen Anwendungen zur Verfügung. Der Zugang funktioniert demzufolge nicht nur lokal.
  • Adressen identifizieren Dinge: Unterschiedliche Anwendungsarten benötigen unterschiedliche Dateiformate. Die URI/URL referiert bei REST aber nicht auf eine Ressource in einem bestimmten Format, sondern nur auf das Element an sich. Per Content Negotiation fordern die Clients das Element im gewünschten Format an.
  • Nachrichten sind selbsterklärend: Jede Nachricht an den Server ist in sich abgeschlossen und referiert nicht auf eine vorhergehende.
  • Verknüpfung der Ressourcen durch Links: Innerhalb von REST sind Objekte durch Hyperlinks miteinander verknüpft, damit eine einfache Navigation gegeben ist.

Durch die Einhaltung dieser Architekturprinzipien funktioniert die Kommunikation zwischen Server/API und unterschiedlichen Clients problemlos. Deshalb ist die REST-Architektur perfekt für ein Headless-CMS-API geeignet.

Fakt

Tatsächlich ist REST mehr eine Idee als eine Technik. Der Informatiker Roy Fielding hat diese als Konstrukt des World Wide Webs in seiner Doktorarbeit aus dem Jahr 2000 vorgestellt und dafür sehr viel Anerkennung erhalten.

Vorteile der Trennung von Backend und Frontend

Die beschriebene Abtrennung ist von zwei Perspektiven aus sinnvoll: Aus Sicht der Backend-Entwicklung gibt es den Wunsch, Content nicht nur über eine Ausgabe zu verbreiten. In einem Headless CMS ist es egal, auf was für einer Plattform der Inhalt ausgegeben werden soll. Das REST-API stellt nur die Daten (in Form von JSON) zur Verfügung. Diese können von jedem beliebigen Frontend gelesen werden, egal mit welchen Techniken sie programmiert sind.

Aber auch aus Sicht der Frontend-Entwicklung zeigen sich Vorteile: Als Webdesigner ist man bei einem Headless CMS nicht mehr an die Voraussetzungen des Content-Managements gebunden. So ist auch die Programmiersprache nicht mehr vorgegeben. Dadurch wird der Bau von mobilen Apps auf unterschiedlichen Plattformen möglich. Einzig die Rohdaten müssen sich empfangen und verarbeiten lassen. Das bietet bei der Darstellung sehr viel mehr Spielraum, als es mit den meisten klassischen CMS möglich ist.

Ein weiterer Vorteil ist die Fähigkeit der dynamischen Abfrage. Die erneute Abfrage von Inhalten auf einer Website fordert bei einem klassischen CMS ein Neuladen der Webpage. Das REST-API hingegen liefert dynamische Daten, die jederzeit in die Seitenstruktur integriert werden können, auch ohne diese neu zu laden.

Durch die Trennung des Headless-CMS-Backends vom individuellen Frontend ergibt sich zudem eine praktische Situation: Da Trends im Webdesign regelmäßigen Veränderungen unterliegen, ist es sinnvoll, das Frontend der eigenen Website von Zeit zu Zeit anzupassen. Ist dieses nicht an Datenbank und Content-Management gebunden, lässt es sich auch unabhängig davon bearbeiten. Redakteure können also weiter Inhalte einstellen, verwalten und veröffentlichen, während an einem neuen Frontend gearbeitet wird.

Die Vorteile eines Headless CMS in der Übersicht:

  • Unbegrenzte Anzahl von Frontends
  • Kombinierbar mit unterschiedlichen Programmiersprachen
  • Flexiblere Gestaltung des Frontends
  • Kontinuität durch Entkopplung
  • Dynamische Daten

Welche Headless CMS gibt es auf dem Markt?

Anbieter von Headless Content-Management-Systemen gibt es bereits einige auf dem Markt, und es werden immer mehr. Die nachfolgend aufgezählten Hersteller unterscheiden sich in erster Linie darin, ob sie ein kostenpflichtiges Gesamtpaket oder eine freie Open-Source-Variante anbieten. Darüber hinaus stellen sie unterschiedliche Hosting-Angebote zur Verfügung.

  • Contentful: Das Team aus Berlin arbeitet schon seit 2011 an dem Prinzip eines Headless CMS. Dabei haben sie ihr System – inklusive eines funktionsstarken Backends – von Grund auf neu entwickelt, statt ein bereits bestehendes, klassisches CMS umzubauen. Dafür ist das Angebot aber auch nur in begrenztem Umfang kostenlos.
  • Directus: Der Anbieter Directus geht einen anderen Weg. Das System wird prinzipiell kostenlos als Open-Source-Paket angeboten. Wer auf eine bereits gehostete Alternative zurückgreifen möchte, hat dafür die Wahl aus verschiedenen Abo-Varianten.
  • Contentstack: Built.io, Hersteller von mehreren digitalen Lösungen, bietet mit Contentstack ein kostenpflichtiges Headless CMS an. Auch hierbei steht Content-Erstellern ein einfach zu nutzendes Backend zur Verfügung, das dank einem REST-API das Web, Mobile Apps und das Internet of Things mit Inhalten versorgen kann. Das Angebot richtet sich in erster Linie an größere Unternehmen.
  • Cloud CMS: Dieser Dienstleister bietet sein Headless CMS als Cloud-Dienst an. Es funktioniert prinzipiell wie andere Angebote auch, nur laufen Content-Management, Datenbank und die Schnittstelle nicht auf einem eigenen Host, sondern über die Cloud des Anbieters. Erst im hochpreisigen Segment der Angebote ist auch ein selbstgehostetes CMS vorgesehen.
  • eZ Platform: Das Unternehmen eZ Systems bot seit 1999 mit dem Open-Source-Produkt eZ Publish ein klassisches CMS an. 16 Jahre später hat man das alte Konzept verworfen und konzentriert sich mit eZ Platform auf ein Headless CMS. Open Source findet sich auch hier: Das Produkt ist unter der GNU GPL-Lizenz frei verfügbar. Zudem gibt es kostenpflichtige Varianten mit professionellem Support und mit anderen Lizenzangeboten.

Um sich für das richtige Headless-CMS-Angebot zu entscheiden, müssen also zunächst die individuellen Anforderungen und Fachkenntnisse hinterfragt werden. Wer seinen eigenen Server zur Verfügung hat und ein Open-Source-CMS aufsetzen kann, ist mit den kostenfreien Versionen von eZ Systems oder Directus gut beraten. Fehlen die Kenntnisse für die Installation und Einrichtung des Systems, sollte man eher zu einer kostenpflichtigen Variante greifen, damit man von den Vorzügen dieser Content-Management-Variante profitieren kann.

Decoupled CMS

Doch nicht für jede Situation ist Headless CMS die richtige Wahl: Wer ohnehin nur eine Ausgabe für seine Inhalte benutzt, macht es sich durch den Wechsel zur neueren Architektur nur unnötig komplizierter. Denn im Regelfall führt dies dazu, dass die entsprechenden Server mehr leisten müssen: Kosten und Aufwand steigen. Vor allem aber muss man das Frontend selbst aufsetzen. Bei einem klassischen Content-Management-System kann man sich diese Arbeit sparen – das Frontend wird dort durch die Template-Engine gestaltet.

Content-Ersteller werden zudem eine Funktion vermissen, die jedes traditionelle CMS liefert: In einem Headless CMS ist keine Vorschauansicht des geposteten Inhalts vorgesehen. Da die Komponenten komplett voneinander getrennt sind, weiß das Backend gar nicht, wie die Inhalte dargestellt werden sollen. Das sogenannte Decoupled CMS kann stattdessen das richtige Mittelmaß sein.

Die Eigenschaft „Decoupled“ trifft prinzipiell auch auf Headless CMS zu: Backend und Frontend sind keine Einheit mehr. Das Progressive Decoupling definiert jedoch eine Methode, bei der das Frontend nicht entfällt, sondern APIs zugeschaltet sind. Es wird nichts abgeschnitten, sondern erweitert. Somit läuft die Ausgabe immer noch über das CMS. Über ein Plug-in, das die Schnittstellen erzeugt, lassen sich weitere Frontends andocken.

Auf diese Weise bleiben die Vorteile eines klassischen CMS bestehen: Die Darstellung der Inhalte erfolgt über die systemeigene Engine, inklusive der vorhandenen Formatvorlagen. Und wer seinen Content beispielsweise zusätzlich über eine App anbieten möchte, kann die Daten hierfür aus der hinzugefügten API erhalten. Die Vorteile von Headless CMS und klassischem CMS ergänzen sich in dieser erweiterten Variante.

Klassische CMS werden zu Decoupled CMS

Seit Headless CMS immer häufiger diskutiert werden, orientieren sich auch die Anbieter traditioneller Content-Management-Systeme um. WordPress z. B. hat ab der Version 4.7 die REST-API als integralen Bestandteil eingefügt. In früheren Versionen konnte diese nur über ein Plug-in zugeschaltet werden. Die Erweiterung macht es aber nicht zu einem Headless CMS: WordPress wird vielmehr zu einem Decoupled CMS. Nutzer, die den Umfang der Content-Lösung inklusive Template-Engine schätzen, können auch weiterhin ohne Funktionsverluste damit arbeiten. Wer aber das CMS beispielsweise auch für die Verwaltung der Inhalte einer App verwenden möchte, profitiert von der eingefügten Schnittstelle. Auch Drupal lässt sich zu einem Hybriden umfunktionieren, denn auch dieses Open-Source-CMS hält ab Version 8 mit den RESTful Web Services eine Möglichkeit bereit, um Inhalte in weiteren Frontends auszugeben.

Sollte man auf Headless CMS umsteigen?

Ob Sie von Ihrem angestammten System zu einem Headless CMS wechseln sollten, hängt in erster Linie davon ab, was Sie planen. Wollen Sie Ihre Inhalte nur auf einer Website, etwa einem Blog, präsentieren, ist das Abstoßen des Frontends keine gute Idee. Zwar bieten Headless CMS auch Vorteile, die über die Menge der möglichen Ausgabemedien hinausgehen, dies dürfte aber in den seltensten Fällen den Aufwand rechtfertigen. Auch die Verwendung eines Decoupled CMS hat dann keinen Mehrwert: Warum eine Schnittstelle implementieren, wenn man doch nur das eingebaute Frontend des Systems nutzt?

Anders sieht es aus, wenn Sie Ihren Content auf verschiedenen Plattformen präsentieren. Headless CMS spielen besonders dann ihre Stärken aus, wenn Sie große Projekte realisieren wollen. Multikanal-Fähigkeiten, Websites in PHP, Python oder Ruby, Apps für iOS oder Android – alles kein Problem mehr. Redakteure und andere Content-Ersteller können wie gewohnt ihre Inhalte über das Interface des Backends verwalten. Um die Darstellung kümmern sich bei Headless CMS (und bei richtiger Nutzung von Decoupled CMS) nun professionelle Frontend-Entwickler – können das aber eben auch mit aller Freiheit; das REST-API macht es möglich.

Die Um-Entwicklung (von einer Weiterentwicklung kann man bei der Halbierung eines Systems eigentlich nicht sprechen) von Content-Management-Systemen ist eine Reaktion auf die veränderten Anforderungen des Internets. Die Besonderheiten von Smartphones, dem Internet of Things oder virtuellen Realitäten machen ein Umdenken beim Erstellen und Veröffentlichen von Content nötig. Headless und Decoupled CMS sind dabei nur die Anfänge. Daher sollte man, selbst wenn derzeit die Arbeit mit einem traditionellen CMS noch vollkommen ausreicht, die Entwicklungen nicht aus den Augen verlieren. In Anbetracht der rasanten Entwicklungen der letzten Jahre könnte es sein, dass klassische CMS bald genauso wenig den Gewohnheiten und Bedürfnissen vieler Nutzer entsprechen werden wie jetzt schon statische Websites.

Content Marketing Netzwerk Protokolle