Caliandro.de - Blog

Renovierung meiner Seite mittels Hugo

Updates & Langzeiterfahrung

Hier habe ich meine Erfahrungen mit dem Static Site Generator hugo zusammengefaßt. Vorneweg: Mittlerweile nutze ich nur noch emacs orgmode zur Erzeugung meiner Webseite.

Februar 2021

Ich habe weiterhin meinen Spaß mit orgmode org-publish und kann es wirklich empfehlen, wenn man sich mit Emacs beschäftigten möchte.

April 2020

Da ich fast alles mit Emacs Orgmode mache, bin ich jetzt mit der Website auch von hugo auf Orgmode Publish umgestiegen. Hugo ist weiterhin ein tolles Tool, aber das Autoring der Texte und das Publishing mittels orgmode läuft für mich einfach geschmeidiger aus einem Guß. Zudem gab es bei jedem Hugo Update Probleme mit den verwendeten Templates und damit zu viel Wartungsaufwand für meinen Geschmack. Ich habe jetzt ein simples minimalistisches HTML Template für meine Zwecke erstellt, das auch ganz hübsch anzusehen ist.

Dezember 2019

Da wollte ich nur einen Text auf meiner Seite aktualisieren und dabei hat es mir das gesamte Layout zerissen. Schuld daran waren Änderungen in hugo Templating System, so dass mein bisheriges Theme nicht mehr korrekt interpretiert wurde

  • Tipp für Webmaster mit wenig Zeit: hugo executable (speziell unter sich automatisch aktualisierenden Systemen wie Linux) in der Version sichern, mit der die eigene Seite gebaut wurde. Dann kann man sich immer noch überlegen, ob man gerade Lust auf stundenlange Fehlersuche und Anpassung hat oder einfach noch eine Weile die alte Version einsetzt (Sicherheitslücken für den generierten Webcontent sind ja nicht zu erwarten).
  • Lernerfahrung für mich: Verwende ein minimalistisches, bereits vorhandenes Theme, welches kompatibel ist und adaptiere dieses anstelle auf der grünen Wiese zu beginnen.

März 2019

Nach nun mehr als 14 Monaten haben sich die Vorteile bestätigt: Während ich bei mehreren von mir verwalteter Seiten jeweils einige Stunden mit dem Einspielen von Updates und Security-Patches inkl. dem Verstehen und Fixen einiger dabei entstandener Bugs, Probleme und Inkompabilitätenverbracht habe, ist meine private Webseite caliandro.de stör- und wartungsfrei geblieben. Ich werde daher nun einige andere Webauftritte, deren Inhalt nur selten aktualsiert wird, ebenfalls von Joomla zu Hugo migrieren und nur noch vereinzelt CMS einsetzen.

Ich erneuere gerade (Anfang 2018) meine private Seite und da das zur Verfügung stehende Zeitbudget sehr knausrig ist, kann es gut sein, dass hier und da noch was nicht so richtig funktioniert. Ich verwende nun anstelle eines Content Management System einen Static Site Generator namens Hugo Orgmode (siehe Update April 2020). Der ist auf den ersten Blick grob vergleichbar mit Macromedia Dreamweaver um die Jahrtausend-Wende, nur mit einer deutlich steileren Lernkurve und ohne grafischen WYSIWYG Luxus.

Die Vorteile eines Static Site Generators

  1. Keine Ansprüche: Jeder beliebige Webhoster reicht aus, man benötigt weder Script Unterstützung wie PHP oder CGI und auch keine (MySQL) Datenbank.
  2. Sicherheit: Da die generierten Seiten eigentlich nur aus HTML und CSS bestehen (und leider ein wenig Javascript), gibt es hier keine Schwachstellen, die Hacker ausnutzen können
  3. Geschwindigkeit: Da die Seiten im Voraus erzeugt wurden (daher static), werden sie schneller vom Server an den Browser ausgeliefert.
  4. Zeit: Regelmäßiges Einspielen von Sicherheitsupdates fällt flach. Da ich für viele Freunde und Bekannte im Laufe der Jahre Webpräsenzen mit Content Management Systemen erstellt habe, muss ich die noch existenten Seiten andauernd aktualisieren. Ich hatte unterschätzt, wie groß der Aufwand bei Verwendung selbstgeschriebener Templates und Plugins ist, da sich alle Jahre wieder bsplw. bei Joomla etwas Grundlegendes an der Architektur ändert und alle eigenen Elemente aufwändig angepaßt oder neugeschrieben werden müssen.
  5. Fokus: Anstelle vieler Zusatzfunktionen kann man sich mit einem Static Site Generator nach dem Einmalaufwand für die Einrichtung der Seite wirklich auf den Inhalt konzentrieren
  6. Kontrolle: Da die Seiten im Voraus generiert wurden, kann nichts Unvorhergesehenes dem Besucher angezeigt werden. Bei komplexen CMS, die bei jedem Aufruf Daten aus diversen Datenbank-Tabellen abrufen und zu einer Webseite zusammenstellen, kann es bei massig Inhalten schnell zu unerfreulichen Kombinationen kommen.
  7. Wartungsarmut: Ich habe seit Anfang Januar keinen Finger gerührt, musste keine Updates und Patches einspielen, sehr komfortabel.

Die Nachteile eines Static Site Generators

  1. Zäher Start: HUGO bewirbt sich selbst als „The world’s fastest framework for building websites“. Jetzt nach vielen Stunden weiß ich, dass es sich auf die Generierung der Seiten in Millisekunden bezieht und nicht auf den schnellen Einstieg. Daher eignet sich das reine Kommandozeilen-Tool hauptsächlich für IT’ler und Personen, die gerne mit Texteditoren wie emacs oder vi arbeiten. Meine erste Testseite stand nach 10 Minuten, die erste finale Version nach ca. 8h.
  2. Keine Extras: Will man Kommentare, Chats oder sonstige interaktive Elemente datenschutzfreundlich direkt anbieten und keine PlugIn’s von Facebook oder Google verwenden, muss man diese Services (und die dazu hilfreiche Datenbank) selbst erstellen und einbinden. Aktuell kann ich bei meiner privaten Seite auf öffentliche Leserkommentare verzichten.
  3. Homeoffice: Das Uploaden neuer Inhalte ist nur (sinnvoll) mittels einem Computer möglich, auf dem Hugo installiert ist. Spontane Einträge und Postings über das Smartphone unterwegs fallen damit flach bis eine mobile Version von Hugo veröffentlicht wird.

Meine Anlaufschwierigkeiten

  • Robots.txt verhindert Suchmaschinenindizierung, falls der Output nicht mit Hinweis auf Produktivnahme erzeugt wird: $ env HUGO_ENV="production" hugo
  • Keywords: Meta Data Tags im HTML werden nur generiert mit mittels tags: ["tag,tag2,tag3"]
  • Immer das Public Verzeichnis löschen, da sonst alte Daten erhalten bleiben
  • Abwärtskompabilität Leider kam es nach fast jedem hugo Update zu Problemen mit den verwendeten Templates, so dass auch hier immer Anpassungsarbeit angefallen ist.