Zurück aus den Tiefen des Internets – Mein Blog lebt wieder (und läuft jetzt auf Laravel) original

by Toby Maxham – 6 minute read

Nach gut drei Monaten Stille ist blog.maxham.de wieder da. Kein gehackter Server, kein Drama – ich habe den Blog einfach komplett neu gebaut. Von Grund auf. Mit dem Stack, den ich täglich benutze und wirklich liebe.

Und bevor die Frage kommt: Nein, WordPress war nicht kaputt. WordPress hat funktioniert. Aber es hat sich nie richtig wie zuhause angefühlt.


Warum überhaupt wechseln?

Ich kenne WordPress gut. Ich habe damit gearbeitet, Seiten für andere aufgebaut, Themes angepasst, Plugins konfiguriert. Als Werkzeug für Content-Creator oder Nicht-Entwickler ist WordPress nach wie vor unschlagbar.

Aber ich bin Entwickler. PHP-Entwickler. Laravel-Entwickler.

Und mein WordPress-Blog war über die Jahre zu einem kleinen Frankensteins-Monster geworden:

  • Veraltete Plugins, die kaum noch gewartet wurden, aber kritische Funktionen übernahmen
  • Hacks direkt im Theme-Code, weil das „mal schnell" die einzige praktische Option war
  • Sicherheitsupdates, die ich ständig schieben musste – und manchmal doch nicht rechtzeitig
  • Kein Spaß beim Entwickeln. Sobald ich etwas Eigenes bauen wollte, kämpfte ich gegen WordPress statt mit ihm

Das fühlt sich irgendwann falsch an. Ich verbringe meine Arbeitstage mit Laravel-Anwendungen, schreibe Services, Eloquent-Queries, Artisan-Commands. Und dann komme ich zu meinem eigenen Blog und schreibe PHP-Hacks in functions.php.

Das musste sich ändern.


Die Inspiration: Freek Van der Herten

Ich bin nicht der erste Laravel-Entwickler, der diesen Schritt gemacht hat. Freek Van der Herten von Spatie hat das schon 2017 getan und darüber geschrieben. Sein Artikel war damals schon lesenswert – und ist es heute noch.

Was mich besonders angesprochen hat: Er hat seine Blog-Applikation open-source gestellt. Das Repo spatie/freek.dev ist nicht nur ein Blogsystem – es ist eine ausgewachsene Laravel-Applikation, vollgepackt mit allem was dazugehört: RSS-Feeds, Newsletter, Markdown-Rendering, Search, Queues, Response-Caching.

Kurz gesagt: Freek hat sich in seinen Blog so viel Mühe gesteckt, dass ich auf die Idee kam, darauf aufzubauen, anstatt komplett von null zu starten. Danke, Freek.

Das Repo ist eine echte Fundgrube für Laravel-Patterns. Ich entdecke noch immer neue Ecken darin.


Der Stack: Was steckt wirklich drin?

Die gesamte Applikation basiert auf Freeks Codebase – Frontend, Admin-Panel und alles dazwischen. Freek nutzt selbst bereits Filament als Admin-Backend, das war also schon mit dabei. Ich habe nichts neu erfunden.

Was ich getan habe: Konfigurationen, die bei Freek hardcoded waren, habe ich dynamisch gemacht. Einiges habe ich auf meine eigene Situation zugeschnitten – andere Dienste, andere Workflows, andere Anforderungen. Das ist weniger glamourös als „ich habe ein eigenes CMS gebaut", aber es ist die Wahrheit. Und ehrlich gesagt ist es auch der pragmatischere Weg.

Der Stack, so wie er jetzt läuft:

  • Laravel 13 – Kern der Applikation
  • Filament 5 – Admin-Panel für Posts, Tags, Newsletter (out of the box aus Freeks Repo)
  • Markdown – Artikel werden in Markdown geschrieben und serverseitig gerendert
  • Redis – Session, Cache, Queue
  • Laravel Horizon – Queue-Monitoring
  • Nginx + PHP-FPM auf Ubuntu Server

Hosting läuft bei Netcup, Cloudflare sitzt davor. Wer meine anderen Projekte kennt, der wundert sich nicht.


Was hat das alles so lange gedauert?

