Willkommen beim Wegerl.at 'Lesemodus'!
Entspanntes Lesen und spannende Artikel warten auf dich.
Entdecke unsere besten Beiträge und genieße den Lesemodus.
Caching

WP: Caching unter der Lupe –
Einblicke in die Unterschiede

Illustration von OpenClipart-Vectors
Info echo
OpenClipart-Vectors-katze-1

Ist der Classic-Editor schon zu kennen? –
"Advanced Editor Tools – ist so klasse!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-2

Anklickt Classic-Editor mit Advanced Editor Tools
"Advanced Editor Tools – ist das ausgezeichnete!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-3

Klassischen Editor anwenden! – und …
"Advanced Editor Tools – ist so sehr gut !"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-7

… die Welt gehört dem, der sie genießt.
"Advanced Editor Tools – und tut sehr gut!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-4

Advanced Editor Tools aktive Installationen: 2+ Millionen
"Advanced Editor Tools – ist so fabelhaft!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-5

Ansprechend! – so gehts hier zur Lancierung
"Advanced Editor Tools – ist de luxe!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-6

… und NEU! – Classic Widgets
"Classic Widgets – sind so grandiose!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Info echo
OpenClipart-Vectors-katze-8a

Werkraum ist Werkraum und Frontend ist Frontend
Katzen SVG OpenClipart-Vectors; Ticker von Ditty News Ticker
"Advanced Editor Tools – ist so fein!"
Anklickt! – Advanced Editor Tools; und NEU! – Classic Widgets

Wir werfen einen Blick in die Welt des WordPress-Caching! Von Server-Caching mit OPcache bis zu den grundlegenden Mechanismen von Seiten-Cache und Ressourcen-Cache. Hier untersuchen wir die verschiedenen Facetten des Cachings, insbesondere die Unterschiede zwischen den Arten auf Serverebene und den generellen Funktionsweisen. Ein Rundumblick auf das Thema des Cachings in WordPress, ohne den Fokus auf spezielle Plug-ins.

Server-, Objekt-,
Seiten- und Ressourcen-Cache

Der "Server-Cache" wie OPcache speichert PHP-Code auf Serverebene und trägt zur Optimierung der Serverleistung bei. Der "Objekt Cache" konzentriert sich auf die Zwischenspeicherung von PHP-Objekten. Während der Begriff "Seiten-Cache" in der Regel auf das HTML, den Hauptinhalt einer Seite, verweist, gibt es auch Cache-Elemente für CSS und Skripte, die wir hier im Sammelbegriff als Ressourcen-Caching bezeichnen. Verstehen wir gemeinsam, wie diese verschiedenen Caching-Aspekte auf die Website wirken können.

Unterschiede zwischen Server-Cache und WP-Cache:

Server-CacheWP-Cache
OPcacheSpeichert kompilierten PHP-Code auf Serverebene.
APCuSpeichert PHP-Daten im Arbeitsspeicher für schnellere Abrufbarkeit.
Gzip-Kompression für den Browser-CacheKomprimiert Ressourcen vor der Übertragung an den Browser.
Objekt-CacheKonzentriert sich auf die Zwischenspeicherung von PHP-Objekten.Speichert die Ergebnisse von Datenbankabfragen und kann mit einem entsprechenden Plug-in zwischen mehreren Seitenladungen wiederverwendet werden.
Seiten-CacheSpeichert das gesamte HTML einer Seite, um nachfolgende Pageviews zu generieren.Speichert das HTML einer Seite für wiederholte Pageviews.
Ressourcen-CachingUmfasst das Caching von CSS und Skripten.

Nachdem wir die Tabelle durchgesehen haben, schauen wir uns genauer an, was die einzelnen Cache-Typen sind.

Server-Caching

Server-Caching ist essenziell für schnelle Ladezeiten. OPcache optimiert die Serverleistung, indem es PHP-Code speichert. APCu erweitert diese Optimierung, indem es PHP-Daten im Arbeitsspeicher speichert und somit eine schnellere Abrufbarkeit ermöglicht. Zusätzlich sorgt die Gzip-Kompression für eine effiziente Ressourcenübertragung im Browser-Cache.

OPcache

Server-Caching, speziell durch OPcache (Bytecode Cache), arbeitet auf Serverebene und speichert bereits kompilierten PHP-Code. Dies beschleunigt die Ladezeiten von WordPress-Seiten erheblich. Wichtig ist zu betonen, dass es nichts mit den Caching-Plug-ins auf WordPress-Ebene zu tun hat. Diese Form des Server-Cachings ist besonders effizient, da es auf einer tieferen Ebene arbeitet und nicht von WordPress selbst verwaltet wird.

