T3SEO

TYPO3 and SEO since 2011

Kirby CMS

Momentan gibt es etwas an Hype (zwei Beispiele) um Kirby, das kürzlich als neues CMS veröffentlicht wurde. Besonders einfache Installation ohne Datenbank ist eines der Claims. "Easy to setup, easy to use, flexible as hell" verspricht das System. Ich habe einen Blick darauf geworfen.

Kirby - ein alter Bekannter

Der Kirby-Entwickler Bastian Allgeier ist studierter Designer und vielleicht auch durch das Projekt Zootool bekannt. Vor dem Release von Kirby als CMS gab es unter dem gleichen Namen ein PHP-Toolkit, das jetzt in Kirby Toolkit umbenannt wurde und das wiederum von Kirby CMS verwendet wird. Der Slogan des Toolkits war bis vor Kurzem "... when a designer tries to build a php toolkit" und leider stellte sich das genau als die Wahrheit heraus.

Das ganze Toolkit ist eine lose Sammlung von PHP-Funktionen und Klassen (die wiederum auch nur Sammlungen von Funktionen sind). Objektorientierung? Modularer Aufbau? Dokumentierter Code? Fehlanzeige. Da hilft einem die tollste IDE mit intelligentester Autocompletion und Datentypprüfung nichts, wenn PHPDoc ein Fremdwort für den Entwickler ist und generell schon mal alles als fehlerhaft markiert wird, weil Kirby intern Methoden statisch aufruft, die nicht statisch deklariert sind, etc.

Kurz gesagt: Die Codequalität des Toolkits ist mies und entspricht wohl dem was viele Hobby-Entwickler als Snippetsammlung irgendwo auf ihrer Platte herumliegen haben.

Das CMS

Doch für denjenigen, der ein einfaches CMS sucht ist die Codebasis vermutlich nicht das Wichtigste, deshalb ein Blick auf Kirby CMS: Wie gesagt kommt es komplett datenbanklos daher und ist stattdessen ordner- und textdateibasiert. Die Ordner geben die Menüstruktur wieder, die Textdateien den Inhalt. Unweigerlich fühle ich mich an graue Anfangszeiten erinnert, in denen man noch handgeschriebene HTML-Projekte nach dem gleichen Prinzip baute.

Bei der Installation hält das System erst einmal was es verspricht: Wird es nicht im Webroot installiert, sondern in einem Unterordner gibt es noch kurz zwei hilfreiche und einfache Konfigurationshinweise und sonst läuft Kirby direkt nach dem Kopieren in das Dateisystem mit dem Beispieltemplate.

Das Bearbeiten der Inhalte in den Textdateien fällt natürlich leicht und funktioniert wie erwartet. Aber sobald man mehr machen möchte kommt man in's Stocken: Wenn ich eine neue Seite (also neuen Ordner) anlege, wie soll die .txt-Datei dann heißen? Wie lege ich eine versteckte Seite an? Was ist mit Unterseiten? Wie gebe ich der Seite eine Meta-Description? Auf diese Fragen gibt es in der englischsprachigen Dokumentation natürlich Antworten, aber es fällt zum ersten mal auf: Kirby hat ja gar kein Backend. Und somit muss jede Logik, Konfiguration und Verknüpfung über das Dateisystem, dessen Struktur und Namensgebung erfolgen. Das ist vielleicht etwas, was man als technikaffiner Administrator einigermaßen schnell lernen kann (und ja, es ist ein Kinderspiel wenn man die Lernkurve von TYPO3-Administratoren gegenüberstellt), aber was ist mit normalsterblichen Redakteuren? Welcher Kunde soll das denn bedienen?

