Zurück   WordPress Deutschland Forum > Support > Konfiguration

Antwort
 
Themen-Optionen Ansicht
Alt 08.04.2008, 14:24   #1 (permalink)
PostRank: 5
 
Benutzerbild von Johannes Ries
 
Registriert seit: 28.02.2005
Beiträge: 300
Cache-Problem - Nutzer sehen nicht die aktuelle Version der Website

Auf der Website edd - entdecke dein dekanat nutze ich WordPress als CMS. Seit längerer Zeit berichten mir Nutzer, dass es zu folgendem Problem kommt:
- auf der Startseite werden nicht die aktuellen, sondern veraltete Beiträge angezeigt
- auch auf anderen Seiten werden z.B. die neuesten Kommentare nicht angezeigt

Mittlerweile habe ich im head-Bereich <meta name="expires" content="0"> gesetzt und auch die interne Caching-Funktion von WordPress angewiesen, die Seiten nur für einige Stunden zu cachen. Die Nutzer berichten jedoch, dass neue Artikel über Wochen nicht angezeigt werden. Bei einigen funktioniert es wieder, wenn sie den Internetcache leeren, aber das ist ja keine Lösung, wenn ich für die Nutzung einer Website immer den Cache leeren muss. Bei einigen funktioniert es nicht mal nach Leerung des Cache korrekt.

Das Problem besteht übrigens seit Dezember 2007. Die Seite nutzt immer die aktuellste Version von WordPress, gegenwärtig 2.5. Das Problem besteht etwa seit WordPress 2.3.

Kennt jemand die Problematik, oder hat jemand noch eine Idee, die mir weiterhilft?!
__________________
METAFAKTEN // Netzgeschehen und freie Software

Geändert von Johannes Ries (08.04.2008 um 14:32 Uhr).
Johannes Ries ist offline   Mit Zitat antworten
Alt 08.04.2008, 17:26   #2 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
Die Seite sendet einen falsches Datum im Response-Header:
Code:
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified: Sun, 19 Nov 2006 06:56:06 GMT
Das hat zur Folge, daß der Browser, beim nächsten Aufruf den Server mit
Code:
If-Modified-Since: Sun, 19 Nov 2006 06:56:06 GMT
das nächste mal den Server befragt, der aber mit
Code:
HTTP/1.x 304 Not Modified
antwortet.
Warum das so ist, ist schwer nachvollziehbar. Verwendest Du irgendein WP-Cache-Plugin?
Ansonsten könntest Du versuchsweise mal folgende Zeile ganz am Anfang noch vor dem '<!DOCTYPE html PUBLIC...' in der Datei header.php des Themes einfügen:
PHP-Code:
<?php nocache_headers(); ?>
Davor oder danach dürfen keine Leerzeilen oder Leerzeichen stehen.

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)
Putzlowitsch ist offline   Mit Zitat antworten
Alt 09.04.2008, 09:38   #3 (permalink)
PostRank: 5
 
Benutzerbild von Johannes Ries
 
Registriert seit: 28.02.2005
Beiträge: 300
Hallo Ingo,
danke für deine ausführliche Antwort. Ich verwende kein WP-Cache-Plugin.

Auf den Response-Header zu schauen habe ich noch gar nicht in Betracht gezogen. Danke für den Wink. Ich habe jetzt mal den nocache-Befehl mal eingefügt - aber der bringt nur was bei WP-Cache-Plugins was, oder?

Im Moment bekomme ich:
Code:
Last-Modified: Wed, 09 Apr 2008 07:28:55 GMT
Wäre zu beobachten, ob sich das Problem gelöst hat?!

Vielen Dank aufs erste
Johannes
__________________
METAFAKTEN // Netzgeschehen und freie Software
Johannes Ries ist offline   Mit Zitat antworten
Alt 09.04.2008, 09:47   #4 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Zitat:
Zitat von Johannes Ries Beitrag anzeigen
Im Moment bekomme ich:
Code:
Last-Modified: Wed, 09 Apr 2008 07:28:55 GMT
Sieh nach den Cache-Headern:
Code:
Cache-Control:	no-cache, must-revalidate, max-age=0	
Expires:	Wed, 11 Jan 1984 05:00:00 GMT	
Pragma:	no-cache
Zitat:
Wäre zu beobachten, ob sich das Problem gelöst hat?!
Ja. Dafür wirst du jetzt sicher einen ziemlichen Anstieg des Website-Datenaufkommens beobachten, da die Daten eben nicht mehr aus dem Cache kommen, sondern jedesmal neu von deiner Seite geladen werden.
marX ist offline   Mit Zitat antworten
Alt 09.04.2008, 09:52   #5 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
Die nocache_headers()-Funktion hat nichts mit WP-Cache-Plugins zu tun.
Code:
Last-Modified: Wed, 09 Apr 2008 07:28:55 GMT
sieht doch erstmal gut aus
Allerdings ist das nur ein Workaround, damit wird zwar die Auswirkung "bekämpft", aber die Ursache bleibt leider im Dunkeln. Konkret stellt sich halt die Frage, wer oder was eigentlich das falsche Last-Modified setzt.

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)
Putzlowitsch ist offline   Mit Zitat antworten
Alt 09.04.2008, 09:58   #6 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
Zitat:
Zitat von marX Beitrag anzeigen
Ja. Dafür wirst du jetzt sicher einen ziemlichen Anstieg des Website-Datenaufkommens beobachten, da die Daten eben nicht mehr aus dem Cache kommen, sondern jedesmal neu von deiner Seite geladen werden.
Bei WP werden die Seiten, von Feeds mal abgesehen, grundsätzlich nicht aus dem Cache geladen, weil der Last-Modified Wert normalerweise ganz fehlt. Besser wäre also wahrscheinlich, die Werte anstelle des Aufrufes von nocache_headers() einfach zu löschen:
PHP-Code:
<?php
  
