WP Super Cache

Beschreibung

Dieses Plugin generiert statische HTML-Dateien aus deinem dynamischen WordPress-Blog. Nachdem eine HTML-Datei erzeugt wurde, wird dein Webserver diese Datei ausliefern, anstatt die vergleichsweise schwereren und teureren WordPress-PHP-Skripte zu verarbeiten.

Die statischen HTML-Dateien werden an überwiegende Mehrheit deiner Benutzer ausgespielt:

  • Benutzer, die nicht angemeldet sind.
  • Benutzer, die keinen Kommentar in deinem Blog hinterlassen haben.
  • Oder Benutzer, die keinen kennwortgeschützten Beitrag angesehen haben.

99% deiner Besucher werden statische HTML-Dateien erhalten. Eine Cache-Datei kann tausende Male bedient werden. Andere Besucher werden mit individuellen Cache-Dateien versorgt, die auf ihren Besuch zugeschnitten sind. Wenn sie angemeldet sind oder Kommentare hinterlassen haben, werden diese Details angezeigt und zwischengespeichert.

Das Plugin stellt zwischengespeicherte Dateien auf 3 Arten bereit (geordnet nach Geschwindigkeit):

  1. Experte. Die schnellste Methode ist die Verwendung von Apache mod_rewrite (oder eines ähnlichen Moduls, das dein Webserver unterstützt), um statische HTML-Dateien im Supercache bereitzustellen. Dies umgeht PHP komplett und ist extrem schnell. Wenn dein Server von einer Flut von Anfragen heimgesucht wird, kann er diese eher bewältigen, da die Anfragen „leichter“ sind. Dies erfordert das Apache mod_rewrite Modul (das wahrscheinlich installiert ist, wenn du benutzerdefinierte Permalinks hast) und eine Änderung deiner .htaccess Datei, die riskant ist und deine Seite zum Absturz bringen kann, wenn sie falsch geändert wird.
  2. Einfach. Supercached statische Dateien können von PHP bedient werden und dies ist die empfohlene Art, das Plugin zu verwenden. Das Plugin bedient eine „supercached“ Datei, wenn sie existiert, und ist fast so schnell wie die mod_rewrite-Methode. Es ist einfacher zu konfigurieren, da die .htaccess-Datei nicht geändert werden muss. Du brauchst immer noch einen eigenen Permalink. Du kannst Teile deiner Seite in diesem Caching-Modus dynamisch halten.
  3. WP-Cache-Zwischenspeicherung. Diese wird hauptsächlich verwendet, um Seiten für bekannte Benutzer, URLs mit Parametern und Feeds zwischenzuspeichern. Bekannte Benutzer sind eingeloggte Benutzer, Besucher, die Kommentare hinterlassen oder solche, denen benutzerdefinierte Daten angezeigt werden sollen. Es ist die flexibelste Caching-Methode und etwas langsamer. WP-Cache cacht auch die Besuche von unbekannten Nutzern, wenn Supercaching deaktiviert ist. In diesem Modus kannst du auch dynamische Teile deiner Seite anzeigen lassen. Dieser Modus ist immer aktiviert, aber du kannst das Caching für bekannte Nutzer, URLs mit Parametern oder Feeds separat deaktivieren. Setze die Konstante „DISABLE_SUPERCACHE“ in deiner wp-config.php auf 1, wenn du nur WP-Cache-Caching verwenden willst.

Wenn du dich mit der Bearbeitung von PHP-Dateien nicht wohlfühlst, dann benutze den einfachen Modus. Er ist einfach einzurichten und sehr schnell.

Empfohlene Einstellungen

  1. Einfaches Caching.
  2. Seiten komprimieren.
  3. Seiten für bekannte Benutzer nicht cachen.
  4. Cache-Neuaufbau.
  5. CDN-Unterstützung.
  6. Zusätzliche Homepage-Checks.

Die Garbage Collection ist der Akt der Bereinigung von Cache-Dateien, die veraltet und abgestanden sind. Es gibt keinen korrekten Wert für die Verfallszeit, aber ein guter Ausgangspunkt sind 1800 Sekunden.

Erwäge den Inhalt der Textbox „Abgelehnte User Agents“ zu löschen und lasse Suchmaschinen Dateien für dich zwischenspeichern.

Lade so viele Beiträge wie möglich vor und aktiviere den „Vorlade-Modus“. Das Sammeln von Müll aus alten Cache-Dateien wird deaktiviert. Wenn du dich nicht darum kümmerst, dass die Widgets in der Seitenleiste oft aktualisiert werden, setze das Intervall für das Vorladen auf 2880 Minuten (2 Tage), damit deine Beiträge nicht so oft neu geladen werden. Wenn der Preload stattfindet, werden die Cache-Dateien für den zu aktualisierenden Beitrag gelöscht und dann neu generiert. Danach wird eine Garbage Collection aller alten Dateien durchgeführt, um veraltete Cache-Dateien zu löschen.
Auch wenn der Preload-Modus aktiviert ist, werden die Cache-Dateien gelöscht, wenn Beiträge geändert oder Kommentare abgegeben werden.

Entwicklung

  • Die aktive Entwicklung dieses Plugins wird auf GitHub durchgeführt.
  • Die Übersetzung des Plugins in verschiedene Sprachen findest du auf der Übersetzungsseite.

Dokumentation