Kunde ist überhaupt ein gutes Stichwort. Kirby kennt kein Rechtemanagement. Einzige Möglichkeit den Zugriff für bestimmte Benutzer einzuschränken ist es FTP-Accounts für bestimmte Unterordner zu erstellen. WYSIWYG-Editor? Gibt es natürlich nicht - wie auch, ohne Backend? Möchte man den Inhalt formatieren muss direkt HTML in die Text-Dateien geschrieben werden, das übrigens unangetastet im Frontend landet. Das bedeutet, dass jedem Benutzer zu 100% vertraut werden muss, weil er alles an Javascript und iframes platzieren kann, was ihm so einfällt. Und wenn man dem Kunden dann erklärt wie er das a-Tag benutzen kann um einen Link zu setzen, ist man wieder erstaunlich nah dran an grauen HTML-Zeiten und fragt sich wozu man eigentlich ein CMS im Einsatz hat.

An dieser Stelle könnte jetzt noch eine lange Liste an Features stehen, die meiner Meinung nach ein professionelles CMS bieten muss und die bei Kirby schlicht fehlen. Um nur drei zu nennen: Mehrsprachigkeit, ein Entwurfsstatus für Inhalte (so dass sie noch nicht im Frontend zu sehen sind), Skalieren von Bildern.

Templating und Plugins

Das Templatingsystem erinnert etwas an Wordpress: Ein Template ist eine PHP-Datei, die mit HTML gefüllt ist und zwischendurch von PHP-Anweisungen unterbrochen wird, die dynamische Inhalte erzeugen. Um Bestandteile wie die Navigation in verschiedenen Templates nicht redundant verbauen zu müssen, gibt es Snippets, die es erlauben ausgelagerte Template-Schnipsel zu laden.

Ich persönlich finde PHP-Include-Templating ein Unding, es scheint aber breit akzeptiert zu sein. Eine fertige Engine wie Twig oder Smarty hätte dem System hier trotzdem gut gestanden.

Außerdem ein zentraler Bestandteil aller CMS ist das Plugin-Sytem. Bei Kirby ist dieses -ich bitte hier wirklich um Vergebung für meiner herablassende Art, ich kann gerade nicht anders- ein Witz. Es gibt keine Plugin-API und logischerweise kein Backend zum Verwalten von Plugins. Plugins sind PHP-Dateien, die (wieder ähnlich wie bei Wordpress) in den PHP-Templates eben included werden können und dann ihren Inhalt ausgeben. Was dann wieder der handgemachten HTML-Site von früher entspricht, wo dann einfach eine guestbook.php-Datei herumlag, die den dynamischen Teil regelte. Eine API, die es Plugins erlauben würde das Verhalten von Kirby selbst zu beeinflussen, gibt es nicht.

Preis und Fazit

Die Lizenz für die Nutzung von Kirby für eine Website kostet 30€ Netto. Ich bin ein großer Anhänger von Open Source Software, habe aber überhaupt kein Problem damit wenn jemand (auch im PHP-Bereich) seine Software und seine darin steckende Arbeit für Geld lizensiert. Und 30€ sind wirklich ein Schnäppchen im Vergleich zu manch anderen proprietären Content Management Systemen, die häufig im vier-, teilweise im fünfstelligen Bereich liegen.

Ich kann mir aber nur eine sehr kleine Gruppe von Nutzern vorstellen, für die sich der Kauf letztendlich lohnt. Webaffine Designer, die ein wenig mit HTML umgehen können und sich für ein Hobbyprojekt irgendwo einen billigen Webspace geholt haben könnten in der Zielgruppe liegen. Die gesamte Agenturwelt, die ihren Kunden benutzbare Systeme liefern muss, fällt in meinen Augen weg.

Mein Fazit: Der Hype um Kirby ist vollkommen ungerechtfertigt.

Disclaimer

Ich betrachte das System natürlich aus meiner TYPO3-Blase, mit der Weltanschauung TYPO3 sei für die meisten Projekte da draußen das beste CMS auf dem Markt. Trotzdem haben viele Produkte, die mit TYPO3 konkurrieren, ihre Daseinsberechtigung und Vorteile. Kirby kann ich hier leider nicht einreihen.

Kirby CMS

Short URL

t3seo.de/22.l