WordPress oder Craft CMS für Kundenprojekte?
Denn nur die Anforderungen eines Projekts beeinflussen, mit welchem CMS diese am besten erfüllt werden können. Dies kann Craft CMS sein, gerade bei sehr individuellen Lösungen und mit Fokus auf guter Benutzerfreundlichkeit. Oder WordPress - etwa bei einem einfachen Blog oder kleinen Shop. Natürlich ist auch Statamic möglich, wenn die Anforderung vorsieht, auf einer Datenbank zu verzichten oder dass mit Laravel eine Erweiterung geschrieben werden soll. Und es gibt noch viel mehr Content-Management-Systeme, die je nach Vorhaben eine passende Lösung wären.
Aber die Diskussion ist verständlich; WordPress einen Marktanteil von über 40 % bezogen auf alle Websites. Schaut man sich nur den CMS-Markt an, sind es über 60 %.
Ich selbst nutze WordPress seit 2005. Damals war es für mich eine Offenbarung, da ich erstmals eigene Projekte veröffentlichen konnte, ohne ein eigenes CMS zu programmieren zu müssen. Alternativen wie Joomla sagten mir nie zu. WordPress war in wenigen Minuten installiert, ich konnte ein Theme auswählen und direkt loslegen. Später dann Themes auch einfach mit etwas HTML, PHP und CSS meinen Wünschen anpassen. Zudem war die Möglichkeit der Erweiterbarkeit ein weiterer Vorteil: Fehlte mir eine bestimmte Funktion, konnte ich oft ein entsprechendes Plugin installieren.
So war es nicht verwunderlich, dass ich WordPress für meine ersten Kundenaufträge einsetzte. Doch mit etwas mehr Erfahrung gefiel mir die Mischung aus HTML und PHP nicht mehr. Der Template-Code war nicht hübsch anzusehen und ich war auch kein Fan von den Vorgaben des Systems bezüglich der Benennung von Dateien und der Hierarchie.
2008 entdeckte ich dann ExpressionEngine, was mir deutlich mehr Freiheiten bei der Entwicklung und Templating gab. Dank der eigenen Template-Sprache konnte ich die Dateien viel übersichtlicher halten. Darüber hinaus war die Community eine Wucht. Ich möchte gerade Brandon Kelly, Ben Croker, Ryan Irelan und John Henry Donovan positiv erwähnen. Sie alle arbeiten heute mit Craft CMS, welches ich seit 2013 nutze.
Add-ons von Pixel & Tonic verwendete ich jahrelang in ExpressionEngine. So war es nicht verwunderlich, dass ich – als sie ein eigenes CMS ankündigten – dieses auch testete. Damals angekündigt als Blocks CMS, wurde es als Craft CMS veröffentlicht. WordPress ist aber bis heute mein ständiger Begleiter, aufgrund der großen Verbreitung. Ich habe sehr viele glückliche WordPress-Kunden und auch wenn ich heutzutage nicht mehr oft eigene Themes entwickle, ist der Support-Aufwand enorm.WordPress bleibt daher ein wichtiger Bestandteil meines beruflichen Lebens. Ich muss aber zugeben, dass ich aufgrund des sehr zähen Umstiegs auf Gutenberg oder Full-Site-Editing, etwas, das Vertrauen in die Plattform verloren habe.
Ende 2020 sollte ich ein WordPress-Projekt für einen Kunden umsetzen. Ein eigenes Theme war gewünscht, aber welche Technik nutzen? Gutenberg war noch nicht ausgereift und auf einen Pagebuilder wollten wir nicht setzen, da ich kein Ökosystem im Ökosystem haben wollte. Am Ende wurde es dann Gutenberg mit Advanced Custom Fields und den Funktionen, die der Editor schon hergab.S eitdem beobachte ich den WordPress-Markt und bin teilweise skeptisch. Es gibt nach, wie vor die völlig überfrachteten Themes bei Themeforest, dann gibt es diverse Pagebuilder und eben Gutenberg. Eine Entscheidung für einen guten Tech-Stack innerhalb von WordPress ist gefühlt schwieriger zu treffen, als es noch vor zehn Jahren der Fall war:
Früher habe ich Advanced Custom Fields Pro installiert und konnte dadurch flexible benutzerdefinierte Felder in einer guten UI erstellen. Ohne dieses Feature hätte ich WordPress früh den Rücken gekehrt. Mir war es immer wichtig, gerade das Control Panel nach Kundenwünschen anpassen zu können und dass es nicht so überladen wirkt. Letzteres kann mit WordPress eine Herausforderung sein.
Templating
Beim Templating musste ich natürlich weiterhin damit leben, dass PHP und HTML wild gemischt werden. Craft CMS bietet native Twig-Unterstützung und Statamic Antlers, beides moderne Template Engines für PHP.
Gutenberg verkomplizierte das Templating in WordPress aber erneut. Denn auf einmal mussten für eigene Inhalts-Blöcke React verwendet werden und das in einer seltsamen Schreibweise. Auch gab es Probleme bezüglich Barrierefreiheit, die mittlerweile aber weitestgehend behoben sind. Trotzdem führte es dazu, dass ich Gutenberg auf den meisten Kundenprojekten mittels Plug-in deaktivierte. Aber es bleibt dabei, dass nun PHP, HTML und React gebraucht werden, um eine wirklich saubere Lösung zu schaffen. Außer man möchte einige zusätzliche Plug-ins verwenden. Und genau das ist das nächste Thema.
Plugins
Die Plug-ins sind WordPress’ größter Vor- und Nachteil. Für WordPress gibt es einen unfassbar riesigen Markt von Drittanbietern, die vorgefertigte Plug-ins für praktisch alles anbieten. Es ist also ein Leichtes, die eigene Website schnell mit neuen Funktionen auszustatten. Der Nachteil dabei ist, dass viele der Plug-ins veraltet sind oder ganz aufgegeben wurden und somit ein Ziel für Hacker sein können.
Es wäre fatal, wenn Kunden auf einmal wahllos durch das Plug-in-Verzeichnis surfen und einfach welche installieren. Idealerweise bitte den Freelancer oder Agentur um Rat fragen, da diese am ehesten die qualitativ guten Plug-ins kennen. Und davon gibt es viele. Ich nannte schon Advanced Custom Fields, aber ich denke auch an SEO und somit an Yoast SEO oder Rank Math. WP Rocket für Caching, Contact Form 7 für Formulare und WooCommerce für Online-Shops. Mehrsprachige Sites werden gerne mit WPML oder Polylang umgesetzt. Aber es gibt noch so viele mehr.
Teil der Wahrheit ist aber auch, dass WordPress ursprünglich ein Blog-System war und daher weniger Features mit sich brachte. Diese wurden über die Jahre stets erweitert, aber man muss auch für banale Funktionen teils ein Plug-in installieren. Beispielsweise, wenn man in der Mediathek eine Datei ersetzen möchte, wird dafür ein Plug-in benötigt. Mehr Plug-ins, die benötigt werden, steigern die Risiken bezüglich: Sicherheitslücken, schlechte Optimierung und langsameren Ladezeiten.
In Craft gibt es ebenso ein florierendes Plug-in-Ökosystem. Aber etwas über 900 plugins sind eben ein Unterschied zu über 55.000. Zumal ich eine gute Craft-Website komplett ohne Plug-ins bauen könnte, während das bei WordPress nicht ganz so einfach ist. Craft bietet viel mehr Features von Haus aus mit und würde deswegen ein solches Vorhaben vereinfachen. Custom Fields, unterschiedliche Feldtypen, die Erstellung von Content Bildern, eine bessere Dateiverwaltung, eine ausgewachsene Benutzerverwaltung und Mehrsprachigkeit sind alle im Craft Core integriert. Allerdings sind Mehrsprachigkeit und Benutzerverwaltung erst ab der Pro-Variante für 299 US-Dollar enthalten. Mehrsprachigkeit in WordPress mit WPML kostet im Vergleich 99 US-Dollar und wer unter anderem User Role Editor Pro Business für WordPress nutzt, zahlt auch 79 US-Dollar.
Die Zeiten, in denen WordPress-Plug-ins meist kostenlos waren, sind schon lange vorbei. Viele Plug-ins kosten heutzutage jährliche Gebühren und das finde ich gut. Die Entwickler sollten für ihre Arbeit und Support bezahlt werden, denn nichts ist schlimmer, als auf ein Plug-in zu setzen, was auf einmal nach 2–3 Jahren nicht mehr unterstützt wird. Und dadurch ein Sicherheitsrisiko wird oder mit einer neuen WordPress-Version nicht mehr kompatibel ist.
Flexibilität
Craft macht absolut keine Annahmen über die Inhalte oder deren Präsentation. Der Entwickler erstellt diese Inhaltsmodelle anhand der spezifischen Anforderungen eines Projekts. Es wird individuell das gebaut, was das Projekt benötigt. Auch im Admin sieht der Redakteur nur das, was er sehen muss. Sei es im Menü oder in der Eingabemaske der Inhalte.
Das WordPress-Dashboard dagegen wirkt schnell überfrachtet, wenn ein paar Plug-ins installiert sind. Und richtig übel wird es, wenn das Projekt auf einem gekauften Theme funktioniert. Dann gibt es im Admin auf einmal Testimonials oder Portfolio, obwohl das Projekt weder das eine noch das andere nutzt. Und auf einmal liegt es am Entwickler, alles mit weiteren Plug-ins oder Anpassungen der functions.php wieder rauszuschmeißen, was nicht gebraucht wird.
Craft CMS startet konzeptionell mit einem weißen Blatt Papier und das Projekt kann dann per Content First gebaut werden. Während viele WordPress-Projekte schon einen gewissen Ballast mitbringen, der zunächst entrümpelt werden muss.
Ich gehe so weit und sage, dass wenn ein Content First-Projekt gewünscht ist und bei null beginnen soll, man mit Craft schneller und flexibler zum Ziel kommt. Wenn die Budgets geringer sind oder es mehr Zeitdruck gibt oder ein Theme zu 80 % den Projektwünschen entspricht, wäre WordPress die bessere Alternative. Das Konzept Themes gibt es in Craft jedenfalls nicht, in Craft ist alles eine individuelle Lösung für das jeweilige Projekt.
Control Panel / Dashboard
Mein Hauptproblem mit WordPress ist die Administrationsoberfläche. Diese wirkt rasch überladen, sobald ein paar Plug-ins installiert sind. Auch ist nicht immer klar, wo bestimmte Einstellungen zu finden sind. Muss ich bei Design schauen oder bei Einstellungen? Beides je nach Fall möglich. Ein weiterer unangenehmer Nebeneffekt ist, dass es passieren kann, dass das WordPress-Dashboard etwas laggy und einfach lahm ist. Das wiederum kann mit installierten Themes und Plug-ins zusammenhängen.
In Craft können die Felder für jeden Inhaltstyp gebaut werden. Es ist möglich Felder nebeneinander anzuordnen oder in Registerkarten zu stecken. Jedem Feld können Anweisungen gegeben werden und ab Craft 4 sind auch Conditional Fields möglich. Mit Craft schafft man so eine individuelle Benutzererfahrung mit geringem Schulungsaufwand auch im Admin selbst. Dazu kommen Funktionen wie die Live-Vorschau, wo der Redakteur, während er einen Artikel bearbeitet, in Echtzeit verfolgen kann, wie dieser im Browser aussehen würde. Von dieser Vorschau können auch URLs verschickt werden, die etwa der Vorgesetzte sich anschauen kann, ohne im Admin angemeldet zu sein.
Aber wir reden nicht nur über Felder, sondern über die komplette Inhaltsstruktur. In WordPress gibt es von Haus aus nur Beiträge und Seiten und es lassen sich mit Plug-ins oder functions.php weitere Custom Post Types anlegen, die dann eben hierarchisch oder chronologisch angeordnet werden können. Jeder Custom Post Type kann auch eigene Taxonomie, also Kategorien oder Schlagwörter haben.
In Craft gibt es von Haus aus drei Sektionstypen: Channels, Strukturen und Singles. Channels werden chronologisch geordnet und eignen sich deswegen für Blogbeiträge. Structures werden hierarchisch angeordnet, sind also dann ideal, wenn Eintragsdatum nicht so wichtig ist oder eben eine verschachtelte Struktur erzeugt werden soll, beispielsweise bei Dokumentationen. Es lassen sich aber auch so unkompliziert Datenbanken erstellen, die mit anderen Sektionen verknüpft werden sollen. Und genau das ist der Punkt, wo sich die Craft-Lösung deutlich von der WordPress-Variante abhebt.
Komplexe Verknüpfungen sind einfacher zu realisieren. Auf der Startseite die neusten Blogbeiträge ausgeben lassen, die zu einer bestimmten Kategorie gehören, bekommen beide Systeme hin. In Craft könnte man aber noch weiter gehen und etwa festlegen, dass die Blogbeiträge zu einer bestimmten Abteilung gehören. Oder man baut eine FAQ-Datenbank auf, auf die verschiedene Sektionen zugreifen.Und ich muss auch die Datenverwaltung erwähnen. In WordPress gibt es nur eine Mediathek, wo alle Fotos, PDFs und sonstige Dokumente reingeladen werden. Diese werden standardmäßig auf dem Server dann auch nur nach Monat und Jahr sortiert. In Craft können verschiedene Ordner festgelegt werden. Ein Ordner für Fotos, ein Ordner für Teaser, ein Ordner für PDFs, ein Ordner für Produktbilder. Was auch immer benötigt wird. Auch kann gesagt werden, dass im Ordner PDF nur PDFs hochgeladen werden können. Dateien können per Drag-and-drop verschoben werden und sieht auf Wunsch eine Datei-Vorschau. Der User kann in den Ordnern auch Unterordner anlegen und so kann man wie im Betriebssystem eine ordentliche Dateistruktur schaffen. Man merkt, dass Craft bemüht ist, die verschiedenste Inhalte sinnig zu pflegen.
Sicherheit
Craft CMS ist von Haus aus, selbst in der Standard-Installation, sehr sicher. So ist Craft ausgezeichnet mit der Verhinderung von SQL-Injection-Hacks, die eine häufige Schwachstelle bei der Verwendung von WordPress-Themes und Plug-ins von Drittanbietern sind.
Das CVE, kurz für Common Vulnerabilities and Exposures, ist eine Liste mit öffentlichen Sicherheitsschwachstellen in Computersystemen und listet aktuell 37 Sicherheitslücken bei Craft CMS, während es bei WordPress knapp 4.600 sind. Natürlich darf man diese beiden Zahlen nicht einfach so vergleichen, da die Verbreitung von WordPress auch zigfach höher ist, als bei Craft. Folglich ist aber WordPress auch ein deutlich beliebteres Ziel für Hacker. In 2018 waren 90% der gehackten Websites weltweit auf WordPress-Basis und 52% der gemeldeten Sicherheitslücken betrafen WordPress-Plugins. Aber über die Jahre wurde WordPress sicherer, allein dass Plug-ins nun auf Wunsch automatisch aktualisiert werden, half dabei. Wenn aber Sicherheit für mein Projekt ein enorm wichtiges Thema wäre, würde ich eher Craft CMS oder Statamic empfehlen.
E-Commerce
Craft CMS und WordPress bieten tolle E-Commerce-Lösungen. Im Falle von WordPress ist es das Plug-in WooCommerce, während bei Craft die beste Lösung Craft Commerce sein dürfte.
Vorteile von WordPress ist hier das größere Plugin-Ökosystem. So ist es ein Leichtes, beispielsweise Shopify nahtlos zu integrieren. Letztlich dürfte man dadurch schneller und kostengünstiger zum Ziel kommen, da WooCommerce selbst ein kostenloses Open Source Plug-in ist. Allerdings sei auch hier gesagt, dass die Basis-Version nur mit vielen Grundfeatures daher kommt und alles Weitere mitunter Geld kostet.
Craft Commerce ist vom selben Team entwickelt, wie Craft CMS und bietet daher ein perfekt integriertes Erlebnis. Inklusive komplett anpassbaren Bestell- und Abwicklungsprozessen. Da Content und Shopping super ineinander greifen, lassen sich sehr flexible und skalierbare Lösungen bauen. Allerdings kostet Craft Commerce einmal 999 US-Dollar und 199 US-Dollar jährlich nach dem ersten Jahr. Craft Commerce Lite ist für 199 US-Dollar und nach dem ersten Jahr 39 US-Dollar jährlich zu haben. Lite hat beispielsweise keinen mehrstufigen Check-out, keinen Warenkorb, kein so ausgereiftes Rabatt-System. Völlig klar ist, dass diese Preise für eine ausgewachsene Shoplösung keine Rolle spielen dürften. Wer aber nur kleinere, kostengünstigere Shops realisieren möchte, ist mit WooCommerce möglicherweise besser beraten.
Fazit
Mein Rat kann nur sein, zuerst die Ziele und Funktionen eines Projekts zu definieren und anhand dieser dann ein CMS auszuwählen. Es wird Projekte geben, wo WordPress die bessere Lösung ist und welche wo Craft die Nase vorn hat.
Wenn ein Projekt sehr Daten-intensiv ist, viele verschiedene Inhaltsstrukturen hat oder einige Individuallösungen nötig sind, würde ich Craft CMS empfehlen. Auch, wenn die Autoren-Erfahrung und die Benutzerfreundlichkeit im Admin eine wichtige Rolle spielt. WordPress ist für kleine Marketing-Seiten interessant, hat die Stärken definitiv im Bereich der Blogs und kleine bis mittlere Shop-Lösungen.
Nicht großartig eingehen möchte ich auf die Kosten beider CMS. Craft CMS Pro kostet einmalig 299 US-Dollar, zusätzlich zu der jährlichen Gebühr von 59 US-Dollar, die nach dem ersten Jahr anfallen. Dazu kommen nach Bedarf Plugin-Kosten. WordPress ist Open-Source und kostet erstmals nicht, auch hier fallen mitunter Plugin-Kosten an. Oder aber um die 60–70 US-Dollar, wenn ein Theme gekauft ist. Craft ist das Geld definitiv Wert, da ein starker Mehrwert geboten wird. Wenn 300 bis 500 US-Dollar an Lizenzkosten ein Problem darstellen, reden wir wahrscheinlich über Projekte mit einem geringen Budget oder Hobbyprojekte und dann wäre WordPress möglicherweise die bessere Lösung.