Wenn du mehr Informationen als die folgenden benötigst, kannst du einen Blick auf das Wiki oder die Entwicklerdokumentation werfen.

Vorladen

Du kannst Cache-Dateien für die Beiträge, Kategorien und Schlagworte deiner Website generieren, indem du sie vorinstallierst. Das Preloading besucht jede Seite deiner Website und erzeugt eine zwischengespeicherte Seite, genau wie jeder andere Besucher der Website. Aufgrund der sequentiellen Natur dieser Funktion kann es einige Zeit dauern, bis eine komplette Website vorgeladen ist, wenn es viele Beiträge gibt.
Um das Vorladen effektiver zu gestalten, kann es sinnvoll sein, die Garbage Collection zu deaktivieren, damit ältere Cache-Dateien nicht gelöscht werden. Dies geschieht durch Aktivieren von „Preload Mode“ in den Einstellungen. Beachte jedoch, dass Seiten irgendwann veraltet sind, aber dass Aktualisierungen durch Einreichen von Kommentaren oder Bearbeiten von Beiträgen Teile des Caches leeren werden.

Garbage Collection

Dein Cache-Verzeichnis füllt sich im Laufe der Zeit, was Platz auf deinem Server einnimmt. Wenn der Platz begrenzt ist oder nach Kapazität abgerechnet wird, oder wenn du befürchtest, dass die zwischengespeicherten Seiten deiner Website veraltet sind, dann muss die Müllabfuhr durchgeführt werden. Die Garbage Collection findet regelmäßig statt und löscht alte Dateien im Cache-Verzeichnis. Auf der Seite mit den erweiterten Einstellungen kannst du Folgendes angeben:
1. Cache-Timeout. Wie lange Cache-Dateien als frisch gelten. Nach dieser Zeit sind sie veraltet und können gelöscht werden.
2. Zeitplaner. Lege fest, wie oft die Garbage Collection durchgeführt werden soll.
3. Benachrichtigungs-E-Mails. Du kannst über den Fortschritt der Garbage Collection informiert werden.
Es gibt keine richtigen oder falschen Einstellungen für die Garbage Collection. Es hängt von deiner eigenen Website ab.
Wenn deine Website regelmäßig aktualisiert oder kommentiert wird, stelle den Timeout auf 1800 Sekunden und den Timer auf 600 Sekunden ein.
Wenn deine Website überwiegend statisch ist, kannst du die Garbage Collection deaktivieren, indem du 0 als Timeout eingibst oder einen wirklich großen Timeout-Wert verwendest.

Das Cache-Verzeichnis, normalerweise wp-content/cache/, ist nur für temporäre Dateien gedacht. Lege niemals wichtige Dateien oder Symlinks zu wichtigen Dateien oder Verzeichnissen in diesem Verzeichnis ab. Sie werden gelöscht, wenn das Plugin Schreibzugriff auf sie hat.

CDN

Ein Content-Delivery-Network (CDN) ist in der Regel ein Netzwerk von Computern auf der ganzen Welt, das den Inhalt deiner Website schneller bereitstellt, indem es Server in deiner Nähe nutzt. Statische Dateien wie Bilder, Javascript und CSS-Dateien können über diese Netzwerke bereitgestellt werden, um das Laden deiner Website zu beschleunigen. Du kannst auch ein „Arme-Leure-CDN“ schaffen, indem du eine Subdomain deiner Domain verwendest, um auch statische Dateien bereitzustellen.

OSSDL CDN off-linker wurde in WP Super Cache integriert, um grundlegende CDN-Unterstützung zu bieten. Es funktioniert, indem es die URLs der Dateien (außer .php-Dateien) in wp-content und wp-includes auf deinem Server umschreibt, sodass sie auf einen anderen Hostnamen zeigen. Viele CDNs unterstützen origin pull. Das bedeutet, dass das CDN die Datei automatisch von deinem Server herunterlädt, wenn sie zum ersten Mal angefordert wird, und sie für eine konfigurierbare Zeitspanne bereitstellt, bevor sie erneut von deinem Server heruntergeladen wird.

Konfiguriere dies auf der Registerkarte „CDN“ der Plugin-Einstellungsseite. Dies ist eine fortgeschrittene Technik und erfordert ein grundlegendes Verständnis dafür, wie dein Webserver oder CDNs funktionieren. Bitte stelle sicher, dass du den Dateicache löschst, nachdem du das CDN konfiguriert hast.

REST-API

Es gibt nun REST-API-Endpunkte für den Zugriff auf die Einstellungen dieses Plugins. Nur wenn du als Admin-Benutzer angemeldet bist, hast du die Berechtigung, die Einstellungsseite anzuzeigen, um sie zu verwenden. Dies ist noch nicht dokumentiert, aber du kannst den gesamten Code, der sich damit beschäftigt, im Verzeichnis „rest“ finden.

Individuelles Caching

Es ist jetzt möglich, sich mit der Funktion add_cacheaction() in den Caching-Prozess einzuhängen.

Drei Hooks sind verfügbar:

  1. ‚wp_cache_get_cookies_values‘ – Ändere den von WP Cache verwendeten Schlüssel.
  2. ‚add_cacheaction‘ – läuft in Phase 2. Ermöglicht es einem Plugin, WordPress-Hooks hinzuzufügen.
  3. ‚cache_admin_page‘ – wird auf der Verwaltungsseite ausgeführt. Damit kannst du diese Seite ändern, z. B. indem du neue Konfigurationsoptionen hinzufügst.