@header('Expires:'); 
  @
header('Last-Modified:'); 
  @
header('Cache-Control:'); 
?>
Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)

Geändert von Putzlowitsch (09.04.2008 um 10:08 Uhr).
Putzlowitsch ist offline   Mit Zitat antworten
Alt 09.04.2008, 10:05   #7 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
Ich vermute aber eher, das der Server/PHP beim Fehlen der Werte für "Expires" und "Last-Modified" diese selber setzt. Und zwar auf das Datum der index.php im WP-Wurzelverzeichnis (diese wird ja aufgerufen). Oder es ist ein großer Zufall, daß diese Datei index.php als Dateidatum den 19.11.2006 07:56 hat, zumindest wird das bei mir lokal so angezeigt

Nachtrag: Oder anders herum. Also der Server setzt im Response-Header zunächts die Werte, z.B. Last-Modified auf das Dateidatum der aufgerufenen index.php. Da WP diese Werte normalerweise nicht ändert, bleiben sie also so stehen. Es könnte also doch funktionieren, wenn man diese einfach am Anfang der header.php wieder zurücksetzt.

Es dürfte sich also um ein Konfigurationsproblem von Server/PHP handeln.

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)

Geändert von Putzlowitsch (09.04.2008 um 10:15 Uhr).
Putzlowitsch ist offline   Mit Zitat antworten
Alt 09.04.2008, 10:18   #8 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Zitat:
Zitat von Putzlowitsch Beitrag anzeigen
Bei WP werden die Seiten, von Feeds mal abgesehen, grundsätzlich nicht aus dem Cache geladen, weil der Last-Modified Wert normalerweise ganz fehlt.
Ist mir klar. Ist ja bei dynamischen Seiten mit ständig geänderten Inhalten auch okay. Und statische Inhalte wie Bilder sollten ja trotzdem aus dem Cache kommen. (OT: Aber warum setzt man den "Last-modified"-Header zwar bei Feeds, aber nicht bei den normalen HTML-Seiten?)

Ich wollte oben noch dazu schreiben, dass das eben nur die Smptome bekämpft aber nicht die Ursache. Wollte aber den OP nicht verwirren.

PS: Wenn mod_headers verfügbar ist kann man die HTTP-Header vielleicht auch in der .htaccess setzen.
marX ist offline   Mit Zitat antworten
Alt 09.04.2008, 10:26   #9 (permalink)
PostRank: 10
 
Benutzerbild von Putzlowitsch
 
Registriert seit: 21.10.2006
Beiträge: 2.107
Bei Feeds ist das einfach, da kann WP direkt aus der Datenbank auslesen, wann es die letzte Änderung gab. Bei den Seiten selber allerdings nicht, gerade wegen einer Vielzahl möglicher dynamischer Inhalte, die irgendwo in der Sidebar oder sonstwo im Theme oder über Plugins eingefügt sein können.

Ich denke mal, das die Variante mit dem Löschen der Header in der header.php am paraktikabelsten ist, wenn sie funktioniert. Nur als Workaround versteht sich, der eigentlichen Ursache sollte man schon auf die Schliche kommen.

Gruß
Ingo
__________________
putzlowitsch.de WP 2.1.3 bei All-Inkl und Strato (schnurpsel.de)
Putzlowitsch ist offline   Mit Zitat antworten
Alt 09.04.2008, 10:39   #10 (permalink)
WPD-Team
 
Benutzerbild von marX
 
Registriert seit: 05.10.2006
Beiträge: 8.025
Stimmt, denken wir nur mal an ein "User online:"-Plugin.
marX ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | Ein Inpsyde.com Projekt