Drei Monate klingt viel für einen Blog-Relaunch. Ehrlich gesagt war es das auch – aber aus gutem Grund.

1. WordPress-Artikel zu Markdown migrieren ist kein Spaß

Ich dachte naiv: WordPress exportiert HTML, ein Konverter macht daraus Markdown, fertig.

Ha.

Die Realität: WordPress-HTML ist oft alles andere als sauber. Shortcodes, inline-Styles, Galerie-Blocks, eingebettete YouTube-Videos mit veralteten iFrame-Attributen – der generierte Markdown sah teilweise aus wie ein Kunstprojekt. Ein unfreiwilliges.

Ich habe mehrere Konverter ausprobiert. Keiner hat das perfekt hinbekommen. Am Ende war es eine Mischung aus automatischer Konvertierung und manueller Nacharbeit – Artikel für Artikel.

Das ist noch nicht vollständig abgeschlossen. Ein Teil der alten Artikel ist noch nicht migriert, und ich arbeite mich Stück für Stück durch. Qualität geht dabei vor Geschwindigkeit.

2. Freeks Codebase kennenlernen braucht Zeit

Das Repo spatie/freek.dev ist keine kleine Applikation. Freek hat über die Jahre sehr viel eingebaut. Newsletter-System, Community-Features, Speaking-Seite, Music-Section. Vieles davon brauche ich nicht – aber ich musste erst verstehen, was was tut, bevor ich Dinge entfernen oder anpassen konnte.

Ein Beispiel: Das Newsletter-System in seiner Form passt nicht zu meiner Situation. Ich nutze einen anderen Anbieter, und die Integration muss ich noch vollständig umbauen. Das ist einer der offenen Punkte, die noch kommen.

3. Ich wollte es richtig machen

Ja, ich hätte den Blog früher online stellen können. Mit halbfertiger Migration, ein paar Bugs, Baustellen überall. Aber ich wollte das nicht. Wenn ich schon drei Monate offline bin, dann soll das Ergebnis es wert sein.


Keine Google Ads – und zwar für immer

Vor zehn Jahren hat AdSense noch funktioniert. Ich habe damit tatsächlich ein paar hundert Euro im Jahr gemacht – nicht viel, aber genug um die Serverkosten zu decken.

Das ist lange vorbei.

Heute, mit Werbebannern auf jeder verfügbaren Fläche, kommen dabei ein paar Cent im Monat raus. Die Seite sieht damit aus wie ein Flohmarkt, lädt langsamer, und der Leser hat nichts davon – ich übrigens auch nicht. Ein paar Cent decken keine Serverkosten.

Das Kosten-Nutzen-Verhältnis ist schlicht nicht da. Also weg damit.

Wer mich und meine Projekte unterstützen möchte, kann das gerne auf Patreon oder GitHub Sponsors tun. Das ist ehrlicher für alle Seiten.


Was kommt noch?

Der Blog lebt – aber er ist noch nicht fertig. Was noch auf der Liste steht:

  • Alte Artikel fertig migrieren – der Backlog ist noch nicht leer
  • Newsletter-Integration umbauen – aktuell noch auf Freeks Lösung, die nicht ganz passt
  • Mehr eigene Inhalte – das war schließlich der eigentliche Sinn der Übung

Fazit

Es war mehr Arbeit als erwartet. Es hat länger gedauert als geplant. Aber: Es macht wieder Spaß.

Ich kann Artikel in meinem Editor schreiben, in Markdown, pushen, fertig. Ich kann Features bauen, weil ich Laravel kenne und nicht weil ein Plugin es erlaubt. Ich kann den Code verstehen und verbessern.

Wenn du selbst überlegst, deinen Blog von WordPress zu Laravel zu migrieren – ich kann es empfehlen. Aber geh mit realistischen Erwartungen rein, besonders was die Content-Migration angeht.

Und schau dir Freeks Artikel an: On migrating my blog from WordPress to a Laravel application. Er hat das deutlich eleganter dokumentiert als ich es hier tue.

Der Blog ist zurück. Schön, wieder da zu sein.

Join the newsletter

Occasional thoughts on Laravel, PHP, and building real-world applications — straight from what I’m working on.

The newsletter is on a little break right now — see you soon!

Found something interesting to share? Submit a link to the community section.