Es gibt auch einen regulären WordPress-Filter. Verwende den „do_createsupercache“ -Filter,
um die Prüfungen vor dem Caching anzupassen. Der Filter akzeptiert einen Parameter.
Die Ausgabe der Funktion wp_cache_get_cookies_values() von WP-Cache.

WP Super Cache verfügt über ein eigenes Plugin-System. Dieser Code wird beim Laden von WP Super Cache geladen und kann benutzt werden, um die Art und Weise der Zwischenspeicherung zu ändern. Dies geschieht, bevor die meisten WordPress-Dateien geladen werden, so dass einige Funktionen nicht verfügbar sind. Plugins können sich überall dort befinden, wo PHP sie laden kann. Du kannst auch dein eigenes Plugin hinzufügen:

  • indem du dein Plugin in das Verzeichnis wp-content/plugins/wp-super-cache-plugins legst, oder
  • durch den Aufruf von wpsc_add_plugin( $name ), wobei $name der vollständige Dateiname und Pfad zum Plugin ist. Du musst diese Funktion nur einmal aufrufen, um sie hinzuzufügen. Benutze wpsc_delete_plugin( $name ), um sie aus der Liste der geladenen Plugins zu entfernen.

Die Cookies, die der WP Super Cache zur Identifizierung „bekannter Benutzer“ verwendet, können nun geändert werden, indem die Namen dieser Cookies in der Plugin-Konfiguration zu einer Liste hinzugefügt werden. Verwende wpsc_add_cookie( $name), um ein neues Cookie hinzuzufügen, und wpsc_delete_cookie( $name), um es zu entfernen. Die Cookie-Namen modifizieren auch die vom Plugin verwendeten mod_rewrite Regeln, aber ich empfehle die Verwendung des Simple Mode Caching, um Komplikationen beim Aktualisieren der .htaccess-Datei zu vermeiden.
Der Cookie-Name und -Wert werden verwendet, um Benutzer zu unterscheiden, so dass du z.B. ein Cookie haben kannst, aber unterschiedliche Werte für jeden Typ von Benutzern auf deiner Website. Sie werden mit verschiedenen Cache-Dateien bedient.

Siehe plugins/searchengine.php als Beispiel für mein No Adverts for Friends Plugin.

Problembehandlung

