Gipp IT

Bloggen ohne Datenbank?

Wer einen Blog, eine einfache Website oder eine Landingpage aufsetzt, der wird in der Regel nicht um Wordpress herum kommen. WP hat sich zum Defacto-Standard entwickelt und hat ja - durch sein Plugin-Ecosystem, gerade wenn es um die Erweiterbarkeit geht - durchaus einiges zu bieten. Und für Redakteure ist es denkbar einfach den Content zu pflegen.

Man muss sich aber einmal vor Augen halten, was bei Wordpress oder vergleichbaren Content-Management-Systemen im Hintergrund alles werkelt: Die Daten werden (klingt ja logisch) in einer Datenbank gespeichert, also braucht es eine Datenbank (MySQL / MariaDB), die irgendwann mit Updates versorgt werden will. Gelegentliche Backups (Kein Backup, kein Mitleid.) sind auch keine schlechte Idee.

Wordpress ist in PHP geschrieben. Das bedeutet, dass neben einem Webserver auch ein Stück Software (php-fpm, libapache-mod-php) eingerichtet und gewartet werden muss, dass PHP interpretiert.

Und das alles, wenn es darum geht eine statische, allenfalls gelegentlich aktualisierte, Website auszuliefern.

Warum eigentlich?

Moderne Content-Management-Systeme trennen das Layout der Seite vom Inhalt. Diese Trennung war ein wichtiger Schritt um sowohl wartbare Websites zu bauen, als auch die Pflege des Contents zu vereinfachen. Und in die Zeit vor dieser Trennung, als Bleiwüsten von Hand mit HTML-Tags versehen wurden, will (hoffentlich) niemand wieder zurück.

Andererseits wären statische Websites sehr einfach zu deployen. Dafür reicht ein einfacher Webserver oder der günstigste Webspace. Der ganze oben beschriebene Overhead würde entfallen.

Und die Performance einer statischen Website ist einer dynamischen auch immer überlegen. Neben nützlichen Informationen und guter Usability sind es ja gerade schnelle Websites, die wir wollen, gerade wenn sie irgendeiner Form von Vertrieb von Produkten oder Ideen dienen und nicht Selbstzweck sind.

Screenshot Hugo

Ein Selbstversuch mit Hugo

Diese Website stellt (zusammen mit meiner privaten Seite torge-gipp.de)so etwas wie einen Selbstversuch da: Beide sind mit hugo erstellt. Hugo ist ein Static Site Generator:

  • Inhalte werden mit Markdown oder HTML lokal verfasst. Dazu genügt ein beliebiger Text-Editor.
  • Das Design wird durch ein Theme bestimmt, welches Elemente aus der Go-Templatesprache verwendet.
  • Das Theme wird durch Hugo auf jede der verfassten Markdown- oder HTML-Seiten angewendet. Dabei werden fertige HTML Seiten erzeugt und auch RSS-Feed, Sitemap und Übersichtsseiten automatisch generiert.
  • Die generierten HTML-Dateien können jetzt auf einem einfachen Webserver / Webspace veröffentlicht werden.

Das verspricht die Vorteile beider Welten - dynamischer und statischer Websites - mit einander zu verbinden.

Natürlich hat dieser Ansatz Grenzen. Statische Website bedeutet eben statisch. Out-of-the-Box kann ein statisch ausgelieferter Blog bspw. keine Sitensuche und kein Kommentarsystem bereitstellen. Aber dafür gibt es ja Javascript und Drittanbieter-Systeme wie Disqus oder isso. Wie so etwas implemetiert werden kann, also wie die statische Website wieder dynamisch werden kann, beschreibe ich vermutlich demnächst hier.