Back to the roots - Die Neuerungen auf thomas-leister.de

Wer das hier liest, hat es wahrscheinlich schon bemerkt: Mein Blog sieht anders aus als vorher und manche Inhalte fehlen. Ich habe mir in den vergangenen Wochen ein neues Konzept überlegt, wie ich die Inhalte auf meinem Blog präsentieren will. Auch ein Refresh des Designs war schon länger geplant. Unter der Haube werkelt jetzt nicht mehr Wordpress, sondern nur noch ein einfacher Nginx-Webserver, der nichts anderes mehr tut, als statische HTML-Seiten auszuliefern. … aber eins nach dem anderen:

Überarbeitetes Blog-Design

Das bisherige Design wurde in großen Teilen beibehalten. Ich habe bisher viel positive Rückmeldung zu meinem selbst kreierten Design erhalten, sodass ich mich dazu entschieden habe, nur einen Feinschliff daran vorzunehmen, aber das bekannte Farbschema und das Layout beizubehalten. Ich bin ein Freund von einfachem, minimalistischem Design ohne Schnörkel. Weil immer “noch weniger” geht, habe ich einfach mal überprüft, wie ich die Seite noch leichtgewichtiger gestalten kann.

  • Der Header wurde um ein ganzes Menü und ein paar Menüpunkte erleichtert und tiefschwarz gefärbt. Damit besteht er jetzt nur noch aus dem Titel-Schriftzug und dem kleinen Hauptmenü.
  • Im Content-Bereich habe ich das Schriftbild komplett überarbeitet. Nur die Schriftart wurde beibehalten. Im Blogsatzstil wirkt der Text jetzt weniger zerpflückt und geschlossener. Die Schriftgröße habe ich nach oben korrigiert, sodass der Text auch auf kleineren Bildschirmen (z.B. 13” Ultrabook etc.) noch gut gelesen werden kann.

Unter der Haube: Verzicht auf Wordpress

Der Trend scheint ja derzeit wieder zurück zu statischen Seiten zu gehen - zumindest in einigen speziellen Bereichen des Webs. Nachdem das Thema auch an mir nicht vorbeigegangen ist, und ich z.B. trashserver.net und andere Microsites schon länger erfolgreich mit Hugo generieren lasse, habe ich abgewogen, ob ich nicht auch mein Blog umstellen sollte. Es gibt da nämlich ein paar Dinge, die mir an Wordpress nicht so gefallen:

  • Wordpress wird immer langsamer: Mit steigender Anzahl von Beiträgen, Kommentaren und Plugins wird der Dino des Blog-Universums immer “gemütlicher”. Was ihr am Frontend dank Memcache vermutlich nicht so sehr bemerkt habt, hat mich am Backend von Wordpress durchaus gestört. Sehr langsam war der Seitenwechsel beim Navigieren im Backend zwar nicht, aber doch deutlich träger, als früher. Ein paar Sekunden Wartezeit waren meistens schon nötig.

  • Security: Ich weiß - zum Thema “Wordpress Security” gibt es die verschiedensten Meinungen: Die einen können Wordpress nicht ausstehen, weil es ständig Sicherheitsprobleme gäbe - die anderen schwören darauf und sehen überhaupt keine Probleme, solange man fleißig Updates einspielt. Die ganze Wahrheit ist vermutlich tatsächlich, dass der Wordpress Core ziemlich sicher ist. Sehr viele (auch große Websites) setzen auf Wordpress als CMS. Wäre die Wordpress-Sicherheit tatsächlich so katastrophal, wie manche behaupten, würde des Web wohl anders aussehen. Allerdings kann man nicht leugnen, dass Wordpress auf der anderen Seite auch zu einem unsicheren Web beigetragen hat: Zu viele Seitenbetreiber kümmern sich nicht um Updates. Wordpress hat zwar mittlerweile eine Auto-Update-Funktion - die gibt es aber nicht für Plugins. Und Plugins sind die Hauptquelle von Sicherheitsproblemen. Mit steigender Anzahl von integrierten Plugins muss man sich auch um immer häufigere Updates kümmern, um nicht verwundbar zu bleiben. Das kostet zwar kaum Zeit, ist aber trotzdem lästig. Eigentlich will ich ja nur publizieren…

  • Theming und Anpassung: Wordpress Themes und -Plugins für persönliche Anpassungen werden in PHP programmiert. Mir gefällt weder PHP besonders gut, noch will ich mich groß damit beschäftigen, wie ich unter Wordpress dies oder jenes realisieren kann. Die Templating-Engine von Hugo gefällt mir deutlich besser.