Wenn die Dinge nicht funktionieren, wenn du das Plugin installiert hast, gibt es ein paar Dinge zu überprüfen:

  1. Ist wp-content für den Webserver schreibbar?
  2. Gibt es eine wp-content/wp-cache-config.php? Wenn nicht, kopiere die Datei wp-super-cache/wp-cache-config-sample.php nach wp-content/wp-cache-config.php und stelle sicher, dass WPCACHEHOME auf die richtige Stelle zeigt.
  3. Gibt es eine wp-content/advanced-cache.php? Wenn nicht, dann musst du die Datei wp-super-cache/advanced-cache.php nach wp-content/ kopieren. Du musst die Datei bearbeiten und den Pfad so ändern, dass er auf den wp-super-cache Ordner zeigt.
  4. Wenn die Seiten überhaupt nicht gecached werden, entferne die Datei wp-content/advanced-cache.php und erstelle sie neu, indem du die oben genannten Ratschläge befolgst.
  5. Vergewissere dich, dass die folgende Zeile in der wp-config.php steht und zwar ÜBER der Zeile „require_once(ABSPATH.‚wp-settings.php‘);“:

    define( 'WP_CACHE', true );
    
  6. Probiere die Seite Einstellungen->WP Super Cache erneut aus und aktiviere den Cache.
  7. Schau in wp-content/cache/supercache/. Gibt es dort Verzeichnisse und Dateien?
  8. Irgendwas in deiner php error_log?
  9. Wenn dein Browser dich immer wieder auffordert, die Datei zu speichern, nachdem der Super-Cache installiert wurde, musst du die Super-Cache-Komprimierung deaktivieren. Gehe auf die Seite Einstellungen->WP Super Cache und deaktiviere ihn dort.
  10. Das Plugin funktioniert nicht sehr gut, wenn der Safe Mode von PHP aktiv ist. Diesen muss dein Administrator deaktivieren.
  11. Wenn Seiten mal super gecacht werden und mal nicht, kann dein Blog wahrscheinlich mit und ohne das „www“-Präfix in der URL angezeigt werden. Du solltest dich für einen Weg entscheiden und das Plugin www-Präferenz erzwingen installieren, wenn du eine alte WordPress-Installation verwendest. Die neuesten Versionen leiten sich selbst um (du solltest sowieso immer die neueste Version von WordPress verwenden!)
  12. Private Server-Benutzer bei Dreamhost sollten die Datei wp-content/wp-cache-config.php bearbeiten und das Cache-Verzeichnis auf „/tmp/“ setzen, wenn sie Fehler wegen erhöhter CPU-Auslastung erhalten. Siehe diese Diskussion für mehr.
  13. Fehler beim Sperren von Dateien wie „Schlüssel 0x152b konnte nicht erfasst werden: Permission denied in…„ oder“Page not cached by WP Super Cache. Could not get mutex lock.“ sind ein Zeichen dafür, dass du möglicherweise eine Dateisperre verwenden musst. Bearbeite wp-content/wp-cache-config.php und entferne den Kommentar „$use_flock = true“ oder setze $sem_id auf einen anderen Wert. Als letzten Ausweg kannst du die Dateisperre auch über den Admin-Bildschirm deaktivieren.
  14. Vergewissere dich, dass cache/wp_cache_mutex.lock vom Webserver beschreibbar ist, wenn du grobes Dateisperren verwendest.
  15. Der Cache-Ordner kann nicht auf eine NFS-, Samba- oder NAS-Freigabe gelegt werden. Er muss sich auf einer lokalen Festplatte befinden. Das Sperren von Dateien und das Löschen von abgelaufenen Dateien funktioniert nur, wenn sich der Cache-Ordner auf dem lokalen Rechner befindet.
  16. Die Garbage Collection alter Cache-Dateien funktioniert nicht, wenn WordPress die wp-cron.php nicht finden kann. Wenn dein Hostname nach 127.0.0.1 aufgelöst wird, könnte dies die Garbage Collection verhindern. Überprüfe deine access_logs auf Einträge in der wp-cron.php. Geben sie einen 404 (Datei nicht gefunden) oder 200 Code zurück? Wenn es 404 ist oder du nirgendwo wp-cron.php siehst, sucht WordPress vielleicht am falschen Ort nach diesem Skript. Du solltest mit deinem Serveradministrator sprechen, um dies zu korrigieren, oder auf Unix-Servern die Datei /etc/hosts bearbeiten und die folgende Zeile entfernen. Dein Hostname muss zu der externen IP-Adresse aufgelöst werden, die andere Server im Netzwerk/Internet verwenden. Siehe http://yoast.com/wp-cron-issues/ für weitere Informationen. Eine Zeile wie „127.0.0.1 localhost localhost.localdomain“ ist in Ordnung.

    127.0.0.1 example.com
    
  17. Wenn deinen Besuchern über den Supercache alte Seiten angezeigt werden, fehlen dir möglicherweise Apache-Module (oder ihre Entsprechungen, wenn du keinen Apache verwendest). 3 Module sind erforderlich: mod_mime, mod_headers und mod_expires. Die letzten beiden sind besonders wichtig, um sicherzustellen, dass die Browser neue Versionen von bestehenden Seiten auf deiner Website laden.
  18. Die Fehlermeldung „WP Super Cache ist installiert, aber defekt. Der Pfad zu wp-cache-phase1.php in wp-content/advanced-cache.php muss korrigiert werden!“ erscheint am Ende jeder Seite. Öffne die Datei wp-content/advanced-cache.php in deinem Lieblingseditor. Ist der Pfad zu wp-cache-phase1.php korrekt? Diese Datei befindet sich normalerweise in wp-content/plugins/wp-super-cache/. Wenn sie nicht korrekt ist, wird die Cache-Engine nicht geladen.
  19. Das Caching funktioniert nicht. Der Zeitstempel in meinem Blog ändert sich ständig, wenn ich neu lade. Überprüfe, ob der Pfad in deinen .htaccess-Regeln mit dem Verzeichnis des Supercaches übereinstimmt. Möglicherweise musst du ihn hartcodieren. Versuche, den Supercache-Modus zu deaktivieren.
  20. Wenn Supercache-Cache-Dateien generiert, aber nicht ausgeliefert werden, überprüfe die Berechtigungen für alle wp-content/cache/supercache-Ordner (und alle wp-content cache- und supercache-Ordner) und wp-content/cache/.htaccess. Wenn dein PHP unter einem anderen Benutzer läuft als der Apache und die Berechtigungen streng sind, kann der Apache die von PHP erzeugten Cache-Dateien möglicherweise nicht lesen. Um das zu beheben, musst du die folgende Zeile in deine wp-config.php einfügen (oberhalb der WP_CACHE-Definition) und dann deinen Cache löschen.

    umask( 0022 );
    
  21. Wenn du Müll in deinem Browser siehst, nachdem du die Komprimierung im Plugin aktiviert hast, kann es sein, dass die Komprimierung bereits auf deinem Webserver aktiviert ist. Im Apache musst du mod_deflate deaktivieren, oder in PHP kann die zlib-Kompression aktiviert sein. Du hast drei Möglichkeiten, diese zu deaktivieren. Wenn du Root-Zugriff hast, bearbeite deine php.ini und suche die Einstellung zlib.output_compression und stelle sicher, dass sie auf „Off“ steht oder füge diese Zeile zu deiner .htaccess hinzu:

    php_flag zlib.output_compression off
    

    Wenn das nicht funktioniert, füge diese Zeile in deiner wp-config.php ein:

    ini_set('zlib.output_compression', 0);
    
  22. Der „weiße Bildschirm des Todes“ oder eine leere Seite, wenn du deine Website besuchst, wird fast immer durch einen PHP-Fehler verursacht, aber es kann auch durch APC verursacht werden. Deaktiviere diese PHP-Erweiterung, wenn du Probleme hast, und ersetze sie durch eAccelerator oder Xcache.
  23. Nach der Deinstallation können deine Permalinks kaputt gehen, wenn du auch die WordPress mod_rewrite-Regeln entfernst. Erstelle diese Regeln neu, indem du die Seite Einstellungen->Permalink aufrufst und das Formular erneut speicherst.
  24. Wenn dein Blog nicht geladen werden kann, überprüfe, ob deine wp-config.php korrekt ist. Fehlt dir ein öffnender oder schließender PHP-Tag?
  25. Your front …