Eigenschaften des Server-Caching mit OPcache:

  • OPcache speichert bereits kompilierten PHP-Code auf Serverebene, wodurch die Ausführung beschleunigt wird.
  • Ideal für die Optimierung der Serverleistung und die Reduzierung von Serveranfragen.

APCu

APCu, oder Alternative PHP Cache User Cache, ist ein weiterer auf Serverebene arbeitender Cache-Mechanismus. Dieser Cache speichert PHP-Daten im Arbeitsspeicher und ermöglicht somit eine schnellere Abrufbarkeit, was wiederum die Leistung von PHP-Anwendungen verbessert. Durch die Verwendung von OPcache kann APCu die Effizienz und Geschwindigkeit von PHP-basierten Websites noch weiter verbessern.

Eigenschaften des Server-Caching mit APCu:

  • Speichert PHP-Daten im Arbeitsspeicher.
  • Ermöglicht eine schnellere Abrufbarkeit von gespeicherten Daten.
  • Verbessert die Leistung von PHP-Anwendungen.
  • In Kombination mit OPcache kann APCu die Effizienz und Geschwindigkeit von PHP-basierten Websites erhöht werden.

Gzip-Kompression
für den Browser-Cache

Die Gzip-Kompression komprimiert Ressourcen, bevor sie an den Browser gesendet werden, um die Übertragung zu beschleunigen. Durch die Reduzierung der Dateigröße wird Bandbreite eingespart, was zu einer effizienteren Übertragung führt.

Eigenschaften der Gzip-Kompression für den Browser-Cache:

  • Komprimiert Ressourcen vor dem Senden an den Browser.
  • Beschleunigt die Übertragung von Ressourcen.
  • Reduziert die Dateigröße, um Bandbreite zu sparen.
  • Führt zu einer effizienteren Übertragung

WordPress Caching

Der WordPress-Cache kann zur Verbesserung der Leistung und Reaktionsfähigkeit der Website abzielen. Durch die Zwischenspeicherung verschiedener Elemente wird die Ladezeit verkürzt und die Serverbelastung reduziert.

Lass uns einen genaueren Blick auf die verschiedenen Aspekte des WordPress-Caches werfen, beginnend mit dem "Objekt-Cache", der die Zwischenspeicherung von PHP-Objekten ermöglicht. Anschließend beleuchten wir den "Seiten-Cache", der das gesamte HTML einer Seite speichert, und schließen mit dem "Ressourcen-Caching" ab, das sich auf die Optimierung von CSS, Skripten und anderen externen Ressourcen konzentriert.

Objekt-Cache

Der "Objekt-Cache" ist eine Art des Cachings in WordPress, die sich auf die Zwischenspeicherung von PHP-Objekten konzentriert.

Der Objekt-Cache in WordPress ist ein eingebautes System, das unter dem Namen WordPress Objekt-Cache (WP_Object_Cache) bekannt ist. Dieser Cache ist darauf ausgelegt, die Leistung zu steigern, indem er die Ergebnisse von Datenbankabfragen zwischenspeichert. Es ist jedoch zu beachten, dass der integrierte Objekt-Cache von WordPress standardmäßig darauf abzielt, Objekte nur für einen einzelnen Seitenaufbau zu speichern.

Anders als folgend der HTML-Cache (Seitencaching), der die gesamte HTML-Ausgabe einer Seite speichert, oder das Ressourcencaching, das sich auf Ressourcen wie CSS und JavaScript konzentriert, bezieht sich der Objekt-Cache auf die Zwischenspeicherung von Daten, die während der Ausführung von PHP-Skripten erstellt werden.

Der Objekt-Cache, hier sind einige wichtige Punkte:

  1. Zwischenspeicherung von PHP-Objekten:
    • Der Objekt-Cache speichert PHP-Objekte und Daten, die während der Ausführung von WordPress generiert werden.
    • Dies umfasst oft Ergebnisse von Datenbankabfragen, Abfrageergebnisse oder andere komplexe Datenstrukturen.
  2. Optimierung der Datenbankzugriffe:
    • Durch die Zwischenspeicherung von oft benötigten Daten können wiederholte Datenbankzugriffe vermieden werden, was die Leistung verbessert.
    • Dies ist besonders nützlich bei Websites mit vielen Datenbankabfragen, da der Zugriff auf den Objekt-Cache schneller ist als der erneute Zugriff auf die Datenbank.
  3. Erhöhung der Gesamtleistung:
    • Der Objekt-Cache trägt zur Optimierung der Gesamtleistung von WordPress bei, indem er den Bedarf an wiederholten Berechnungen und Datenbankabfragen reduziert.

