Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Gunnar Tillmann hat die WordPress-Cache-Funktion vor einiger Zeit sehr schön vorgestellt, wobei er auf die Möglichkeiten für Entwickler eingeht, das Einbinden in eigene Lösungen - Plugins oder Templates beispielsweise.
Das gleiche Thema hat Michael auch nochmal aufgegriffen und damit wurde es dann wesentlich populärer - Michael hat wohl einen großen Leserstamm.
Die Cache-Funktion wird aktiviert, in dem man zwei Zeilen der wp-config.php hinzufügt. Der Ordner wp-content muss mit Schreibrechten ausgestattet werden, damit das nötige Verzeichnis cache automatisch angelegt werden kann, ansonsten händisch anlegen.
define('ENABLE_CACHE', true); // Cache on
define('CACHE_EXPIRATION_TIME', 604800); // Time in seconds, default is 900s
Hinweis: Seit WordPress Version 2.5 ist dies nicht mehr gültig, lese auch einen neueren Beitrag dazu bei mir: WordPress Cache nutzen
Nun hat der Cache sicher hervorragende Eigenschaften, wie aber auch Michael schon berichtet -
nur meist denkt man in diesem Moment nie an den Cache (Murphy lässt grüßen
![]()
Ebenso hat WordPress von Haus aus keine Überprüfung des Cache, was passiert also wirklich und wie kann ich ihn gegebenenfalls leeren? Natürlich hat sich auch dazu schon ein findiger Kopf gefunden und ein Plugin erstellt. Das Plugin „PJW WP Cache Inspect“ gibt eine Ausgabe alle relevanten Daten im Frontend aus, so dass der Admin, insofern er im Backend angemeldet ist, sich über die aktuelle Cache-Situation auf der entsprechenden Seite informieren kann. Der nicht geloggte User bekommt davon nichts mit.
Das Plugin geht mir allerdings nicht weit genug, denn es gibt einige Anwendungen, bei denen es sinnvoll ist, den Cache zu leeren. Dazu zählen zum Beispiel, das Löschen von Kommentaren, das Editieren von Kommentaren und das Veröffentlichen von Seiten und Artikeln.
Damit diese Funktionalität gegeben ist, habe ich das Plugin um wenige Zeilen erweitert und nun muss man sich darum nicht mehr kümmern. Der Download ist im Anschluss zu finden. zusätzlich kann im Bereich Verwalten des Backend den Cache mit einem Klick löschen.
Es empfiehlt sich den PHP Memory Limit zu setzen, 32MByte sollten ein guter Wert sein, auch diese Konstanten-Definition gehört in die wp-config.php.
define('WP_MEMORY_LIMIT', '32M');
Das Plugin arbeitet mit WP 2.0 und höher, inklusive 2.5 ab Version 0.52 des Plugins.
Ist die Arbeit nicht 1 Euro wert?
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.
Möchtest du mehr oder anders spenden, so besuche meine Wunschliste.
Download als php-Datei:
pjw-wp-cache-inspect.zip - 1 KByte
Das Plugin wurde von mir komplett neu aufgesetzt und erstellt - nähere Informationen dazu gibt es im entsprechenden Artikel: WP Cache steuern (Plugin).
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
18. Juli 2007 um 19:33
18. Juli 2007 um 21:33
habe die Cache-Funktion bei meinem letzten Projekt Ferienhäuser Sardinien getestet, leider ohne Erfolg. Scheinbar bringt WordPress die beiden Subdomains durcheinander. Das Projekt ist zweisprachig und läuft auf einer Instanz alla Multi-(Sub)Domain-WordPress.
19. Juli 2007 um 00:33
Kaum freut man sich über diese Funktion, gibts schon wieder Sachen zu beachten und Erweiterungen, (fr)ahhh(nk)!
Wahrscheinlich bilde ich mir das nur ein weil es eh irgendwie sicher nichts miteinander zu tun hat aber die "Bitte moderiere Kommentar x" Emails kamen seit dem aktivieren Cache "später" an.. Zufall? Murphy? Omen? Einbildung durch Tatsachen? Hachje..
19. Juli 2007 um 07:50
Nicht umsonst ist der Cache im Standard nicht aktiviert.
Schon möglich, da müsste man mal prüfen, auf was der Cache alles wirkt. Die Doku ist derzeit sehr dürftig.
21. Juli 2007 um 20:10
Dann hätten die ganzen Browserleutchen ja auch mal den Cache im Auslieferungszustand deaktiviert lassen können - weil wie oft ist der Cache schuld? Sehr oft!
21. Juli 2007 um 21:28
Nein, hätten sie nicht, denn sie prüfen im Vorfeld ob es Veränderungen gibt. Allerdings administrieren auch die wenigsten Browsernutzer ihren Inhalt nicht selbst. Bei WordPress gibt es aber recht viele User, die nicht immer an alles denken.
10. August 2007 um 08:39
Habe noch ein wenig am Code gefeilt und die neue Version hoch geladen.
9. Januar 2008 um 11:38
16. April 2008 um 17:17
Hallo Frank!
Wirklich ein sehr gelungenes Plugin - aber warum hast Du im Vergleich zum Original von Peter Westwood die "Cold Cache Hits" aus dem Info-Container rausgenommen? Habe diese Info wieder selbst hinzugefügt, weil ich sie doch ganz interessant finde.
Bin froh, dass ich über den WP-eigenen Cache gestolpert bin - die DB-Queries reduzieren sich teilweise um die Hälfte, wie ich dank dieses Plugins jetzt immer schön sehen kann. Das bringt wirklich einen erheblichen Performance-Gewinn.
Thanks!
17. April 2008 um 12:30
@Marco Luthe: Ist nut auskommentiert, da es bei vielen Anwendern nur Verwirrung stiftet. Sollte ich veilleicht hinzu schreiben.
27. April 2008 um 23:17
12. September 2008 um 18:03
Komisch, hab alles so gemacht wie beschrieben, aber der cache Ordner bleibt leer
Und das mit wp 2.6.1 !? LG aus Berlin
13. September 2008 um 11:53
@Daniel: Ab Version 2.5 wird der Ordner nicht mehr benötigt, siehe Artikel WP 2.5 Cache
20. November 2008 um 17:24
Hallo Frank,
ich bin auf wp 2.2. und habe das Plugin aktiviert. Sobald ich bei den Einstellungen etwas ändere, kommen diverse Fehlermeldungen, wenn ich nach der Änderung auf die Startseite gehe.
Nach dieser Fehlermeldung auf allen Seiten habe ich das Plugin vom Server genommen:
Fatal error: Call to undefined function is_ssl() in /homepages/xx/dxxxx/htdocs/xxxx/wp-content/plugins/wp-cache-inspect/wp-cache-inspect.php on line 171
Viele Grüße
Rita
21. November 2008 um 10:29
@Rita: versuche es mal jetzt. Sollte es nun in 2.2 nicht gehen, dann werden dort keine eigenen Felder in den Rollen genutzt und dazu müsste ich recht viel umbauen - sonderliches Interesse habe ich daran nicht.
Ich habe gerade keine 2.2 laufen, nur 2.0 und 2.3
9. Januar 2009 um 19:52
Hab cache inspect mal ausprobiert. Danke für den Tip! war sehr nützlich.
10. Februar 2009 um 20:50
Ich bin seit langein paar negativen Erfahrungen sehr skeptisch in Bezug auf die verschiedenen Cache-Lösungen geworden. Irgendwie ist immer der Cahe das Problem, wenn die Seite mal nicht wieder will. Zuletzt mit WP Supercache so gewesen. Erst das komplette Löschen des Plugins half wieder.
Warum bringt es WordPress nicht fertig eine eigene Cache-Lösung zu implementieren ? Funktioniert in Joomla doch auch ?
11. Februar 2009 um 08:13
@Yuppie: WordPress hat einen "eigenen" Cache, wobei nur der RAM des Server genutzt wird. Dies hat Gründe, denn so werden alle Lösungen und Möglichkeiten auf den Server ausgelagert, was immer besser ist. Mein Plugin optimiert nur diesen Cache, heist ich stoße Funktionen von WP an, wenn bestimmte Ablaufe starten, so dass er auch dann leer ist, wenn er im Standard noch aktiv wäre - typ. Beispiel sind Kommentare.
11. Februar 2009 um 11:12
@Frank: Stimmt, das habe ich in meinem Ärger gar nicht mitbekommen. Bei meinen Tests mit den internen Cache hatte ich mich auch erst gewundert, warum nichts in den cache-Ordner geschrieben wird. Klar: RAM-Caching!
14. Mai 2010 um 04:13
Hallo Frank, mein Problem ist die Rotation im Header. Besteht die Möglichkeit für diesen Bereich (vielleicht mit einer Funkition umschließen) das Cachen zu deaktivieren? Die Rotation hat ja seinen Sinn nur funktioniert sie natürlich nicht beim Cachen.
LG, René
28. Mai 2010 um 18:07
Seit ich das in die datei eingetragen habe geht bei mir nichts mehr, na super. sehe jetzt immer diersen fehler Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/vhosts/meinetechwelt.net/httpdocs/wp-config.php:1) in /var/www/vhosts/meinetechwelt.net/httpdocs/wp-content/plugins/si-contact-form/si-contact-form.php on line 885
Springe zu Beiträge
Und in mein Admin Menü komme ich auch nicht mehr rein.
28. Mai 2010 um 19:32
@Martin: die Fehlermeldung sagt doch einiges, das Plugin SI Contact Form arbeitet mit Sessions und damit kann man nicht einfach den Cache umbauen. Aber eigentlich muss man auch nichts eintragen, sondern nur das Plugin nutzen, wenn man mag. Der obige Eintrag ist hinfällig, da seit WP 2.8 der Cache immer aktiv ist.
28. Mai 2010 um 19:45
Habe ein Backup der Datei zurück gespielt und jetzt funktioniert wieder alles ohne Fehlermeldung. Das Plugin habe ich auch wieder gelöscht wenn man es eh nicht mehr braucht.
28. Mai 2010 um 21:13
@Martin: nicht das Plugin, den Codeschnippsel in der wp-config.php braucht man nicht mehr. Das Plugin hat weiter seine Berechtigung, wenn man den Cache von WP kontrollieren will.
28. Mai 2010 um 22:09
Dachte ab WP 2.8 ist das eh automatisch dabei?
28. Mai 2010 um 23:28
@Martin: der Cache ja, aber die Kontrolle über den Cache nicht - das bringt das Plugin
29. Mai 2010 um 07:30
Ok habe es wieder installiert und läuft auch aber so ganz verstehe ich das Plugin nicht. Habe die Standard Settings mal gelassen aber was genau macht das Plugin den bei den ganzen Seiten steht false, was für mich bedeutet das nichts gecacht wird??
31. Mai 2010 um 14:29
@Martin: das Plugin leert bzw. baut den Cache neu auf, an ganz bestimmten Punkten wie zum Beispiel nach dem Freischalten eines Kommentars. WP macht das im Standard nicht, es läßt den Inhalt des Cache neu schreiben im Intervall. Ebenso gibt das Plugin einen Zugriff auf das neu Setzen des Cache, wenn man mag. Dafür gibt es den Link im Footer, Frontend oder über die Quicknavi.
17. August 2010 um 21:25
define('ENABLE_CACHE', true); funktioniert AFAIK nicht mehr.
18. August 2010 um 10:28
@MacMacken: der Cache ist seit WP 2.8 immer aktiv, die Konstante ist hinfällig; das Plugin optimiert lediglich das Verhalten des Cache.