Installation

Installiere das Plugin wie jedes andere, direkt von deiner Plugin-Seite, aber stelle sicher, dass du benutzerdefinierte Permalinks aktiviert hast. Gehe zur Plugin-Einstellungsseite unter Einstellungen->WP Super Cache und aktiviere das Caching.

Wie man WP Super Cache deinstalliert

Eigentlich musst du nur das Plugin auf der Plugins-Seite deaktivieren. Das Plugin sollte die meisten der von ihm erstellten und geänderten Dateien bereinigen, aber es entfernt noch nicht die mod_rewrite-Regeln aus der .htaccess-Datei. Achte auf den Abschnitt in der Datei, der mit den SuperCache BEGIN und END Tags markiert ist. Das Plugin entfernt diese nicht, weil manche Leute die WordPress-Regeln auch in diesen Block einfügen.

Zur manuellen Deinstallation:

  1. Schalte das Caching auf der Plugin-Einstellungsseite aus und leere den Cache.
  2. Deaktiviere das Plugin auf der Seite „Plugins“.
  3. Entferne die WP_CACHE-Definition aus der wp-config.php. Sie sieht aus wie define( ‚WP_CACHE‘, true );
  4. Entferne die mod_rewrite-Regeln von Super Cache aus deiner .htaccess-Datei.
  5. Entferne die Dateien wp-content/advanced-cache.php und wp-content/wp-cache-config.php
  6. Entferne das Verzeichnis wp-content/cache/
  7. Entferne das Verzeichnis wp-super-cache aus deinem plugins-Verzeichnis.

Wenn alles andere nicht funktioniert und deine Website hängt

  1. Entferne die WP_CACHE-Definition aus der wp-config.php. Sie sieht aus wie define( ‚WP_CACHE‘, true );
  2. Entferne die Regeln (siehe oben), die das Plugin in die .htaccess-Datei in deinem Stammverzeichnis geschrieben hat.
  3. Lösche den Ordner wp-super-cache im plugins-Ordner.
  4. Lösche optional advanced-cache.php, wp-cache-config.php und den Cache-Ordner in wp-content/.

FAQ

Woher weiß ich, dass mein Blog gecacht wird?

Gehe zu Einstellungen -> WP Super Cache und suche das Formular „Cache-Tester“ auf der Seite mit den einfachen Einstellungen. Klicke auf „Cache testen“ und das Plugin wird die Startseite der Website zweimal aufrufen und jeweils einen Zeitstempel vergleichen, um sicherzustellen, dass sie übereinstimmen.

Wenn du es manuell machen willst, aktiviere das Debugging in den Plugin-Einstellungen und lade die Logdatei in einem neuen Browser-Tab. Sieh dir dann deinen Blog an, während du ein- und ausgeloggt bist. Du solltest Aktivitäten im Log sehen. Sieh dir den Quellcode einer beliebigen Seite auf deiner Website an. Wenn eine Seite zum ersten Mal erstellt wird, siehst du den Text „Dynamic page generated in XXXX seconds.“ und „Cached page generated by WP-Super-Cache on YYYY-MM-DD HH:MM:SS“ am Ende des Quellcodes. Beim Neuladen zeigt eine gecachte Seite denselben Zeitstempel an, also warte ein paar Sekunden, bevor du sie überprüfst.
Wenn Supercaching deaktiviert ist und du die Komprimierung aktiviert hast, wird der Text „Compression = gzip“ hinzugefügt. Wenn die Komprimierung deaktiviert ist und die Seite als statische HTML-Datei bereitgestellt wird, wird der Text „super cache“ hinzugefügt. Die einzige andere Möglichkeit, um festzustellen, ob deine gecachte Datei von einem PHP-Skript oder aus dem statischen Cache bereitgestellt wurde, ist ein Blick auf die HTTP-Header. PHP gecachte Seiten haben den Header „WP-Super-Cache: Served supercache file from PHP“. WPCache gecachte Dateien haben den Header, „WP-Super-Cache: Served WPCache cache file“. Du solltest auch dein Cache-Verzeichnis in wp-content/cache/supercache/hostname/ auf statische Cache-Dateien überprüfen.
Wenn die Plugin-Regeln in deiner .htaccess-Datei fehlen, wird das Plugin versuchen, die Super-Cache-Seite zu bedienen, wenn sie gefunden wird. Der Header „WP-Super-Cache: Served supercache file from PHP“, wenn dies geschieht.
Das Pagespeed-Modul für Apache kann beim Testen Probleme verursachen. Deaktiviere es, wenn du Probleme beim Ausführen des Cache-Testers bemerkst.

Wie kann ich Supercaching deaktivieren?

Wenn du nur die WP-Cache-Engine verwenden möchtest, bearbeite deine wp-config.php oder erstelle ein Mu-Plugin, das die Konstante ‚DISABLE_SUPERCACHE‘ auf 1 setzt.

WP-Cache vs. Supercache-Dateien

