Wenn gute Plug-in-Ideen plötzlich bremsen – eine Lektion bezüglich Performance und …

Ein technisch sauberes Plug-in zur Beitragsnavigation führte unerwartet zu Performanceproblemen. Ursache war ein Konflikt mit dem Cloudflare-Cache durch Cookies. Der Beitrag schildert den Fehlversuch und zeigt eine einfache, stabile Lösung ohne Nebenwirkungen.

Teilen

Auf Mastodon teilen

Gib deinen Mastodon-Server oder deine vollständige Adresse ein. Beides funktioniert.

Der Server wird nur in deinem Browser gespeichert.

Wenn die gute Idee plötzlich bremst

Manchmal sind es nicht die großen Umbauten, die einen ins Stolpern bringen, sondern die scheinbar kleinen, fast eleganten Plug-in-Lösungen. So eine war es auch diesmal. Interessant fand ich die widersprüchlichen Lösungsansätze zweier KI-Modelle. Selbst nach dem 2. Hinfassen gabs keine klare Aussage zur Fehlerursache.

Inhalt

Ich wollte meine Beitragsnavigation verbessern. Genauer gesagt: intelligenter machen. Weg von der schlichten chronologischen Abfolge, hin zu einer Navigation, die sich merkt, aus welcher Kategorie ein Leser kommt. Wer sich durch Politik klickt, soll in der Politik bleiben. Klingt vernünftig, fast selbstverständlich — dachte ich.

plug-in performance cloudflare konflikt
plug-in performance cloudflare konflikt

Also habe ich das Plug-in angepasst. Keine unsauberen URL-Parameter mehr, stattdessen ein Cookie, das den Kategorie-Kontext speichert. Technisch sauber, übersichtlich, modern. Ein Fortschritt – dachte ich. Für manchen klingt es, da bin ich sicher, nach unnötiger Spielerei. Sei’s drum.

Und dann kam dieses leise, aber deutliche Signal: Die Seite fühlte sich plötzlich langsamer an.

Nicht dramatisch. Keine roten Warnlampen. Die üblichen Tools zeigten weiterhin gute Werte. Und doch – dieses Zögern beim ersten Aufruf, diese kleine Verzögerung, die man nicht messen, aber spüren kann.


Die unsichtbare Grenze

Die Ursache lag nicht im Plug-in selbst. Der Code war in Ordnung. Die Idee auch. Das Problem lag eine Ebene darüber – dort, wo man selten zuerst hinschaut: im Zusammenspiel mit Cloudflare.

Cloudflare lebt davon, Inhalte aggressiv zu cachen. Das Prinzip ist einfach: Gleiche Anfrage, gleiche Antwort – also kann man sie zwischenspeichern und sofort wieder ausliefern. Schnell, effizient, zuverlässig.

Ein Cookie verändert genau das. So jedenfalls sagten es mir die beteiligten KI’s.

Plötzlich ist die Anfrage nicht mehr eindeutig. Zwei Besucher sehen unter Umständen leicht unterschiedliche Inhalte. Für den Cache bedeutet das Unsicherheit. Und Unsicherheit führt dazu, dass er vorsichtiger wird – oder im Zweifel gar nicht mehr greift.

Das Ergebnis: Die Seite muss wieder häufiger direkt vom Server erzeugt werden. Und genau dort entstehen diese zwei, drei Sekunden, die sich wie eine kleine Ewigkeit anfühlen.


Die Erkenntnis

Das war der Moment, in dem sich der Blick verschoben hat.

Die Lösung war nicht falsch. Sie war nur nicht kompatibel mit dem System, in dem sie arbeiten sollte. Ein klassischer Fall von: Lokal gedacht, global gebremst.

Und genau hier liegt die eigentliche Hürde: Moderne Webprojekte bestehen nicht mehr nur aus WordPress, Theme und ein paar Plug-ins. Sie hängen in einem Netz aus Caching, CDN, Optimierungsschichten. Eine Änderung an einer Stelle kann an anderer Stelle völlig unerwartete Folgen haben. Diese Erfahrung ist natürlich keineswegs neu. Ich hatte sie schon ein paar Male gemacht. Klüger bin ich davon nicht geworden.


