Weg von WordPress zu einem Flat File CMS

Nachdem ich mich viele Jahre mit Wordpress herumgeschlagen habe, fing ich während der Corona-Pandemie an, ein neues, leichtgewichtiges Blogsystem zu finden.In diesem Beitrag möchte ich meine Ergebnise gegenüberstellen.

Folgendes sprach aus meiner Sicht gegen eine weitere Verwendung mit Wordpress:

  • WordPress ist hochgradig unsicher, es gibt Tools wie wp-scan, die vollautomatisiert nach Schwachstellen scannen, das erleichtert es SAkript-Kiddies immens und deswegen wird eine WordPress Seite häufiger angegriffen als alle anderen Blogsysteme.
  • Es ist quasi unmöglich, WordPress ohne Plugins zu betreiben, diese sind aber eines der größten Sicherheitsprobleme
  • WordPress unterstützt kein MarkDown bzw. nur mit Plugins. Markdown ist wiederum sehr praktisch, wenn man im Textfluss Codeschnipsel eingeben will ohne zur Maus zu greifen. Seit einer der letzten Versionen ist der WordPress-Editor unbrauchbar und zerschießt das Layout.
  • Das Backend von WordPress ist vergleichsweise langsam geworden, ich vermute, dass das am Plugin-Overhead liegt, aber mein Webspace ist einfach eher schwachbrüstig
  • Der Administrationsaufwand ist zu hoch, weil man ständig nach Updates suchen muss, siehe Punkt 1.
  • WordPress ist sehr stark an die Domain gebunden. Dadurch kann man das System nicht ohne weiteres auf den Heimserver kopieren
  • Da der gesamte Content in einer Datenbank liegt, die Bilder aber im Webspace, wird das Backup verkompliziert

Flat File CMS

Auf CMSStash las ich einen sehr interessanten und lesenswerten Text über die verschiedenen Flat File CMS-Systeme. Denn ein CMS-Schwergewicht wie Contao oder Drupal kam für mich nicht in Frage. Diese Systeme sind für wesentlich größere Seiten mit mehreren Benutzeraccounts gedacht und nicht für einfache Blogs. Leichtgewichtige CMS-Systeme, die ohne Datenbank auskommen, sind mir einfach sympathisch und für meine Blog-Zwecke völlig ausreichend.

Alle Seiten und Blogbeiträge liegen als Datei vor, das finde ich sehr angenehm. Man kann theoretisch auch ohne GUI mit einem Texteditor Seiten schreiben.

Grav

Zuerst probierte ich das System Grav aus, das ich anfange wegen der vielen Themes und Plugins und der schönen Admin-Öberfläche sehr angenehm fand. Allerdings stellte sich sehr schnell Ernüchterung ein, denn manche Dinge sind in der GUI einfach nicht pflegbar, erscheinen aber trotzdem auf wundersame Art und Weise auf der Seite.

  • Es gibt sehr viele Templates, doch hier wurde meiner Meinung nach bei den Konventionen gespart. Nicht alle Templates unterstü+tzen das "Blog" Format. Das steht innerhalb von Grav dann nirgends, sondern nur auf dei GitHub Seiten. Es wäre hilfreich, wenn dies als Warnung angezeigt würde. Denn diese Themes zeigen das Blog dann sehr unordentlich an.
  • Viele Dinge gehen nur mit manueller Bearbeitung der Yaml-Dateien. Hier hätte man etwas mehr grundsätzliche Dinge in die GUI einbauen können und etwas weniger Spezialitäten.Beispiele dafür: Bilder nach rechts floaten, Bilder verkleinern. Dafür gibt es keine Optionen im GUI. Dafür gibt es Optionen, die das Routing der Seite manipulieren. Damit kann sich ein Anfänger sehr viel zerschießen. Ein Profi dagegen benutzt vermutlich eh keine GUI.

Grav ist ein System, das von Entwicklern für Entwickler geschrieben wurde. Das erklärt die komplexen Optionen, aber auch die durch aus gute komplette Steuerung per Kommendozeile. DAs geht vom Plugin und Themes installieren, über das leeren des Caches bis zum Anlagen von Benutzern. Durchaus toll, nur gibt es eben anderswo viele Nachteile. Die Sidebar solte schon irgendwie steuerbar sein.

Bludit

Der zweite Versuch was das Systerm Bludit, das mit nur zwei Themes und wenigen Plugins kommt, ich denke aber, dass diese dann stabiler laufen. Bis jetzt musste ich nicht an den Dateien herummurken und habe keine Funktion gefunden, die sich nicht per GUI steuern lässt.

Toll ist, dass es für auch für Bludit ein Plugin gibt, das automatisiert WordPress-Seiten importiert. Dabei geht zwar auch noch was kaputt (Bilder, insbesondere Gallerien), die "Weiterlesen"-Markierungen usw. Aber etwas Nachbarbeit ist immer nötig.

Bludit ist vom PHP Code extrem einfach gestrickt und kommt offenbar ohne ein Framework wie Symfony oder Laravel aus. Ich konnte auf diese Weise innerhalb einer Stunde in bestehende Piwik-Plugin für Matomo und die aktuelle Bludit Version anpassen. Die Plugins bestehen wirklich nur aus einer einzigen PHP Datei. Leider gibt es bei den Plugins auch extremen Wildwuchs, da nutzen manche nicht einmal grundsätzliche Sicherheitsfunktionen wie Escaping.Man muss aber dazu sagen, dass es nur wenige Plugins offiziell in Bludit gibt. Die meisten muss man sich manuell per Git installieren.

Wie wahrscheinlich jedes CMS hat Bludit selbst auch enige Sicherheitslücken. Ich habe aber Vorkehrungen getroffen, um mich nicht angreifbar zu machen. Wichtig ist in jedem Fall, dass man die dedizierte Konfiguration für Apache oder Nginx benutzt, denn diese verhindert den Zugriff auf bestimmte Verzeichnisse.

Ich werde hier nachberichten, wie sich Bludiut weiter schlägt!