Static Site Generatoren
Mit Static Site Generatoren lassen sich Webseiten relativ einfach ohne Content Management System (CMS) betreiben und pflegen. Es gibt zahlreiche Vor- und ein paar Nachteile.
In Episode 15 habe ich ja bereits erzählt, was es für Alternativen zu WordPress gibt. Ich habe von anderen Content Management Systemen gesprochen und wann welches sinnvoll zum Einsatz kommen könnte.
Diesmal will ich das Thema noch ein bisschen weiter auf die Spitze treiben und das CMS komplett streichen!
Static Site Generator
Dank eines sogenannten „Static Site Generators“ kann man eine Webseite mit wenig Aufwand ganz ohne CMS betreiben. Selbst das Führen eines Blogs damit möglich.
Die simpelste Variante ist ein Generator, den du auf deinem eigenen Rechner installierst. Dort werden die Seiten erzeugt und dann hochgeladen.
Es gibt aber die Möglichkeit dies auf dem Server zu tun, d.h. du aktualisierst nur den Inhalt und der ganze Prozess des Generierens läuft auf dem Server ab.
Funktionsweise
Was in beiden Fällten passiert, ist identisch:
Zunächst einmal gibt es zwei große Blöcke innerhalb der Systeme. Zum einen hätten wir da die Templates, die das HTML, also die eigentliche Seite beinhalten. Diese werden, statt mit Inhalt, mit Platzhaltern gefüllt.
Dann gibt - je nach System leicht unterschiedlich - eine bestimmte Verzeichnisstruktur. Meist legen die Verzeichnisnamen auch die Pfade in der späteren URL fest. Enthalten sind einfache Textdateien mit einer bestimmten Formatieren. Darin werden Inhalte und Metainformationen oder das gewünschte Template festgehalten.
Startet man nun den Seitengenerator durchläuft dieser alle Verzeichnisse, liest die Inhalte aus, öffnet das passende Template und füllt die Platzhalter mit den richtigen Inhalten. Das Resultat wird als HTML-Datei gespeichert.
Diese HTML-Datei kann nun auf den Server oder das Hostingpaket geladen werde und die neue Seite ist online.
Lässt man den Generator auf dem Server laufen, funktioniert der Spaß genauso, bloß dass man, statt die komplette HTML-Datei hochzuladen, nur den neuen Inhalt hochlädt und die HTML-Datei dann auf dem Server erzeugt wird.
Vorteile
Geschwindigkeit
Wie auch bei reinen Dateibasierten CMS ist die Geschwindigkeit enorm hoch. Der Besucher muss auf keine Datenbank warten, nicht mal auf ein PHP-Script! Die HTML-Datei liegt fertig da und kann 1:1 ausgeliefert werden. Das merkt man besonders dann, wenn der Traffic ruckartig ansteigt. Wenn PHP-Datenbank-Systeme in die Knie gehen, sind größere Anstürme auf reine HTML-Seiten kaum ein Problem.
Und das funktioniert selbst auf dem günstigsten Hostingpaket. Denn ich brauche keinerlei Features. Kein PHP. Nichts! Nur ein bisschen Speicherplatz für meine Dateien.
Da keine Scripte nötig sind, um die Seite auszuliefern, sondern nur HTML da liegt, gibt es auch so gut wie kein Einfallstor für Hacker. Wenn so eine statische Seite wirklich gehackt wird, dann liegt das Problem an anderer Stelle, nämlich serverseitig. Bei den meisten Hostinglösungen, dürfte diese Variante der Seitenerstellung als die sicherste sein.
Sicherungen
Weil Alles als Datei auf dem Server liegt, is es extrem einfach, ein Backup zu erstellen. Einfach das komplette Verzeichnis packen und runterladen oder auf einen Backupserver schieben. Genauso schnell und einfach lässt sich die komplette Seite von einem Server auf einen anderen Umziehen.
Wer will kann seine Seite sogar in eine Versionsverwaltung einchecken und so bei Fehlern auf alte Versionen zurückgreifen.
Nachteile
Das klingt alles total toll, aber es gibt auch ein paar Nachteile. Wie das immer so ist…
Der größte Nachteil dürfte die fehlende Admin-Oberfläche sein. Die Inhalte werden meist direkt in den Dateien geändert.
Der oben beschriebene Prozess sorgt auch dafür, dass man sich eben nicht mal schnell irgendwo einloggen kann, um einen Tippfehler zu korrigieren. Man muss in der Datei die Änderung vornehmen und dann den ganzen Prozess durchlaufen.
Auch dynamische Inhalte lassen sich so nicht erzeugen. Ich spreche hier von Kommentaren oder anderes Feedback, wie Ratings oder Likes. Hier muss im Zweifel immer ein externer Dienst genutzt werden.
Die Generatoren
Wen das nicht abschreckt, der sollte sich mal ein paar Generatoren ansehen.
Am bekanntesten ist sicherlich Jekyll. Der deshalb so beliebt ist, weil er bei GitHub zum Einsatz kommt. Aber es gibt zahlreiche andere Systeme, wie Hugo, Hexo, Octopress oder Brunch.