Alle Cache-Dateien werden in wp-content/cache/supercache/HOSTNAME/ gespeichert, wobei HOSTNANE dein Domain-Name ist. Die Dateien werden in Verzeichnissen gespeichert, die der Permalink-Struktur deiner Website entsprechen. Supercache-Dateien sind index.html oder eine Variante davon, je nachdem, welche Art von Besucher den Blog besucht hat. Andere Dateien heißen wp-cache-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.php. Die zugehörigen Metadateinamen beginnen mit „meta“. Diese Dateien enthalten Informationen über die gecachte Datei. Diese Dateien werden von der Engine „WPCache Caching“ im Plugin erzeugt.

Werden Kommentare und andere dynamische Teile meines Blogs sofort aktualisiert?

Kommentare werden angezeigt, sobald sie moderiert wurden, je nach den Kommentarrichtlinien des Blogbetreibers. Andere dynamische Elemente auf einer Seite werden möglicherweise nicht aktualisiert, es sei denn, sie sind in Javascript, Flash, Java oder einer anderen clientseitigen Browsersprache geschrieben. Das Plugin erzeugt wirklich statische HTML-Seiten. Es wird kein PHP ausgeführt, wenn diese Seiten angezeigt werden. Der „Popularity Contest“ ist ein solches Plugin, das nicht funktioniert.

Wird die Super-Cache-Kompression meinen Server verlangsamen?

Nein, es wird das Gegenteil tun. Super-Cache-Dateien werden komprimiert und so gespeichert, dass die starke Komprimierung nur einmal durchgeführt wird. Diese Dateien sind in der Regel viel kleiner und werden viel schneller an den Browser des Besuchers gesendet als unkomprimierte HTML-Dateien. Dadurch verbringt dein Server weniger Zeit damit, über das Netzwerk zu kommunizieren, was CPU-Zeit und Bandbreite spart, und kann die nächste Anfrage viel schneller bedienen.

Wie kann ich erreichen, dass bestimmte Teile der Seite dynamisch bleiben?

Hinweis: Diese Funktion ist standardmäßig deaktiviert. Du musst sie auf der Seite Erweiterte Einstellungen aktivieren.

Es gibt zwei Möglichkeiten, dies zu tun. Du kannst Javascript verwenden, um den Teil der Seite zu zeichnen, den du dynamisch halten willst. So machen es Google Adsense und viele Widgets von externen Websites und das ist die empfohlene Methode. Oder du kannst einen WP Super Cache-Filter verwenden, um die Aufgabe zu erledigen, aber du kannst das Caching im mod_rewrite-Modus nicht nutzen. Du musst die „einfache“ Auslieferungsmethode verwenden oder das Supercaching deaktivieren.

Mit WP Super Cache 1.4 wurde ein Cacheaction-Filter namens wpsc_cachedata eingeführt. Die gecachte Seite, die angezeigt werden soll, durchläuft diesen Filter und ermöglicht die Änderung der Seite. Wenn die Seite einen Platzhalter-Tag enthält, kann der Filter verwendet werden, um diesen Tag durch dein dynamisch generiertes HTML zu ersetzen.
Die Funktion, die mit dem wpsc_cachedata-Filter verknüpft wird, sollte in einer Datei im WP Super Cache-Plugins-Ordner abgelegt werden, es sei denn, du verwendest die late_init-Funktion. Ein Beispiel-Plugin ist enthalten. Bearbeite dynamic-cache-test.php, um den Beispielcode zu sehen.
Dort gibt es zwei Beispielfunktionen. Die eine ist eine einfache Funktion, die eine von dir definierte Zeichenkette (oder Tag) ersetzt, wenn die gecachte Seite ausgeliefert wird. Die andere Beispielfunktion verwendet einen Ausgabepuffer, um den dynamischen Inhalt zu erzeugen. Aufgrund einer Einschränkung in der Funktionsweise von PHP MUSS der Code des Ausgabepuffers vor dem wpsc_cachedata-Filter ausgeführt werden, zumindest wenn eine Seite im Cache ist. Beim Ausliefern von gecachten Seiten spielt das keine Rolle. In diesem Beitrag findest du eine technischere und längere Erklärung.
Um WordPress-Funktionen auszuführen, musst du die Funktion „Late init“ auf der Seite mit den erweiterten Einstellungen aktivieren.

Wie kann ich die Bereitstellung des Cache verzögern, bis die Aktion „init“ ausgelöst wird?

Gecachte Dateien werden ausgeliefert, bevor fast das gesamte WordPress geladen ist. Das ist zwar gut für die Leistung, aber es ist lästig, wenn du das Plugin mit einem Kernbestandteil von WordPress erweitern willst. Aktiviere den „Late init“-Modus auf der Seite „ Erweiterte Einstellungen“ und die zwischengespeicherten Dateien werden ausgeliefert, wenn „init“ ausgelöst wird. WordPress und seine Plugins werden jetzt geladen.

Warum funktionieren WP UserOnline, Popularity Contest, WP Postratings oder Plugin X auf meinem Blog nicht oder werden nicht mehr aktualisiert?

Dieses Plugin zwischenspeichert ganze Seiten, aber einige Plugins denken, dass sie jedes Mal, wenn eine Seite geladen wird, PHP-Code ausführen können. Um dies zu beheben, muss das Plugin Javascript/AJAX-Methoden oder den in der vorherigen Antwort beschriebenen wpsc_cachedata-Filter verwenden, um dynamische Informationen zu aktualisieren oder anzuzeigen.

Warum verschwinden meine WP-Super-Cache-Plugins, wenn ich das Plugin upgrade?

