php-homepage.com

Flat File CMS - back to the roots

Anscheind schon in Vergessenheit geraten sind die Zeiten, als man Content-managment noch ohne Datenbank betrieb.
Aus gegebenem Anlass (Der Mysql-Server unserer Hauptseiten lief auf Vollast), besann ich mich zurück zu den Wurzeln, als eine Webseite noch aus einzelnen (html-) Dokumenten bestand.

Ja, liebe Wordpress-, Joomla- und Benutzer anderer überladener Systeme, es gab mal Zeiten, da stand hinter jeder URL eine Datei.
Umständlich? Mag sein, aber ist es praktischer für eine Nischenseite oder ein Hobbyprojekt mit weniger als 100 Artikeln/Unterseiten ein CMS zu installieren, das von sich aus schon mit
über 30 MB in 5.128 Dateien (Joomla 3.5.1)
über 20 MB in 1.349 Dateien (Wordpress 4.5.3)
über 50 MB in 12.756 Dateien (Drupal "Core" 8.1.3) Ach du Schreck!
daherkommt?

schnell, schneller - flat file cms
back to the roots - flat file content managment

Webspace und Anzahl der Dateien/Verzeichnis stellen ja für heutige Webserver kein Problem mehr da, aber das ganze schnell mal auf den Server übertragen dauert (je nach Ressorcen)
von einigen Minuten bis zu einer Stunde. Dann muss noch die Datenbank eingerichtet und verbunden werden, die Konfigurationen angepasst, dann noch diverse Kleinigkeiten wie Apache Handler, .htaccess auf den jeweiligen Host abstimmen (bei manchen über das Verwaltungs-backend, bei anderen über Php.ini),...

Zum Glück gibt es auch unkomplizierte Varianten:

Hat man sich aber erst einmal mit der Materie beschäftigt, erkennt man wahrscheinlich, dass es vielleicht doch besser ist, den eigenen Content unter eigener Verantwortung zugänglich zu machen, sprich eigene Domain und ev. ein eigener Server ohne Einschränkungen, die obige Services so mit sich bringen.
Auch wenn es zu Beginn zuviel erscheint, so möchte man nach einiger Zeit als Blogger/Seitenbetreiber doch weitergehende Anpassungen am System vornehmen. Leider wird dies erst möglich, wenn man sich sein System, die Plugins, Templates usw.
selbst auf die individuellen Bedürfnisse zusammenstellt.

Und dann muss man das Projekt auch noch in Eigenregie im Web veröffentlichen ->eigener Webspace/Vserver oder gar ein eigener, dedizierter Server.

Vor- und Nachteile von Content Managment Systemen allgemein

Als Alternative eignen sich für kleine Projekte eventuell auch sogenannte Statische Seitengeneratoren (static site generator).
Diese bauen meist auf mehr oder weniger bekannten Frameworks auf und sind oft sehr mühsam zu installieren und bedienen. Dennoch, mit wenigen grundlegenden Kenntnissen in Html bzw Markup, der Lust Skripte anzupassen und etwas technischer Affinität,
finden sich hier einige Schätze von Systemen zur Contentverwaltung.

Die anfangs unter Umständen schwierige Einarbeitungszeit wird in späterer Folge belohnt durch:

Einige ausgewählte Flat File CMS

Die folgenden Systeme wurden aufgrund der Kriterien Geschwindigkeit und Bedienbarkeit/Wartungsaufwand ausgewählt:

WonderCMS mein persönlicher Favorit in Sachen Schlankheit (18KB) und Geschwindigkeit, wenn auch ohne WYSIWYG-Editor, auch tiefe Menüstrukturen sind nicht leicht zu realisieren. Für Miniprojekte aber bestens geeignet und Inhalte lassen sich übers Frontend editieren.
Hier der link zur Demo von WonderCMS Login Button rechts unten (Passwort: admin)

Um einiges ausgereifter, leichter zu bedienen und mit Templates und Plugins erweiterbar - dafür aber nicht mehr ganz so schlank:
Typesetter CMS
WYSIWYG, automatische Anpassung von Bildgrößen, großer Funktionsumfang und eine kleine aber versierte Community haben mich überzeugt,
mich hier genauer einzuarbeiten.

Noch erwähnenswert aufgrund Geschwindigkeit und Funktionsumfang - konnte es aber noch nicht so detailiert testen:
Pluck CMS

Zu kompliziert und keine Lust, Texte in Markup zu schreiben?

update 15.06.2018:
Nach 7 Jahren mit Joomla (das zu Beginn unserer online Aktivitäten das verbreitetste und den Content Managment Systemen war) kann ich keine Empfehlung mehr für dieses CMS aussprechen. Der nachfolgende Absatz ist somit veraltet bleibt aber aus Integritätsgründen stehen, wie ich ihn damals geschrieben habe:

Das einfachste CMS für Anfänger: Joomla
recht schnell, solange man keine überladenen bzw. schlecht programmierten Extensions/Plugins benutzt.
Seit Version 3.x wird wieder Augenmerk auf Verschlankung und Verbesserungen der Core Funktionen gelegt. Mit PHP7 konnte ich auf den von mir betreuten Seiten eine große Performancesteigerung erkennen und in Ermangelung von Alternativen werde ich alle größeren Projekte weiterhin mit Joomla betreiben.

Das mit Abstand beliebteste CMS für Blogger ist ohne Zweifel Wordpress,
Da ich aber von Anfang an (Ende 1990er) den Weg der "klassischen" Webseiten beschreite, verwende ich Wordpress nur in Web2.0 Blogs für SEO-Zwecke. Ich bin zwar regelmäßig in Blogs aktiv, erachte für kommerzielle Projekte aber Joomla als die sinnvollere Veraiante. (Content-Seiten, Nischenseiten für bestimmte Produkte, Adsense Seiten,...)
update 15.06.2018:
Wordpress hat Joomla in den letzten Jahren endgültig vom CMS-Thron gestoßen und nicht zu unrecht, wie wir am eigenen Leib erfahren mussten: Aufgrund diverse SEO-Probleme (falsche Canonicals, über mehrere URLS erreichbare Artikel, Code zu Text Ratio, unvollständige Snippets usw.) und dem Weggang einer Contentmanagerin haben wir im letzten Jahr den großteil unserer Webseiten wieder zurück auf "flat-file" ( bis auf wenige dynamische Funktionen) gestellt.
Es ist zwar anfangs mühsam, Artikel in HTML einzupflegen und jede kleine, für CMS Benutzer mit einem Klick realisierbare Funktion manuell zu implementieren. Die Kontrolle über den Code und die beinahe vollständige Update- und Wartungsfreiheit wissen wir nun aber wieder zu schätzen. Ach das Risiko von Sicherheitslücken ist hierbei beinahe Null.

Zu guter Letzt ranken unsere aktuellen Projekte schon nach wenigen Monaten in den Top 10 Positionen bei Google. Gründe hierfür sind ein neues, schlankes mobiltaugliches template und Ladezeiten von weit unter einer Sekunde ohne Caching-Tricks. Die Absprungrate hat sich seit der Umstellung von Joomla auf flat-file von etwa 30% auf unter 20% verringert, was wiederum ein Ranking Signal ist und die Positionen in Google verbessern, was wieder mehr Besucher bringt usw. :)