Der Rückbau – und was bleibt

Also habe ich das Plugin wieder vereinfacht. Kein Cookie mehr. Kein gespeicherter Zustand. Zurück zu einer stabilen, berechenbaren Basis.

Das klingt erst einmal wie ein Rückschritt. War es aber nicht.

Denn die eigentliche Idee – die bessere Orientierung für den Leser – wollte ich nicht aufgeben.


Der Kompromiss, der keiner ist

Die Lösung lag näher, als ich dachte.

Statt den Kontext (also die Kategorien) zu „merken“ und damit cachemäßig Ärger zu provozieren, habe ich ihn sichtbar gemacht.

Blaettern
Blaettern / Plug-in

Die Navigation ist zweigeteilt:

  • Die seitlichen Pfeile führen wie gewohnt chronologisch durch den Blog.
  • Direkt unter dem Artikel erscheinen zusätzliche Links: „Vorheriger Beitrag in dieser Kategorie“ und „Nächster Beitrag in dieser Kategorie“.

Kein Zustand, keine Magie, keine versteckte Logik.
Der Leser entscheidet selbst. Jedenfalls, sofern er diesen Service überhaupt in Anspruch nimmt oder findet.

Und Cloudflare? Bleibt völlig unbeeindruckt. Genau so soll es sein.


Was man daraus lernen kann

Es ist eine dieser kleinen Lektionen, die man sich nicht aus Büchern holt:

Nicht jede technisch elegante Lösung ist auch die bessere. Manchmal ist es genau umgekehrt.

Der Blog ist jetzt wieder schnell. Die Navigation ist vielleicht klarer geworden. Und ich habe einmal mehr gelernt, dass zwischen Idee und Umsetzung oft noch eine dritte Instanz steht – eine, die leise arbeitet, aber sehr konsequent reagiert.

In diesem Fall hieß sie Cloudflare. Und sie hat mir freundlich, aber bestimmt gezeigt, wo die Grenze verläuft bzw. woran man zu denken hat, wenn man solche gut gemeinten Projekte startet. Besonders interessant fand ich, dass sich zwei verschiedene KI’s hinsichtlich der technischen Umsetzung nicht einig wurden.

Merkliste

2 Kommentare

Kommentar schreiben

Kommentieren auf diesem Blog

  • Text wird lokal zwischengespeichert
  • Antworten können per E-Mail abonniert werden
  • Kommentar kurzzeitig bearbeitbar oder löschbar

Nach dem Absenden kannst du deinen Kommentar noch 10 Minuten bearbeiten oder löschen.Danach ist keine Änderung oder Löschung mehr möglich.
  1. Ich bin drauf und dran, auf ein CMS Flat File zu wechseln. Dauernd ist irgendetwas. Ok, ich bin auch jemand, dem es um Schnelligkeit geht und der alles mögliche probiert. Aber kaum das es läuft, spinnt das System an anderer Stelle, wie du schon sagtest. Auf der anderen Seite gibt es in kaum einem CMS soviel Möglichkeiten, wie in WP. Bei einigen anderen CMS kann man sich zudem nicht sicher sein, dass der Entwickler keine Lust mehr hat und keine Updates mehr anbietet. Im Moment ärgert mich WP-Rocket mist ständigen Meldungen in Form eines Ausrufezeichens ohne Erklärung dazu. Vielleicht probiere ich bei Gelegenheit auch mal Cloudfare aus. Bedeutet Cloudfare nicht auch, dass die Inhalte noch mal auf einem anderen Server liegen?

The Rosenberg Trio – Deine Küsse sind süßer als
Zuletzt gehört
Deine Küsse sind süßer als
The Rosenberg Trio · Deine Küsse Sind Süsser
Zuvor
Rebekka Bakken – Little Drop of Poison
Little Drop of Poison
Rebekka Bakken · Little Drop of Poison
Davor
Rebekka Bakken – Vincent (Starry Starry Night)
Vincent (Starry Starry Night)
Rebekka Bakken · Always On My Mind