WordPress löscht den Plugin-Ordner, wenn es ein Plugin aktualisiert. Dies gilt auch für den WP Super Cache, so dass alle geänderten Dateien im wp-super-cache/plugins/ gelöscht werden. Du kannst deine individuellen Plugins auf verschiedene Weise in ein anderes Verzeichnis verschieben. Du kannst die Variable $wp_cache_plugins_dir in wp-config.php oder wp-content/wp-cache-config.php definieren und auf ein Verzeichnis außerhalb des wp-super-cache Ordners zeigen lassen. Das Plugin wird dort nach seinen Plugins suchen. Oder wenn du ein Plugin verteilst, das früh geladen werden muss, kannst du die Funktion wpsc_add_plugin( $filename ) verwenden, um ein neues Plugin hinzuzufügen, wo immer es auch sein mag. Verwende den wpsc_delete_plugin( $filename ), um die Plugin-Datei zu entfernen. Siehe #574 oder diesen Beitrag zum Schreiben von WP Super Cache Plugins.

Was macht die Cache-Rebuild-Funktion?

Wenn ein Besucher einen Kommentar hinterlässt, wird die Cache-Datei für diese Seite gelöscht und der nächste Besucher erstellt die Cache-Seite neu. Eine Seite braucht Zeit zum Laden. Was passiert also, wenn sie in dieser Zeit 100 Besucher erhält? Dann gibt es keine Seite im Cache, also lädt WordPress für jeden Besucher eine neue Seite und das Plugin versucht, für jeden dieser 100 Besucher eine Seite im Cache zu erstellen, was eine enorme Belastung für deinen Server bedeutet. Mit dieser Funktion wird dies verhindert. Die zwischengespeicherte Seite wird nicht gelöscht, wenn ein Kommentar hinterlassen wird. Stattdessen wird sie zum Neuaufbau markiert. Der nächste Besucher innerhalb der nächsten 10 Sekunden wird die zwischengespeicherte Seite neu aufbauen, während die alte Seite für die anderen 99 Besucher bereitgestellt wird. Die Seite wird schließlich vom ersten Besucher geladen und die gecachte Seite aktualisiert. Siehe diesen Beitrag für mehr.

Warum speichert das Plugin die Anfragen von Suchmaschinen-Bots nicht standardmäßig zwischen?

Diese Bots besuchen jede Seite in der Regel nur einmal und wenn die Seite nicht beliebt ist, macht es keinen Sinn, eine Cache-Datei zu erstellen, die dann ungenutzt auf deinem Server liegt. Du kannst jedoch zulassen, dass diese Besuche im Cache gespeichert werden, indem du die Liste der Bots unter „Abgelehnte Benutzeragenten “ auf der Seite „Erweiterte Einstellungen“ entfernst.

Statt meiner Homepage wird eine Kategorieseite angezeigt

Ein winziger Teil der Websites wird Probleme mit der folgenden Konfiguration haben:

  1. Benutzt eine statische Seite für die Startseite.
  2. Verwendet die Permalinkstruktur /%category%/%postname%/.

Manchmal wird eine Kategorieseite als Homepage der Website anstelle der statischen Seite zwischengespeichert. Ich kann das Problem nicht replizieren, aber eine einfache Lösung ist die Verwendung des „Simple“-Modus. Du kannst auch „Extra Homepage-Checks“ auf der Seite Erweiterte Einstellungen aktivieren.

Warum bekomme ich Warnungen über das Caching von http://ismyblogworking.com/

„Dein Blog unterstützt kein Client-Caching (keine 304-Antwort auf If-modified-since)“.
„Dein Feed unterstützt kein Caching (keine 304-Antwort auf If-modified-since)“

Supercache unterstützt die 304-Header-Prüfung im Expertenmodus nicht, aber im einfachen Modus schon. Dies ist eine Zwischenspeicherung, die von deinem Browser durchgeführt wird, nicht vom Server. Es handelt sich um eine Prüfung, mit der dein Browser den Server fragt, ob eine aktualisierte Version der aktuellen Seite verfügbar ist. Wenn nicht, lädt er die alte Version nicht erneut herunter. Die Seite wird immer noch von deinem Server zwischengespeichert, nur nicht von den Browsern deiner Besucher.
Probiere die Cacheability Engine auf http://www.ircache.net/cgi-bin/cacheability.py oder https://redbot.org/ für eine weitere Analyse aus.

Wie kann ich die utm_source-Tracking-Tools in Google Analytics am besten mit diesem Plugin nutzen?

Dieses Tracking fügt einen Query-String zu jeder URL hinzu, die von verschiedenen Quellen wie Twitter und Feedreadern verlinkt wird. Leider verhindert es, dass die Seiten im Supercache gespeichert werden können. In Joosts Kommentar hier erfährst du, wie du es in ein Anker-Tag umwandelst, das supergecacht werden kann.

Das Plugin beschwert sich, dass wp-content beschreibbar ist! htdocs ist beschreibbar!

Es ist nicht gut, wenn der Webserver in diese Verzeichnisse schreiben kann, aber manchmal werden Shared-Hosting-Konten so eingerichtet, um die Verwaltung zu erleichtern. Verwende chmod 755 directory, um die Berechtigungen zu korrigieren, oder suche den Bereich für die Berechtigungen in deinem FTP-Client. Diese Google-Suche führt dich zu weiteren Informationen zu diesem Thema und es gibt auch diese Codex-Seite. Leider verlangen einige Hosts, dass diese Verzeichnisse beschreibbar sind. Wenn das der Fall ist, ignoriere diese Warnung einfach.