Der Objekt-Cache gehört somit zu einer anderen Kategorie als der HTML-Cache und das Ressourcen-Caching. Er konzentriert sich mehr auf die Zwischenspeicherung von Daten und weniger auf das Speichern von statischem HTML oder externen Ressourcen.

Es ist zu beachten, dass die Nutzung des Objekt-Caches von WordPress und den verwendeten Plug-ins abhängt. Einige Plug-ins und Themes nutzen den Objekt-Cache, während andere möglicherweise nicht darauf zurückgreifen.

Gute Frage! – Der Objekt-Cache, ist das denn sinNvoll, wenn ohnehin auf Serverebene der OPcache ist?

Der Objekt-Cache und der OPcache erfüllen unterschiedliche Zwecke und können zusammenarbeiten, um die Gesamtleistung zu verbessern.

Der OPcache speichert bereits kompilierten PHP-Code auf Serverebene, was die Ausführung beschleunigt, insbesondere bei wiederholten Aufrufen desselben Codes. Er konzentriert sich jedoch hauptsächlich auf PHP-Dateien.

Der Objekt-Cache hingegen konzentriert sich auf die Zwischenspeicherung von PHP-Objekten, die während der Ausführung von WordPress generiert werden. Dies kann Datenbankabfragen, komplexe Datenstrukturen oder andere Objekte umfassen.

Wenn du viele Datenbankabfragen oder komplexe Berechnungen in deinem WordPress-Code hast, kann der Objekt-Cache nützlich sein, um wiederholte Berechnungen zu vermeiden und die Ladezeiten zu optimieren. Er kann also eine sinnvolle Ergänzung zum OPcache sein.

Insgesamt können sowohl der OPcache als auch der Objekt-Cache dazu beitragen, die Leistung deiner WordPress-Website zu verbessern, vorwiegend wenn es um die Verarbeitung von PHP-Code und die Optimierung von Datenbankzugriffen geht.

Objekt-Cache in WordPress: Eine detailierte Perspektive:

  • Der integrierte WordPress Objekt-Cache (WP_Object_Cache) speichert standardmäßig Objekte nur für einen einzelnen Seitenaufbau. Dieses Verhalten gewährleistet, dass während des Ladens einer Seite nicht mehrmals auf dieselben Datenbankabfragen zugegriffen wird, was die Leistung verbessert.
  • Der Objekt-Cache entfaltet sein volles Potenzial, wenn Cache-Objekte zwischen mehreren Seitenladungen wiederverwendet werden können. Die Aktivierung dieses Features erfordert eine Anpassung des integrierten Objekt-Caches von WordPress.
  • Plug-in-basierte Objekt-Cache-Lösungen wie LiteSpeed Cache (Mehrzweck) oder das spezifische Plug-in Docket Cache bieten Optionen zur Erweiterung dieser Funktionalität. Durch diesen Ansatz können Daten effizienter gespeichert und bei Bedarf über mehrere Seiten hinweg wiederverwendet werden.

Die Wiederverwendung von Cache-Objekten zwischen mehreren Seitenladungen kann besonders für anspruchsvollere Websites von Nutzen sein. Bei einfachen Websites mit geringem Datenverkehr und begrenzten dynamischen Inhalten mag dies möglicherweise weniger kritisch erscheinen.

Ein einfacher Vergleich wäre, dass eine erhöhte Anzahl von Datenbankabfragen durch umfangreiche und komplexe Websites, die personalisierte Inhalte und andere Elemente beinhalten, eher von einer optimierten Wiederverwendung von Cache-Objekten profitieren. Hingegen können statische Websites mit minimalen interaktiven Elementen möglicherweise mit einem Standardobjekt-Cache gut funktionieren, also ohne detaillierte Anpassung zur Wiederverwendung von Cache-Objekten.


Ein typisches Beispiel einer Website, einmal ohne und einmal mit dem 'Docket Page'-Plug-in. Die Ergebnisse wurden durch dreifaches Aufrufen über einen Link und in einem neuen Browser-Tab erzielt. Vor den jeweils drei Aufrufen wurde der Browserverlauf gelöscht.

In diesem Beispiel fällt auf, dass mit dem 'Docket Page'-Plug-in weniger Abfragen durchgeführt wurden, während die Serverantwortzeit nach den Abfragen etwas länger war [die Abfragen waren um 0,025 Sekunden weniger, aber im Vergleich zur Serverantwort ergab sich eine Erhöhung um 0,025 Sekunden, wie im Bild zu erkennen ist]. Das geht diesem Beispiel hervor und ist im Schnitt nicht der Fall.

Die durchschnittliche Ladezeit der Seite mit dem 'Docket Page'-Plug-in ist um > 0,25 Sekunden besser. Für genauere Einblicke in diese Schwankungen und die genauen Messwerte empfehle ich den Beitrag "WP Page Load Stats 7: Website-Performance im Blick" im Abschnitt Leistungsmetriken.

