Statische Website-Generatoren erleben einen Aufschwung

Structure of static website generators

Static Website Generator, by Masakuni Kato (https://www.slideshare.net/mackato/blogging-on-jekyll)

Ich bin offensichtlich nicht der Einzige, der gerade seinen Webauftritt umstellt und von einer dynamischen Website (WordPress) auf statische Website-Generatoren umsteigt. So gibt eine Google-Suche mit transfer blog from wordpress to jekyll ca. 360.000 Einträge. Auch wenn nicht alle Einträge genau diesen Transfer beinhalten, so ist andererseits Jekyll auch nur ein bestimmtes Produkt – wenn auch aus der großen Familie statischer Website-Generatoren (derzeit gibt es bereits 459 Produkte!) das im Augenblick im Ranking führende Software-Werkzeug.

Es gibt im Netz wörtlich hunderte von Anleitungen, Plugins, Scripts die den Migrationsprozess erleichtern sollen. Einige Beispiele: 

Die meisten Anleitungen und Hilfsmittel betreffen die Migration zu Jekyll. Ist erst dieser Export geschafft, ist es recht einfach auf einen anderen statischen Website-Generator zu wechseln.

Statische Website-Generatoren: Wieso dieser Aufschwung?

Was ist hier los? Wieso diese Flucht weg von WordPress hin zu statischen Website-Generatoren? Wir haben doch alle gedacht, dass die Zeiten, wo wir lokal mühselig HTML-Seiten vorbereiten und dann „hinauf laden“ endgültig vorbei sind?

Tsatsächlich haben statische Website-Generatoren eine ganze Reihe von Vorteilen:

  1. Geringere Komplexität: Über ein hierarchisch organisiertes  System von Vorlagen (Templates) werden mit normale HTML-Seiten die komplette Struktur des Websites produziert. Das Tolle daran: Es sind – „out of the box“ und wenn keine speziellen Änderungswünsche bestehen – weder HTML, CSS oder Javascript-Kenntnisse erforderlich. Geschrieben wird in einer Auszeichnungsprache (Markup Language, z.B. Markdown), die viele von uns aus der Wikipedia kennen. – Dies gesagt möchte ich nicht verheimlichen, dass zumindest rudimentäre Kenntnisse sehr hilfreich sind, z.B. wenn eine Feature über einen im Netz befindlichen Programmcode eingebaut werden soll.
  2. Höhere Geschwindigkeit: Statische Webseiten sind extrem schnell, weil der Server keine Abfragen oder Berechnungen durchführen, sondern nur die angeforderte Seite zurückgeben muss. Dynamische CMS wie WordPress hingegen alle Seiten aus verschiedenen Templates neu generieren und mit der Benutzung von Plugins kommen wird dieser Auifwand noch vervielfacht, weil eine ganze Reihe von Datenbankabfragen und Auswertungen vom Server erledigt werden müssen. Siehe z.B. den Vergleich zwischen WordPress und Hugo, den statischen Website-Generator, den ich auf meinem neuen englischen Weblog verwende.
  3. Höhere Sicherheit: Es gibt nur statische Websiten und keine Scripts auf Serverseite, die für Einbrüche genutzt werden können. Natürlich heißt das nicht, dass nichts passieren kann, aber die Gefahr für ein Sicherheitsloch ist weit geringer. WordPress ist nicht nur als führendes CMS weit verbreitet, sondern auch gut dokumentiert. Hacker können veraltete Versionen und fehlerhafte Plugin relativ leicht ausnutzen, weil nicht alle Nutzer/innen ständig die neuen (Sicherheits-)update aufspielen und/oder sich der Riskiken nicht bewusst sind.
  4. Leichtere Skalierbarkeit: Mit statischen Websites ist es einfacher die Last auf verschiedene Server zu verteilen. Es muss nur sichergestellt sein, dass der statische Website auf mehreren Servern liegt. Mit WordPress hingegen  geht das nur beschränkt, weil die zentrale Datenbank, die dann ebenfalls auf einen eigenen Server liegt, irgendwann selbst überlastet wird. Wenn aber ein verteiltes System von Datenbank notwendig wird, dann steigt die Komplexität nochmals gewaltig an.
  5. Versionskontrolle: Der für mich wichtigste Vorteil aber ist, dass es sich bei allen Dateien um normale Textdateien handelt. Abgesehen davon, dass sie leicht in ein ZIP-File gepackt und migriert werden können, ermöglichen reine Textdateien die Anwendung von Git und GitHub, einem ausgefuchsten System der Versionskontrolle, das auch das nachvollziehbare kooperative Arbeiten entscheidend erleichtert. Wer kennt nicht die multiplen Word-Versionen, die bei näherkommender Deadline kursieren und wo man/frau niemals sicher ist, in der letzten Version zu arbeiten. Gut, das lässt sich mit einer Cloud-Version leicht abstellen, bezieht sich aber vor allem auf Personengruppen, die sich kennen. GitHub hingegen ermöglicht durch das Konzept des Pull requests (sollte eigentlich wie Yihui richtig anmerkt Merge request heißen) das öffentliche (häufig nur sporadische) kooperative Arbeiten mit (bisher) Unbekannten.

Statische Website-Generatoren: Totgesagte leben länger

Diesen letzte Punkt (normale Textdateien) halte ich für ganz wesentlich für eine Zusammenarbeit. Nicht nur weil jeder Texteditor die Datei öffnen und verarbeiten kann, sondern weil durch Systeme wie GitHub Textbestände den gleichen Status wie Daten- und Code-Repositorien bekommen und damit wesentlich leichter öffentlich und gemeinschaftlich bearbeitet und weiterentwickelt werden können. Hier tut sich ein riesiges neues Gebiet – nicht nur für die Geisteswissenschaften – auf! Besondere Bedeutung hat dies für mich auch im Zusammenhang reproduzierbarer Forschung, weil damit jeder einzelne Arbeitschritt potential nachvollziebar ist und wir uns nicht mehr bloß mit der eigens für die (wissenschaftliche) Öffentlichkeit produzierte Endversion begnügen müssen.

Mein Interesse an den neuen Möglichkeiten (Methoden, Technologien, Initiativen) reproduzierberer Forschung (reproducible research) ist auch der Grund dafür, dass ich ein englisches Weblog neu begonnen habe. – Nur eigenartig: Seit ich https://notes.peter-baumgartner.net gestern mit einem einschlägigen inhaltlikchen Tweet öffentlich gemacht habe, schreibe ich wieder vermehrt deutsche Blogtexte!

Wenn ich Ihr Interesse zu statischer Websites geweckt habe, und Sie mehr dazu wissen wollen: Hier einige Links dazu: 

Flattr this!

Verschlagwortet mit , , . Bookmark the permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.