Wie kann ich die WP_CACHE-Definition aus der wp-config.php löschen?

Lade deinen Desktop-ftp-Client und verbinde dich mit deiner Website. Navigiere zum Stammverzeichnis (oder dem Verzeichnis darunter) deiner Website, wo du die Datei wp-config.php findest. Lade diese Datei herunter und bearbeite sie in einem Texteditor. Lösche die Zeile define( ‚WP_CACHE‘, true ); und speichere die Datei. Lade sie nun hoch und überschreibe die wp-config.php auf deinem Server.

Wie kann ich die Super-Cache-Regeln aus der .htaccess-Datei löschen?

Lade deinen Desktop-ftp-Client und verbinde dich mit deiner Website. Möglicherweise musst du in den Einstellungen des FTP-Clients die Option „Versteckte Dateien anzeigen“ aktivieren. Navigiere zum Stammverzeichnis deiner Website, wo du die .htaccess-Datei findest. Lade diese Datei herunter und bearbeite sie in einem Texteditor. Lösche die Zeilen zwischen „# BEGIN WPSuperCache“ und „# END WPSuperCache“ und speichere die Datei. Lade sie nun hoch und überschreibe dabei die .htaccess-Datei auf deinem Server.

Wie kann ich die Dateiberechtigungen ändern?

Diese Seite im WordPress Codex erklärt alles, was du über Dateirechte auf deinem Server und verschiedene Möglichkeiten, sie zu ändern, wissen musst.

Warum bekomme ich Ladespitzen, wenn neue Beiträge veröffentlicht werden?

Vielleicht hast du die Option „Alle zwischengespeicherten Dateien löschen, wenn neue Beiträge erstellt werden“ aktiviert. Das Löschen dieser Dateien kann einige Zeit in Anspruch nehmen, außerdem werden deine Besucher jetzt nicht gecachte Seiten besuchen. Verwendest du das Kampagnentracking von Google Analytics mit utm_source in der Url? Diese Seiten werden nicht gecached. Wie du die utm_source-Tracking-Tools in Google Analytics mit diesem Plugin richtig einsetzt, erfährst du in der Frage „Wie verwende ich sie am besten?
Zwischengespeicherte Seiten müssen aktualisiert werden, wenn Beiträge erstellt werden. Vielleicht ist dein Server mit der Menge an Traffic, die du bekommst, einfach überfordert. Aktiviere die Funktion „Cache neu aufbauen“, das könnte helfen.

Wie viele Seiten kann ich zwischenspeichern?

Die einzige wirkliche Grenze sind die von deinem Server definierten Limits. EXT2 und EXT3 erlauben zum Beispiel maximal 31.999 Unterverzeichnisse. Wenn du also eine flache Permalink-Struktur(wie /%POSTNAME%/) und mehr als 32.000 Beiträge hast, könntest du Probleme bekommen. Wenn du ein Multisite-Netzwerk betreibst und mehr als 31.999 Websites (Blogs) hast, kannst du auch nicht alle in den Cache aufnehmen. Wenn du so viele aktive Seiten hättest, würdest du realistischerweise nicht auf einem Server laufen.

Ich kann sehen, dass die www-Version meiner Website separat zwischengespeichert wird. Wie kann ich das verhindern?

WordPress sollte auf die kanonische URL deiner Website umleiten, aber wenn nicht, füge dies zu deiner .htaccess über den Supercache und WordPress Regeln hinzu. Änder example.com in deinen eigenen Hostnamen.
RewriteCond %{HTTP_HOST} www.example.com$[NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

Wie kann ich zwischengespeicherte mobile Seiten für Kunden mit kleinen Bildschirmen wie Handys und Tablets bereitstellen?

Your theme is probably responsive which means it resizes the page to suit whatever device is displaying the page. If it’s not responsive, you’ll have to use a separate mobile plugin to render a page formatted for those visitors. The following plugins have been tested but YMMV depending on mobile client. You’ll have to enable mobile browser support as well on the Advanced settings page.

Rezensionen

12. Oktober 2025 1 Antwort
First experience is very positive. WP Super Cache works immediately and makes the site noticeably faster. The plugin is straightforward, simple to use, and does exactly what it should without any hassle. Hopefully, it will stay this way.
9. Mai 2025 1 Antwort
It is very easy to use and optimally accelerates the website(s). Many thanks for the free version, it’s simply brilliant.
26. November 2024 1 Antwort
This plugin caused our web hotel to cash coz the cache files allows to increase without stop
Alle 1.341 Rezensionen lesen

Mitwirkende und Entwickler

„WP Super Cache“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„WP Super Cache“ wurde in 32 Sprachen übersetzt. Danke an die Übersetzenden für ihre Mitwirkung.

Übersetze „WP Super Cache“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

3.0.3 – 2025-11-11

Added

  • Tested up to WordPress 6.9.

Changed

  • Update package dependencies.

Fixed

  • Phan: Address PhanRedundantCondition, PhanRedundantArrayValuesCall, and PhanPluginRedundantAssignment violations.
  • Remove redundant code.

See the previous changelogs here