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):
- 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.
- 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.
- 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
- Einfaches Caching.
- Seiten komprimieren.
- Seiten für bekannte Benutzer nicht cachen.
- Cache-Neuaufbau.
- CDN-Unterstützung.
- 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:
- ‚wp_cache_get_cookies_values‘ – Ändere den von WP Cache verwendeten Schlüssel.
- ‚add_cacheaction‘ – läuft in Phase 2. Ermöglicht es einem Plugin, WordPress-Hooks hinzuzufügen.
- ‚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 has its own plugin system, loaded before most of WordPress. Add your own plugin either by putting it in the wp-content/plugins/wp-super-cache-plugins directory, or by calling wpsc_add_plugin( $name ) with the full path to the plugin.
The cookies used to identify „known users“ can be modified with wpsc_add_cookie( $name ) and wpsc_delete_cookie( $name ). See plugins/searchengine.php as an example.
Problembehandlung
Wenn die Dinge nicht funktionieren, wenn du das Plugin installiert hast, gibt es ein paar Dinge zu überprüfen:
- Ist wp-content für den Webserver schreibbar?
- 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.
- 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.
- 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.
-
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 ); - Probiere die Seite Einstellungen->WP Super Cache erneut aus und aktiviere den Cache.
- Schau in wp-content/cache/supercache/. Gibt es dort Verzeichnisse und Dateien?
- Irgendwas in deiner php error_log?
- 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.
- 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.
- Vergewissere dich, dass cache/wp_cache_mutex.lock vom Webserver beschreibbar ist, wenn du grobes Dateisperren verwendest.
- 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.
- Garbage collection of old cache files won’t work if WordPress can’t find wp-cron.php. Check your access_logs for wp-cron.php entries and that your hostname resolves to the external IP address other servers on the network/Internet use.
- 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.
- 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.
- 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.
-
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 ); -
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 offWenn das nicht funktioniert, füge diese Zeile in deiner wp-config.php ein:
ini_set('zlib.output_compression', 0); - 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.
- 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?
- Your front page is ok but posts and pages give a 404? Go to Settings->permalinks and click „Save“ once you’ve selected a custom permalink structure. You may need to manually update your .htaccess file.
-
If certain characters do not appear correctly on your website your server may not be configured correctly. You need to tell visitors what character set is used. Go to Settings->Reading and copy the ‚Encoding for pages and feeds‘ value. Edit the .htaccess file with all your Supercache and WordPress rewrite rules and add this at the top, replacing CHARSET with the copied value. (for example, ‚UTF-8‘)
AddDefaultCharset CHARSET - The error message, „WP Super Cache is installed but broken. The constant WPCACHEHOME must be set in the file wp-config.php and point at the WP Super Cache plugin directory.“ appears at the end of every page. You can delete wp-content/advanced-cache.php and reload the plugin settings page or edit wp-config.php and look for WPCACHEHOME and make sure it points at the wp-super-cache folder. This will normally be wp-content/plugins/wp-super-cache/ but you’ll likely need the full path to that file (so it’s easier to let the settings page fix it). If it is not correct the caching engine will not load.
- If your server is running into trouble because of the number of semaphores used by the plugin it’s because your users are using file locking which is not recommended (but is needed by a small number of users). You can globally disable file locking by defining the constant WPSC_DISABLE_LOCKING, or defining the constant WPSC_REMOVE_SEMAPHORE so that sem_remove() is called after every page is cached but that seems to cause problems for other processes requesting the same semaphore. Best to disable it.
- Setze die Variable $htaccess_path in wp-config.php oder wp-cache-config.php auf den Pfad deiner global .htaccess, wenn das Plugin nach dieser Datei im falschen Verzeichnis sucht. Dies kann passieren, wenn du WordPress auf ungewöhnliche Weise installiert hast.