builtbright GmbH Logo
Website
News

Warum wir WordPress für Typo3 + NextJS aufgegeben haben

Genervt von den Einschränkungen und der Komplexität von WordPress, haben wir uns von unserem alten CMS verabschiedet und uns für die leistungsstarke Kombination aus Typo3 und NextJS entschieden. 23. September 2024· 13 Minuten Lesezeit

Seit letzter Woche ist unsere neue Website online und wir könnten nicht stolzer sein: Nach einer Brutto-Projektlaufzeit von 2 Monaten haben wir den Schritt von WordPress zu Typo3 mit NextJS gewagt. Was uns dazu bewogen hat und warum, könnt ihr in diesem Artikel nachlesen.

Kein WordPress-Bashing

Eines vorweg: Wir wollen hier nicht das mit knapp 44% (Stand Q3 2024) am weitesten verbreitete Content Management System im Internet schlechtreden. Im Gegenteil: WordPress hat uns geholfen, schnell eine Website auf die Beine zu stellen. Mit schnell meinen wir eine Woche - und in der haben wir mit Hilfe von Elementor und Co. einiges geschafft: Firmenpräsentation, Magazin und Start eines Lexikons für Softwarebegriffe.

Aber die Seite ist von Monat zu Monat gewachsen.

Und genau das ist einer der Gründe, warum wir WordPress nun den Rücken gekehrt haben.

Native mehrsprachige Unterstützung

Zu Beginn bot unsere Website keine mehrsprachigen Inhalte. Die Entscheidung, eine englische Version der Website zu erstellen, fiel erst einige Monate später.

Das Problem: Mehrsprachigkeit wird von WordPress nicht nativ unterstützt. Die Lösung wäre entweder ein Plugin eines Drittanbieters oder die Nutzung der nativen Multisite-Funktion von WordPress. Letztere ist aber eigentlich für völlig unterschiedliche Blogs/Websites gedacht und nicht für mehrsprachige Versionen einer eigentlich identischen Website.

Wir haben uns für die Zweckentfremdung der Multisite-Funktion entschieden, da wir den Einsatz von Drittlösungen so gering wie möglich halten wollten.

Dass wir nun zwei verschiedene WordPress-Administrationsoberflächen hatten, wandelte sich im Laufe der Zeit vom Vorteil zum Nachteil: Der Pflegeaufwand wurde immens.

Hier kam Typo3 ins Spiel: Typo3 unterstützt Mehrsprachigkeit nicht nur von Haus aus, sondern auch sehr benutzerfreundlich. Seiten und Inhaltselemente lassen sich kinderleicht nebeneinander bearbeiten, ohne in andere Bereiche der Administrationsoberfläche springen zu müssen.

Typo3 Backend side-by-side

Passgenaue Erweiterungen

Website-Builder wie Elementor bieten eine Vielzahl von Anpassungsmöglichkeiten. Auch wir haben unsere Inhaltselemente mit Elementor erstellt. So sparten wir uns den Schritt vom Designtool zur Programmierung der Inhaltselemente und konnten diese stattdessen direkt visuell im Editor erstellen.

Elementor selbst ist aber eine Erweiterung von WordPress, also ein Plugin. Dass dieses mit vielen verschiedenen Widgets daherkommt, ist ja noch gut, aber wenn es um “Custom” Extensions geht, was dann?

“Custom” Erweiterungen sind zum Beispiel das Lexikon oder unser Portfolio, die wir beide nach und nach entwickelt haben. Das Lexikon bietet eine Suchfunktion, das Portfolio wollten wir mit Scroll-Effekten etwas aufwerten.

Sicherlich hätte man Elementor mit einem weiteren Plugin, das mit weiteren Widgets kommt, aufwerten können. Da wir aber so wenig wie möglich Plugins von Drittanbietern verwenden wollten, haben wir uns entschieden, diese selbst zu schreiben.

Wir haben also unsere eigenen Widgets programmiert und uns damit von der Bequemlichkeit von WordPress entfernt - was dabei herauskam, war eine hybride Website und keine "zusammenklickbare" Website mehr.

Lustigerweise hatten wir sogar ein extra Micro-Frontend, das einzelne React-Module ausliefert. Unter anderem die Quiz-Komponente für Magazin- und Lexikonartikel. Durch den Einsatz von NextJS auf Basis von React konnten wir das gesamte Microfrontend in das Hauptprojekt überführen.

Mit NextJS und Typo3 haben wir nun alle Content-Elemente von Grund auf nach unseren Bedürfnissen entwickelt. Und hier müssen wir uns wieder bei WordPress bedanken: Ohne die schnelle Möglichkeit, Content-Elemente per Klick zu erstellen, hätten wir nie so schnell eine Website auf die Beine stellen können. Nachdem die Seite nun fast ein Jahr in Betrieb war, wussten wir genau, welche Inhaltselemente wir brauchten. Und konnten diese passgenau nach Designvorlage programmieren.

Ewig wartungsarm

Haben wir schon Plugins erwähnt? Plugins gibt es bei WordPress wie Sand am Meer. Und das macht in gewisser Weise das System aus. Denn so kann WordPress nicht nur Blog, sondern auch Onlineshop, Social Media Plattform, Intranet und vieles mehr sein.