Seiten-Cache –
Optimierung des HTML-Inhalts

Das "Seitencaching" (HTML-Caching) wie es von Plug-ins wie WP Super Cache durchgeführt wird, speichert die vor gerenderte HTML-Version einer Seite. Es enthält die Grundstruktur, den Text und einige statische Elemente der Seite. Allerdings sind dynamische Elemente wie personalisierte Inhalte, Datenbankabfragen oder spezifische Benutzerinteraktionen nicht im HTML-Cache enthalten.

Eigenschaften des Seiten-Cache:

    • Der Seiten-Cache bezieht sich auf das Speichern des HTML-Inhalts, insbesondere des Hauptinhalts einer Seite.
    • Schnellere Ladezeiten und verbesserte Nutzererfahrung durch das Bereitstellen vorab generierter HTML-Seiten.

Der Begriff "Seitencaching" bezieht sich auf das Speichern des gesamten HTML-Inhalts einer Seite, sodass nachfolgende Pageviews generiert werden können, ohne dass WordPress die Seite jedes Mal komplett neu generieren muss. Dieses HTML beinhaltet nicht zwangsläufig alle Ressourcen wie CSS-Dateien, JavaScripts oder Bilder.

Wenn es um WordPress geht, wird der HTML-Cache oft als Teil des "Seitencachings" betrachtet. Das bedeutet, dass das gesamte HTML der Seite gecacht wird, um die Ladezeiten zu beschleunigen und die Serverlast zu reduzieren. Dieser Cache enthält die grundlegende Struktur der Seite, aber dynamische Elemente wie personalisierte Inhalte oder spezifische Benutzerinteraktionen sind normalerweise nicht enthalten.

In einem optimalen Setup arbeiten der HTML-Cache und das Ressourcencaching Hand in Hand, um eine effiziente und schnelle Bereitstellung von Seiteninhalten zu gewährleisten.

Ressourcen-Cache
von CSS und Skripten

Das Ressourcencaching, wie es von Plug-ins wie Autoptimize durchgeführt wird, bezieht sich auf das Cachen von CSS-Dateien, JavaScripts und anderen externen Ressourcen wie JavaScript-Bibliotheken, um die Anzahl der Serveranfragen zu reduzieren und die Ladezeiten weiter zu optimieren. Der Sammelbegriff "Ressourcencaching" umfasst das Caching von CSS- und Skriptdateien.

Eigenschaften von Ressourcen-Cache:

    • Beschleunigt die Ladezeiten, da diese Ressourcen aus dem Cache anstelle einer erneuten Generierung geladen werden.

Neben internen CSS-Dateien und JavaScripts sind oft auch JavaScripts und andere Ressourcen externer Dateien, die vom Browser separat geladen werden müssen. Caching-Plug-ins wie Autoptimize aggregieren und komprimieren diese Ressourcen, um die Anzahl der Serveranfragen zu reduzieren und die Ladezeiten zu verbessern. Diese aggregierten Dateien können ebenfalls gecacht werden, um die Wiederverwendung zu fördern.

Content Delivery Networks (CDN)

Die Rolle von Content Delivery Networks (CDN) ist besonders für umfangreiche und global ausgerichtete Websites von Bedeutung. Plattformen wie Facebook, Twitter sowie Dienste wie YouTube und viele andere nutzen CDNs, um Inhalte wie Bilder, Videos und Skripte auf Server weltweit zu verteilen.

Durch diese effiziente weltweite Verteilung wird die Ladezeit für Besucher verkürzt, da sie die Inhalte von einem näheren Serverstandort abrufen können. Es ist jedoch zu betonen, dass die Implementierung eines CDN für Websites normalen Anspruchs möglicherweise nicht notwendig ist.

Normale oder lokal ausgerichtete Websites können von anderen Caching-Maßnahmen profitieren, während ein CDN insbesondere bei großen Plattformen mit globaler Reichweite seine Stärken ausspielt.


In Zusammenfassung zeigt dieser Beitrag, dass die differenzierte Betrachtung von Server-Caching und WordPress-Plug-ins für Seiten- und Ressourcen-Cache essenziell ist, um die Leistung einer Website zu optimieren. Durch bewusste Auswahl und Anpassung der Caching-Strategien können Website-Betreiber die Ladegeschwindigkeit verbessern und die Ressourcen effizient nutzen. Ein ausgewogenes Verständnis dieser Techniken ist daher entscheidend für eine performante WordPress-Website.

Der Beitrag wurde mit fachlicher Unterstützung erstellt.