In Zukunft werde ich diese Blog-Seiten also mit Hugo generieren und dann auf den Webserver hochladen. Hugo ist ein in Go entwickelter Static Site Generator, der sich zurecht immer größerer Beliebtheit erfreut. Hugo vor allem hier punkten:

  • Einfachheit: Hugo wird als einzelnes Executable heruntergeladen und kann direkt gestartet und genutzt werden. Auf dem Endgerät müssen keine speziellen Libraries oder Scriptsprachen-umgebungen vorhanden sein. Wer von Ruby, NodeJS und Python geplagt ist, weiß das zu schätzen ;-) Herunterladen - starten - funktioniert.

  • Geschwindigkeit: Ich habe es nicht selbst getestet, aber angeblich lassen sich mit Hugo innerhalb weniger Sekunden auch mehrere zehntausend Seiten generieren.

  • Go Template Engine: Für das Templating wird die integrierte HTML-Template-Engine von Go genutzt. Dank ihrer Einfachheit konnte ich auch als Einsteiger innerhalb kürzester Zeit ein funktionsfähiges Template entwickeln.

  • Live Preview: Das ließe sich vermutlich auch mit Wordpress realisieren, aber die Live-Preview Funktion von Hugo begeistert mich. Während an Theme und Inhalten geschrieben wird, kann man sich im Webbrowser sie Änderungen live anzeigen lassen. Vor allem während der Theme-Entwicklung ist das großartig!

Insgesamt macht Hugo einen sehr soliden Eindruck. Das Projekt wird vorbildlich betreut und ausreichend dokumentiert. Die Entwickler stellen zu Support-Zwecken sogar ein eigenes Forum bereit.

Durch die Nutzung von Hugo als Static Site Generator und dem daraus folgenden, neuen Workflow ergeben sich für mich folgende Vorteile:

  • Ich muss mich (so gut wie) nicht mehr um die Sicherheit meines Blogs kümmern: Was die Sicherheit angeht, muss ich nur noch sicherstellen, dass der Webserver korrekt konfiguriert und aktuell ist. CMS- und Plugin-Updates entfallen. Auch um Schlampereien im CMS-/Plugin-Code muss ich mir keine Gedanken mehr machen. Wenn eine kritische Sicherheitslücke in Wordpress weltweit Admins in Aufregung versetzt, kann ich gelassen bleiben.

  • Beiträge können komfortabel mit MarkDown verfasst werden: Für die Formatierung von Texten verwende ich gerne MarkDown. Das ermöglicht schnelles und bequemes Schreiben, ohne zu Formatierungszwecken ständig zur Maus greifen zu müssen (z.B. um die zu formatierenden Bereiche auszuwählen). Meine Beiträge kann ich von nun an in jedem einfachen Text-Editor verfassen. Aktuell nutze ich dafür den Code-Editor “Atom” (mit Markdown-Highlighting)

  • Der gesamte Blog-Inhalt kann via Git versioniert werden: Mein Blog ist nicht mehr mehr als ein Haufen Textdateien in einem Verzeichnis. Was bietet sich da mehr an, als das gesamte Blog einfach mit einem Versionskontrollsystem wie Git zu versionieren? So könnte ich ggf. alte Beiträge aus der Vergangenheit wieder zurückholen und hätte am Ende ein riesiges Archiv von allen jemals veröffentlichten Inhalten. Das gesamte Archiv könnte man z.B. auch interessierten Lesern auf GitHub öffentlich zum Download anbieten. Änderungen an Beiträgen wären jederzeit nachvollziehbar.

  • Nichts ist schneller als statische Seiten: Mein bisheriges Blog war dank Memcache schon ziemlich flott, aber mit statischen Seiten geht da noch mehr.

Hinter dem Umstieg steht allerdings noch ein ganz anderer Gedanke: “Back to the roots”. Das Internet war Anfangs nur statisch. Interaktionen mit einer Webpräsenz (abgesehen vom Seitenaufruf) waren nicht möglich. Wieso nicht dieses Format wiederentdecken und nutzen, wo es Sinn macht? Natürlich ist es gerade die Dynamik, die unser modernes Web so interessant macht. Der Benutzer kann über seinen Browser eigene Inhalte veröffentlichen und mit einer Webpräsenz interagieren. In meinem Fall reicht aber auch schon weniger aus, denn im Grunde will ich ja nur eins: Veröffentlichen.

Nachteile

Natürlich ergeben sich aus dem ganzen auch ein paar Nachteile. Sowohl für mich als Autor als auch euch als Leser.

Beitragsverwaltung

Eine Sammlung aus Textdateien und Verzeichnissen lässt sich nicht so schön durchsuchen und Filtern, wie das mit Daten in einer Datenbank möglich ist. Daraus ergibt sich möglicherweise ein etwas höherer Aufwand bei der Suche nach älteren Beiträgen oder dem allgemeinen “Housekeeping”. Mein Atom Editor stellt auf der anderen Seite aber auch mächtige Suchfunktionen bereit, sodass der Aufwand sich vermutlich doch in Grenzen hält.

Blog-Kommentare

