Cache füllen (Preload) funktioniert nicht

Falls das Füllen des Cache (Preload) durch WP Rocket nicht zu funktionieren scheint, überprüfe zuerst, ob im Cache-Verzeichnis neue Dateien erscheinen, nachdem du das Cache-füllen-Button gedrückt hast.

Überprüfen, ob Dateien im Cache generiert werden

Navigiere mithilfe des File Managers in cPanel, oder einem FTP-Client zu diesem Ordner:

wp-content/cache/wp-rocket

In diesem Ordner solltest du einen weiteren Unterordner finden, der wie deine Domain heisst. In unserem Beispiel heisst er: your-domain.com

Innerhalb dieses Ordners siehst du die Dateien deiner gecachten Seiten.

Nun klicke den Link Cache füllen im Toolbar-Menü von WP Rocket. Warte einen Moment, dann aktualisiere die Ansicht deines Cache-Ordners. Du solltest dort sehen, dass neue Dateien hinzugefügt, oder existierende erneuert wurden (siehe Datum).

Hinweis: Unser Preload-Bot besucht deine Startseite, sowie alle dort verlinkten internen URLs. Seiten und Beiträge, die nicht auf deiner Startseite verlinkt sind, werden nicht durch unseren Bot besucht und landen erst im Cache, sobald sie von realen Besuchern oder Suchmaschinen aufgerufen werden.

Probleme mit dem Preload-Bot beheben

Falls du nach dem Klick auf Cache füllen keine Aktualisierung der gecachten Dateien feststellen kannst, gehe wie folgt vor:

1

Überprüfe deine robots.txt-Datei


WordPress generiert eine „virtuelle“ robots.txt, die du nicht im Dateisystem des Servers findest, aber im Browser betrachten kannst: http://your-domain.com/robots.txt (natürlich musst du „your-domain.com“ mit deiner Domain ersetzen).

Falls du die folgenden Zeilen in der Datei siehst, werden alle Bots, auch unser Preload-Bot, auf deiner Site geblockt und haben keinen Zugang:

User-agent: *
Disallow: /
	

In diesem Fall müsstest du, damit unser Preload-Bot wie vorgesehen arbeiten kann, deine Site für Bots allgemein zugänglich machen, indem du unter Einstellungen → Lesen die Option Sichtbarkeit für Suchmaschinen deaktivierst:

Sofern du eine eigene („physische“) robots.txt verwendest, kannst du mit dem folgenden Snippet speziell den Preload-Bot zulassen, während andere Bots angewiesen werden, außen vor zu bleiben:

User-agent: wprocketbot
Allow: /
	

Für weitere Informationen zur robots.txt-Datei besuche: https://wiki.selfhtml.org/wiki/Grundlagen/Robots

2

Überprüfe die Zugriffsprotokolle (access logs) deiner Website

In den Zugriffsprotokollen für deine Website kannst du nachvollziehen, ob unser Preload-Bot versucht hat, deine Site zu aufzurufen. Wie genau du an deine Zugriffsprotokolle gelangst, ist von Host zu Host verschieden. Manchmal findest du sie via FTP, oder im cPanel, oder es gibt eine spezielle Benutzeroberfläche für Statistiken – am besten, du fragst direkt bei deinem Webhosting-Provider nach. Hier sind ein paar Anleitung beliebter Hosts:

Die Zugriffsprotokolle kannst du in einem Texteditor öffnen; z.B. Sublime Text (Windows and Mac), oder Notepad++ (Windows). Auf einem Mac kannst du dafür auch den Terminal nutzen.

Öffne eine Log-Datei und suche nach: wprocketbot
Das Ergebnis sieht etwa so aus:

In diesem Beispiel funktioniert der Preload-Bot korrekt. Du siehst GET (rot), gefolgt von der relativen URL der besuchten Seite, wiederum gefolgt von einem HTTP-Statuscode (grün). Der Statuscode 200 bedeutet, dass der Bot erfolgreich auf deine Website zugegriffen hat: dein Cache wurde erneuert.

3

Den Preload-Bot whitelisten

In seltenen Fällen möchtest du vielleicht speziell unserem Preload-Bot Zugriff auf deine Website gewähren, während du andere Bots hart ausschließt. Die IP-Adressen für deine Whitelist lauten in diesem Fall:

167.114.255.163
167.114.238.112
167.114.236.135
167.114.234.234
4

Server-Antwortzeit überprüfen

Unser Preload-Bot hat ein Timeout von 2 Sekunden. Dies bedeutet, dass er 2 Sekunden wartet, dass dein Server auf seine Anfrage reagiert. Wenn der Server in dieser Zeit nicht reagiert, verlässt unser Bot deine Website wieder, und dein Cache wird nicht neu befüllt.

Um die Reaktionszeit des Servers zu überprüfen, kannst du einen cURL-Befehl benutzen (in einer Kommandozeilen-Anwendung wie Terminal für Mac, oder cmd.exe für Windows). Gib den folgenden Befehl ein (natürlich musst du example.com mit deinem eigenen Domain-Namen ersetzen):

curl -o /dev/null -s -w %{time_total}\\n  http://example.com
	

Mögliche Fehler

In diesem Beispiel konnte unser Bot die Website nicht besuchen. Die in Grün unterstrichenen Statuscodes haben folgende Bedeutung:

  • 301: Eine Weiterleitung hindert den Bot daran, auf die Seite zuzugreifen.
  • 404: Eine Seite fehlt bzw. kann unter dieser URL nicht gefunden werden; wiederum kann der Bot nicht auf die Seite zugreifen.

In fast allen Fällen weist ein anderer Statuscode als 200 auf ein Problem deiner Website hin, das du lösen musst, damit der Preload-Bot auf deine Site zugreifen und den Cache füllen kann.
Eine Liste der üblichen HTTP-Statuscodes und ihrer Bedeutung findest du hier:
Wikipedia, HTTP-Statuscode

Falls du einen Statuscode von 500 oder höher siehst, oder sonst eine spezifischen Server-Fehlercode, bedeutet das meistens, dass dein Server mit der Frequenz der Zugriffe durch den Bot Probleme hat. Das kann zum Beispiel dann passieren, wenn sich auf deiner Startseite eine Menge Links befinden. Die Lösung besteht wahrscheinlich darin, die CPU-Kapazität deines Servers, oder das PHP-Memory-Limit zu erhöhen. Du kannst uns in so einem Fall aber auch gerne kontaktieren, dann stellen wir den Bot für dich ab.

Achtung! Falls du deine Site mithilfe eines Plugins in den Wartungsmodus versetzt hast, oder einen Splash Screen vorgeschaltet hast, können diese den Preload-Bot ebenfalls davon abhalten, auf deine Website zuzugreifen und den Cache zu füllen.

Wenn deine Zugriffsprotokolle keinerlei Zugriffsversuche unseres Bots aufzeigen, könnte es ein Problem auf unserer Seite geben. Schreibe uns in so einem Fall bitte eine Support-Nachricht.

Gleich, ob das Problem auf deiner, oder auf unserer Seite zu lokalisieren ist, es ist für uns in jedem Fall sehr hilfreich, wenn du deiner Support-Nachricht deine Logfiles hinzufügst.