Ein Fokus auf Performance

Wenn jemand auf einen Link klickt und eine Website lädt – wie lange ist er bereit zu warten? Studien zeigen: nicht lange. Drei Sekunden. Danach ist der Tab wieder zu. Und das gilt nicht nur für ungeduldige Menschen, sondern auch für Suchmaschinen wie Google, die Ladezeiten ganz direkt in ihre Rankings einfliessen lassen.

Diesen Beitrag vorlesen lassen.
0:00 / 6:08

Inhalte in diesem Beitrag

Deshalb ist Performance bei uns kein Thema, das wir irgendwann am Ende eines Projekts «noch schnell» angehen. Es ist ein integraler Bestandteil unserer gesamten Infrastruktur.

WordPress – aber richtig

WordPress ist das mit Abstand meistgenutzte CMS der Welt. Gleichzeitig hat es den Ruf, langsam zu sein. Dieser Ruf ist nicht unbegründet – aber er ist auch nicht unausweichlich. Eine gut konfigurierte WordPress-Installation auf einer soliden Infrastruktur ist schnell, stabil und skalierbar. Genau das ist unser Ziel.

Dabei setzen wir nur auf wenige Plugins von Drittherstellern. Ein Set das miteinander funktioniert und sich nicht gegenseitig in Datenbank-Abfrage Schleifen verlangsamt. Yoast SEO darf nicht fehlen und ein WooCommerce baut man nicht über Nacht selbst. Doch seit über 10 Jahren erweitern wir unser eigenes Framework Plugin und programmieren viele Funktionen unserer Kundenwebsites selbst.

In Zeiten von KI-Unterstützter Programmierung kommt uns das sehr entgegen. Nicht nur ist die Software durch „Optimieren auf das Minimum“ sehr performant, wir können mit diesem Ansatz auch genau die Wünsche erfüllen die unsere Kunden haben – und das in sehr kurzer Entwicklungszeit.

Die Datenbankschicht: MariaDB Cluster

Jede dynamische Website stellt ständig Anfragen an eine Datenbank: Welche Seiten gibt es? Was steht auf dieser Seite? Welche Beiträge sollen angezeigt werden? Wie schnell diese Anfragen beantwortet werden, hat einen direkten Einfluss auf die Ladezeit.

Wir betreiben unsere Datenbanken als MariaDB Galera Cluster – das bedeutet, mehrere Datenbankserver arbeiten synchron zusammen. Fällt einer aus, übernehmen die anderen nahtlos. Kein Datenverlust, keine Downtime. Gleichzeitig verteilt der Cluster eingehende Leseanfragen auf mehrere Knoten, was unter Last erheblich zur Stabilität beiträgt.

Dazu kommt ein grosszügig bemessener Datenbank-Cache: Häufig abgefragte Daten werden direkt im Arbeitsspeicher vorgehalten, sodass dieselbe Anfrage nicht jedes Mal von der Festplatte gelesen werden muss. 99% der Anfragen werden aus dem Cache bedient.

Zwischenspeichern auf Anwendungsebene

Zwischen WordPress und der Datenbank schalten wir Redis als sogenannten Object Cache. Redis ist ein In-Memory-Datenspeicher – er hält berechnete Ergebnisse direkt im RAM vor.

Konkret bedeutet das: Wenn WordPress das erste Mal eine komplexe Datenbankabfrage ausführt (z.B. «gib mir die letzten 10 Blogbeiträge mit ihren Kategorien und Autoren»), wird das Ergebnis in Redis gespeichert. Bei der nächsten identischen Anfrage muss WordPress gar nicht erst zur Datenbank – Redis antwortet in Bruchteilen einer Millisekunde.

Das entlastet die Datenbank erheblich und beschleunigt die Seitenauslieferung spürbar, insbesondere bei Seiten mit vielen dynamischen Elementen.

Fertige Seiten direkt aus dem Cache

Auch wenn Redis und der Datenbankcluster schon vieles beschleunigen, entsteht bei jedem Seitenaufruf noch Arbeit für PHP und WordPress.

Unser Full Site Caching geht einen Schritt weiter: Es speichert die fertig gerenderte HTML-Seite direkt zwischen. Kommt eine Anfrage für eine bereits erzeugte Seite rein, wird sie ausgeliefert, ohne dass WordPress überhaupt gestartet wird. Der Server liefert statischen HTML-Code aus – so schnell wie es eben geht. Die reine Server Ladezeit beträgt so mit Übertragung zu dir noch 10 – 50 Millisekunden.

Monitoring: wir schauen hin

Ein gutes Setup bringt wenig, wenn niemand bemerkt, wenn es schlechter wird. Deshalb überwachen wir kontinuierlich:

  • Ladezeiten – gemessen von verschiedenen europäischen Standorten aus, zu verschiedenen Tageszeiten
  • Server-Auslastung – CPU, RAM, Datenbankverbindungen, Cache-Trefferquoten
  • Fehlerquoten – langsame Anfragen, Timeouts, Anomalien im Traffic

In unserer Statistik sehen wir welche Anfragen am längsten dauerten – indes wissen wir von jeder Seite, wie schnell sie erzeugt wurde. Bei über drei Millionen Seiten die unser Cluster täglich ausliefert ist das zentral. Eine kleine Veränderung kann in der Masse fatale Folgen haben.

Kontinuierliche Optimierung

Technologie entwickelt sich weiter, Traffic-Muster verändern sich, neue WordPress-Plugins können plötzlich unerwartete Datenbankabfragen erzeugen. Deshalb ist Performance-Optimierung kein einmaliges Projekt, sondern ein fortlaufender Prozess.

Wir analysieren regelmässig:

  • Welche Seiten oder Anfragen besonders viel Last erzeugen
  • Ob Cache-Regeln noch optimal konfiguriert sind
  • Ob neue Möglichkeiten für weitere Optimierungen bestehen (z.B. Bildkomprimierung ins WebP Format, HTTP/3, bessere Indexierung von Datenbanktabellen)

Einmal im Monat nehme ich mir ausserdem Zeit, die „langsamsten“ Seiten zu analysieren und deren Ladezeit zu verbessern soweit es noch möglich ist.

Ja, nicht jede Seite hat einen solchen Score - aber wir arbeiten dran.
Ja, nicht jede Seite hat einen solchen Score – aber wir arbeiten dran.

Warum das alles wichtig ist

Eine schnelle Website ist kein Luxus – sie ist eine Grundvoraussetzung.

Für Menschen bedeutet sie eine bessere Nutzererfahrung, weniger Frustration, höhere Conversion-Rates und mehr Vertrauen in die Marke dahinter.

Für Suchmaschinen ist die Ladezeit ein direkter Rankingfaktor. Google’s Core Web Vitals messen genau das, was Nutzer wahrnehmen: Wie schnell erscheint der erste Inhalt? Wann kann die Seite interagiert werden? Wie stabil ist das Layout beim Laden?

Wir machen auch deine Website schneller

Du möchtest wissen, wie schnell deine aktuelle Website wirklich ist und wo Potenzial liegt? Sprich uns an.

Schreibe einen Kommentar

Bitte fülle alle mit * gekennzeichneten Felder aus.