Für euch ergibt sich derzeit noch ein anderer Nachteil: In der aktuellen Version meines Blogs sind weder alte Kommentare enthalten, noch neue vorgesehen. Es gibt keine Kommentarfunktion. Ich bin mir noch unsicher, ob eine Kommentarfunktion tatsächlich so essentiell für mein Blog ist. Feedback und Fragen kann ich immerhin auch als E-Mails entgegennehmen. Diese Konversationen wären dann aber nicht öffentlich einsehbar und die “Archiv-Funktion” des Kommentarbereichs würde wegfallen. Bereits gestellte Fragen würden dann vermutlich öfter gestellt werden. Der Leser kann ja nicht wissen, ob sich andere User schon zu einem Thema geäußert haben. So eine Kommentarfunktion kann manchmal sehr wertvoll sein, wie meine Mailserver-Beiträge beweisen. Dort wurden einige tolle Ideen eingebracht und Probleme gelöst.

Natürlich könnte ich einfach das nächstbeste JavaScript-basierte Kommentarsystem (wie z.B. Disqus) unter die Beiträge packen. Mehr als genug Blogger-Kollegen machen das so. Disqus sagt mir aber nicht besonders zu, genauso wie jede andere fremd gehostete Lösung. Wenn ich Kommentare hoste, dann soll das unter deutschem Datenschutz passieren, und unter meiner Kontrolle. Ich habe erfahren, dass man auch die freie Forensoftware “Discourse” nutzen kann, um eine Kommentarfunktion für statische Webpräsenzen zu realisieren. Das würde dann aber bedeuten, dass ich zusätzlich um die Sicherheit und Pflege einer weiteren Komponente auf meinem Server kümmern müsste. Auch nicht gut.

Beitragssuche

Wo ein Server keine Benutzerspezifischen Seiten ausliefert und eine zentrale Beitragsdatenbank hat, sind auch Suchanfragen nicht so einfach möglich. Es gibt zwar ein paar JavaScript-Lösungen, die versprechen, auch eine Suche für statische Seiten (direkt im Client-Browser) zu ermöglichen, aber das müsste ich erst noch testen. Eine andere Lösung wäre das einbinden einer fremden Suche, z.B. der DuckDuckGo Websuche. Derzeit denke ich noch über eine schöne Lösung nach.

Inhaltlich

Was die Inhalte angeht, soll der Fokus in Zukunft wieder auf längeren Meinungsartikeln und Anleitungen liegen - weniger auf Kurzmeldungen. Zuletzt waren eher kurze Beiträge in meinem Blog zu finden - auch, weil mir die Zeit gefehlt hat, mich ausführlicher mit komplexeren Themen auseinanderzusetzen. Ich versuche, Tempo aus meinen Veröffentlichungen zu nehmen und mich stattdessen auf wertvolle, langlebige Inhalte zu konzentrieren. Ganz nach dem Motto “Qualität statt Quantität”. Meine Seite sehe ich nun weniger als persönliches, typisches Blog für Statusupdates (denn für solche kurzlebigen Inhalte haben wir ja soziale Netzwerke), sondern mehr als eine Mischung aus Magazin und Wiki. Ein Werk, das Wissen und Meinung vermitteln soll.

Der Umzug

Die beliebtesten und meiner Meinung nach wertvollsten Beiträge aus meinem alten Blog habe ich manuell hierher übernommen und in Markdown-Textdateien verwandelt, sodass sie auch hier zur Verfügung stehen. In den meisten Fällen hat sich die URL geändert. Sobald die Suchmaschinen die neuen Seiten in ihren Index aufgenommen haben, sollten sie wieder einfach auffindbar sein. Alle anderen Beiträge habe ich nicht übernommen. Entweder, weil sie nicht wirklich relevant waren, weil sie veraltet waren, oder weil sie mir einfach nicht gefallen haben.

Die alte Blog-Version vom 05.01.2017 habe ich mithilfe des Wordpress-Plugins “Simply Static” als Archiv aus HTML-Dateien exportiert und auf legacy.thomas-leister.de hochgeladen. Dort bleiben euch alle vorherigen Inhalte zumindest für einige Zeit noch erhalten.

Eure Meinung?

Ich habe lange gezögert und war hin- und hergerissen, was meinen “Blog-Reset” angeht. Letztendlich habe ich mich doch dazu entschieden, einiges anders zu machen. Daraus ergeben sich verschiedene Vor- und Nachteile. Einige davon habe ich zuvor schon aufgeführt. Jetzt würde mich eure Meinung interessieren: Sind die Änderungen ein Schritt in die richtige Richtung, oder ein Irrweg? Wie gefällt euch mein neuer Blog? Ist eine Kommentarfunktion wirklich essentiell, oder kann auch darauf verzichtet werden?

Schreibt mir an info [ett] thomas-leister.de!