Ein großer Vorteil, der aber auch einen entscheidenden Nachteil mit sich bringt: Den Wartungsaufwand.

Plugins werden von Drittanbietern entwickelt und gepflegt. Das geht bis zu einem gewissen Grad gut, aber bei einer “zusammengestückelten” Website mit 20+ Plugins kommt es schnell zu Wechselwirkungen. Die Plugins kennen sich nicht und nehmen auch bei Updates keine Rücksicht aufeinander. Das kann potentiell zum Absturz der gesamten Website führen - eine Wartung muss also “manuell” erfolgen, um diese Wechselwirkungen auszuschließen. Und das kostet Zeit. Wer bis hierhin gelesen hat, wird verstehen, warum wir in den vorherigen Punkten immer auf Plugins von Drittanbietern verzichtet haben.

Ein weiterer negativer Punkt ist die Art und Weise, wie das WordPress-Ökosystem funktioniert: Plugins sind .zip-Dateien, die entpackt werden müssen und nur über den WordPress-Plugin-Marktplatz bezogen werden können - entweder per direktem Download oder über WordPress selbst. Wenn man nun wie wir in einer containerisierten Umgebung arbeitet und hostet, müssen alle Plugin-Daten Datei für Datei in die Versionskontrolle übernommen werden. Updates können nur umständlich über das lokale WordPress-Backend durchgeführt werden, bevor sie mit einem Release veröffentlicht werden.

Typo3 löst dies mit dem Composer, indem Module über eindeutige Namen und Versionen einer Datei hinzugefügt werden. Das Composer-Ökosystem ist eine Paketverwaltung, die bereits Abhängigkeiten prüft und Quellcode automatisch bezieht, ohne dass dieser in die Versionskontrolle aufgenommen werden muss. Das spart viel Zeit.

Die Module, die wir in Typo3 verwenden, sind recht übersichtlich gehalten und Updates sind außer Sicherheitsupdates nicht oft zu erwarten. Wenn man einmal eine saubere Typo3-Installation hat, kann man diese nachhaltig und über Jahre hinweg auch ohne Updates betreiben - zwar nicht empfehlenswert, aber machbar.

Umfangreiche Sicherheitsaspekte

Typo3 bietet out-of-the-box umfangreiche Sicherheitsaspekte und kann zudem separat gehostet werden, wenn es headless betrieben wird.

Wie eingangs erwähnt, führt WordPress mit knapp 44% das weltweite CMS-Ranking an. Dementsprechend auf dem Radar von Bots und Hackern.

WordPress ist von Haus aus arm an Sicherheitstools und -maßnahmen. Und das finden wir schwach - zum Beispiel werden Benutzernamen von Administratoren über die API offengelegt und Brute-Force-Angriffe werden nicht blockiert. Wir mussten daher auf den Marktführer WordFence zurückgreifen, um die bekanntesten Sicherheitslücken zu schließen. Nachfolgend eine Bewertung von WordFence für Login-Versuche durch Botnetze:

WordPress WordFence Brute Force Übersicht

Aber ist das spezifisch für WordPress? Ganz und gar nicht. Kann das auch bei anderen Systemen passieren? Auf jeden Fall.

Was uns nur besonders negativ aufgefallen ist, ist, dass wir einfach zu wenig Kontrolle darüber haben, was die verwendeten Plugins und WordPress selbst “anstellen”. Alles kann potenziell über die Schnittstelle veröffentlicht werden und für Angreifer nützlich sein. Das kann uns mit NextJS und Typo3 nicht passieren: NextJS haben wir von Grund auf neu entwickelt, wir wissen also, was veröffentlicht wird und was nicht.

Warum wir trotzdem wieder auf WordPress setzen würden

Wer uns bis hierhin aufmerksam verfolgt hat, wird bemerkt haben, dass WordPress gut geeignet ist, um schnell und einfach neue Websites aufzubauen.

Wenn wir uns entscheiden müssten, was uns am meisten zum Umstieg bewogen hat, dann wäre es die Mehrsprachigkeit. Und ohne sie wären wir wahrscheinlich vorerst bei WordPress geblieben.

Aber auch die Freiheit, Content-Elemente von Grund auf zu bauen und immer wieder einfach wiederverwenden zu können, ist nicht zu unterschätzen. Das kann man mit Elementor zwar auch in gewissem Umfang, aber funktional eingeschränkt und unserer Meinung nach umständlicher als in Typo3.

Letztlich ist es immer eine Frage der Situation: Es kommt auf die Bedürfnisse und die Erfahrungen mit den Systemen an. Diese gilt es zu ermitteln und abzuwägen, ob die Entwicklung einer besseren Lösung sinnvoll ist. Als Fachleute im digitalen Bereich kennen wir glücklicherweise die unterschiedlichsten Systeme und ihre Vorteile. Habt ihr auch Schwierigkeiten mit euren Bestandssystemen oder kommt nicht mehr weiter? - Dann meldet euch bei uns.

War das hilfreich für Sie?
linkArtikel teilen
builtbright GmbH Icon
Software, builtbright.

Nachhaltige Web-Software für KMU.

Unternehmen
keyboard_arrow_down
Ressourcen
keyboard_arrow_down
Follow us
keyboard_arrow_down

© 2024 builtbright GmbH