Vor- und Nachteile der Verwendung von CMS
Einleitung
Im Projektgeschäft bzw. Kundenprojekten, welche die inSynergie durchführt, gib es regelmäßig Fragen, wozu man ein CMS oder sogar ein Headless CMS benötigt und was die Vorteile der Verwendung sind. Daher werden in den folgenden Unterkapiteln
- Vor- und Nachteile der Verwendung von CMS im Allgemeinen und
- speziell auch Vorteile der Verwendung von Headless CMS gegenüber Nicht-Headless-CMS vorgestellt.
Diese aufgelisteten Vor- und Nachteile sind allgemeiner Natur und die Ausnahme bestätigt hier sprichwörtlich die Regel1.
Vor- und Nachteile der Verwendung von CMS im Allgemeinen
Vorteile
- Content lässt sich leicht ändern / pflegen / erweitern (d.h. i.d.R. keine Software-Entwickler oder Programmierkenntnisse, Code-Kenntnis erforderlich)
- Content lässt sich risikoarm ändern (im Ggs. zu Änderung von Content bei Anpassung von Programmiercode)
- Content lässt sich i.d.R. schnell ändern
- Content lässt sich mit i.d.R. weniger Aufwand ändern
- I.d.R. keine aufwändigen Deployments für Content-Änderungen erforderlich (wenn überhaupt)
- Content-Änderungen können i.d.R. durch spezifische technische Berechtigungen ermöglicht werden
- Eine frühzeitige Verwendung von CMS im Projektverlauf kann vorteilhaft für den Projektverlauf (Zeit, Aufwand, Qualität) sein, weil Content-Änderungen einfacher möglich sind und von anderen Personen durchgeführt werden können als Entwickler des Programmiercodes
Nachteile
- Programmiercode ist ggf. etwas aufwändiger zu entwickeln, weil Content nicht hardcoded im Programmiercode enthalten / referenziert ist, sondern von einem CMS kommen muss2
Vor- und Nachteile der Verwendung von Headless-CMS gegenüber Nicht-Headless-CMS
In den folgenden beiden Abschnitten werden Vor- und Nachteile der Verwendung von Headless-CMS gegenüber Nicht-Headless-CMS (d.h. in der Regel spezialisierte CMS) genannt. Der Fokus liegt hier auch auf eher kleineren Anwendungen (maximal mehrere Mannjahre Entwicklungszeit) als Riesenprojekte (je größer und langjähriger ein Projekt ist, desto mehr kann sich die Verwendung eines Headless-CMS lohnen).
Neben den aufgelisteten, nach Empfinden des Autors wichtigste generelle Vor- und Nachteilen, siehe insbes. folgende Links für mehr Informationen zur Gegenüberstellung von Headless-CMS gegenüber Nicht-Headless-CMS:
- https://en.wikipedia.org/wiki/Headless_content_management_system
- https://www.storyblok.com/tp/headless-cms-explained
- https://www.contentful.com/headless-cms/
- https://www.magnolia-cms.com/de_DE/blog/what-is-a-headless-cms.html
Vorteile
- Headless-CMS sind i.d.R. besser geeignet für Omni-Channel Content-Verteilung, d.h., dass ggf. total verschiedene Clients den Content nutzen (und auch ggf. total verschieden nutzen / darstellen), weil der Datenbestand Rohdaten sind und nicht bspw. schon zusammengebaute Webseiten
- Leichtere Datenpflege bei der Änderung von zentralen Rohdaten
- Wenn bspw. ein Eigenname geändert werden muss, dann erfolgt dies in der Regel in einem Headless-CMS an einer oder nur relativ wenigen Stellen; dagegen in einem Nicht-Headless-CMS muss i.d.R. der Eigenname an deutlich mehr Stellen geändert werden mit entsprechend erhöhtem Aufwand und Fehlerpotenzial
- Zum Teil deutliche Vorteile im Projektverlauf (Zeit, Aufwand, Qualität), wenn parallel Content und Software entwickelt von verschiedenen Personengruppen (z.B. Designer und Software-Entwickler)
- Deutlich mehr Flexibilität als bei Nicht-Headless-CMS: Bei Nicht-Headless-CMS ist in der Regel viel vorgegeben (ggf. über eine Art von Baukasten-Konzept) und es lässt sich nur schwer oder überhaupt nicht davon abweichen
Nachteile
-
Deutlich erhöhte Entwicklungsaufwände bei den Clients des CMS (falls es ein gut passendes Nicht-Headless-CMS gibt)
- Im Endeffekt muss jeder Client eigens entwickelt werden, während die Client-Entwicklung bei einem Nicht-Headless-CMS in der Regel durch eine Art von Template-basierte Entwicklung i.d.R. deutlich weniger aufwändig ist
- Also wenn ein spezialisiertes, nicht Headless-CMS die Anforderungen aller Clients hinreichend erfüllt, sind diese i.d.R. deutlich schneller zu entwickeln mit dem Nicht-Headless-CMS
- Bsp.: Wenn man einen Online-Shop im Internet haben möchte, ist i.d.R. die Verwendung eines E-Commerce-CMS deutlich günstiger als ein Headless-CMS zu verwenden und die Shop-Webseite selbst zu programmieren
- Bsp.: Wenn man dieselbe Webseite in mehreren Exponaten darstellen möchte und dies geht mit Wordpress et al., dann ist dies i.d.R. deutlich günstiger zu entwickeln als die Webseite in HTML zu entwickeln und dort Content per API aus dem CMS abzurufen
-
Die Verwaltung der Daten im Headless-CMS ist ggf. etwas komplizierter als bei Nicht-Headless-CMS
- Beispiele
- Bei nicht Headless-CMS (sofern es ein passendes gibt) können die Daten häufig über WYSIWYG-Formulare gepflegt werden (ggf. klickt man sich eine ganze Webseite zusammen). Bei Headless-CMS muss man in der Regel wissen, welche Daten man ändern muss (also man muss bspw. wissen, ich muss in Datensatz "overview-application.frontpage.titlepicture" das Bild ändern und sehe erst danach im entsprechenden Client die Änderung).
- Spezialisierte Nicht-Headless-CMS haben häufig gute Usability speziell für die Anwendung; Preise in einem E-Commerce-CMS zu ändern wird bspw. i.d.R. deutlich einfacher gehen mit automatischen Berechnungen etc. als in einem Headless-CMS
- Beispiele
Konklusion
Wann ist der Einsatz eines CMS empfehlenswert?
Grundsätzlich lohnt sich der Einsatz von CMS, wenn absehbar ist, dass es zu, insbes. regelmäßigen oder häufigeren, Content-Änderungen nach Launch / grundsätzlicher Fertigstellung einer Software kommen wird.
Headless CMS oder Nicht-Headless-CMS?
Im Endeffekt, falls es ein gut passendes Nicht-Headless-CMS für das eigene Szenario / Projekt / Anforderungen gibt (also alle wesentlichen Anforderungen erfüllt werden; insbes. in der Regel auch, wenn es nur genau eine Art von Client gibt, also kein Omni-Channel-Szenario vorliegt), dann ist ein Nicht-Headless-CMS deutlich kostengünstiger und deshalb zu empfehlen. In der Regel sind dies dann auch spezialisierte CMS für das eigene Szenario / Projekt / Anforderungen.
Ansonsten ist grundsätzlich ein Headless-CMS zu empfehlen (oder ggf. auch Hybrid-Varianten).
Footnotes
-
Bspw. wird man auch in vielen WCMS, ggf. mit Plugins, mittlerweile Rohdaten ablegen können und diese per API Clients zur Verfügung stellen können, wie es Headless-CMS tun. Ebenfalls kann man bspw. in Headless-CMS auch komplette (dann aber eher statische) Webseiten ablegen als Rohdaten und Clients diese 1:1 darstellen. ↩
-
Bei einem passenden, spezialisierten, Nicht-Headless-CMS kann der Programmiercode aber auch deutlich einfacher sein oder überhaupt nicht mehr notwendig sein. ↩