Seit dem Update auf WordPress 6.1 steht in den Empfehlungen zum Website-Zustand oftmals der Hinweis „Du solltest einen persistenten Objekt-Cache verwenden“ zur Verbesserung.

automatisch gespeicherter entwurf persistent object cache meldung x
Persistent Object-Cache Meldung im WordPress-Backend

Was bedeutet persistenten Objekt-Cache konkret?

Laut WordPress.org: Ein persistenter Objekt-Cache hilft, die Ladezeiten von Seiten zu verkürzen, indem er dem Webserver Wege zur Datenbank erspart. Es müssen beispielsweise die Optionsdaten der Website bei jedem Seitenaufruf verfügbar sein. Ohne einen persistenten Objekt-Cache muss der Webserver diese Optionen bei jedem Seitenaufruf aus der Datenbank lesen. Diese zusätzlichen Zugriffe auf die Datenbank verlangsamen die Antwortzeiten des Webservers (TTFB) und können den Datenbankserver bei Verkehrsspitzen überfordern.

Damit die Website das Caching von persistenten Objekten nutzen kann, muss der Hosting-Provider Dir einen Cache-Server zur Verfügung stellen. Beliebte Cache-Server sind Redis, Memcached, APCu, OpCache, neuerdings auch Litespeed-Cache.

Memcached Object Cache

Bietet ein persistentes Backend für den WordPress-Objekt-Cache. Ein Memcached-Server und die PECL Memcached-Erweiterung sind erforderlich.

Redis Object Cache

Bietet ein konsistentes Redis-Objekt-Cache-Backend für WordPress, das mit verschiedenen Redis-Clients funktioniert. Ein Redis Server ist erforderlich.

Redis ist eine Speicher-Caching-Software, die z.B. auf dem beliebten Webhoster Cloudways läuft. Es kann verwendet werden, um die Backend-Leistung Deiner WordPress-Website zu beschleunigen, indem Datenbankabfragen und andere Objekte zwischengespeichert werden.

Dazu wird unter Anderem in der WP-Config ein Key Salt gesetzt.

define( 'WP_CACHE_KEY_SALT', 'deine-domain.de' );

Wie Redis Object Caching für WordPress auf der Cloudways Hosting-Plattform eingerichtet wird, siehst Du auf folgendem Video.

WordPress Plugins

Hier eine Auswahl von persistent Object-Cache Plugins zur Unterstützung, Aktivierung und Konfiguration.

Wie ich nachgucken, ob WordPress den php opcache auch nutzt?

OPcache ist seit einigen PHP-Versionen standardmäßig dabei und auch aktiviert. Wenn OPcache aktiviert ist, werden alle PHP-Scripte automatisch (in den Grenzen der konfigurierten Cache-Parameter natürlich) gecached, also benutzt WordPress den automatisch. Den aktuellen Status kannst Du Dir mit der PHP-Funktion opcache_get_status() ausgeben lassen, die entweder ein Array mit Informationen zum Cache oder den Wert false zurückliefert.

Am einfachsten schreibst Du Dir eine PHP-Datei mit folgendem Inhalt:

<?php
$data = opcache_get_status();
var_dump($data);
?>

Die Meldung Persistent Object-Cache kann ignoriert werden

Aus folgenden Gründen:

  • wenige Anwender werden dies wirklich benötigen
  • falsch konfiguriert kann das ein großes Sicherheitsrisiko darstellen
  • macht nicht unbedingt jede Webseite schneller

Solltest ist daher nur eine Empfehlung von WordPress (Automattic). Die Webseite läuft auch ohne Object-Cache problemlos.

OPCache wäre beispielsweise ein nicht persistenter Objekt-Cache und haben bereits die meisten Hoster aktiv. Was Automattic meint ist aber eher Redis und Memcached. Beides spezielle Server-Software und nicht unbedingt notwendig.

Wenn man den Object-Cache falsch konfiguriert, hat man schnell ein unschönes Datenleck (darüber sind schon große Onlineshops gestolpert, wo nach einem Login dann fremde Kundendaten zu sehen waren) und man kann mangels Erfahrung den Object-Cache so unsicher einrichten, dass jeder über bestimmte Ports alle Daten einfach auslesen kann.

Vor allem kann es auch Seiten langsamer machen, wenn man sich ein Plugin installiert, was nicht gut mit Object Caches umgehen kann.

Object Caches lohnenswert?

Object Caches lohnen nur, wenn man genau weiss was man tut, brauchen aktive Pflege, wenn sie wirklich was bringen sollen und können zudem zu Problemen führen. 

Die Meldung „Du solltest einen persistenten Objekt-Cache verwenden“ im WordPress-Backend deaktivieren

Die Meldung taucht unter Werkzeuge > Website-Zustand auf und kann per site_status_should_suggest_persistent_object_cache Filter deaktiviert werden.

Dazu in der functions.php Deines aktiven Themes folgenden Code einsetzen:

add_filter('site_status_should_suggest_persistent_object_cache', '__return_false');

Remove Object Cache Warning Plugin

Wir haben in GitHub den oberen Befehl in ein Plugin gepackt, sollte dies für Dich einfacher sein. Beim Klick auf das Bild, wird die aktuellste Version heruntergeladen:

wordpress meldung persistenten objekt-cache remove object cache plugin persistenten objekt-cache

Du möchtest die Geschwindigkeit erhöhen?

12 Kommentare

  1. Ralph 11. Januar 2023 at 21:09 Antworten

    Hallo Joel,

    ich verwende Avada – damit geht /** Persistenter Objektcache Warnung aus. */
    add_filter(’site_status_should_suggest_persistent_object_cache‘, ‚__return_false‘);
    jedenfalls nicht.

    Hast Du netterweise einen Tipp auf Lager?

    Nette Grüße
    Ralph

    1. Joel Burghardt 12. Januar 2023 at 8:22 Antworten

      Hallo Ralph,

      in deinem Code sind die Hochkommas mE falsch.
      add_filter('site_status_should_suggest_persistent_object_cache', '__return_false');

      Ansonsten sollte es nicht am Theme liegen, solange du in der function.php den Code ordentlich einbaust. Hilft unser Plugin?

      Lieben Gruß
      Joel

  2. Bernhard Dinger 12. Januar 2023 at 16:49 Antworten

    Mir hat Deine Antwort und der Code sehr gut geholfen.

    Vielen Dank für Deine Mühe, jetzt wird das nicht mehr angezeigt.

    1. Joel Burghardt 12. Januar 2023 at 16:49 Antworten

      Lieber Bernhard,

      vielen Dank für das positive Feedback und weiterhin viel Erfolg!

      Lieben Gruß
      Joel

  3. Alan 13. Januar 2023 at 19:09 Antworten

    Wo genau muss man den Code in function.php einfügen? Vielen Dank im Voraus…

    1. Joel Burghardt 14. Januar 2023 at 11:51 Antworten

      Ans Ende der Function.php – falls Du dies noch nie gemacht hast lieber das Plugin nutzen.

  4. Ralph 2. April 2023 at 15:57 Antworten

    Hallo Joel,

    danke für die Antwort. Euer Plugin habe ich gar nicht benutzt, sondern den Befehl direkt in die functions.php gepackt. Hoffe, dass er das nächste Update überdauert.

    Grüße
    Ralph

    1. Joel Burghardt 4. April 2023 at 10:22 Antworten

      Wird es, solange du ein Child-Theme nutzt 🙂 Andernfalls kann es bei einem Update überschrieben werden.

  5. Ralph 9. August 2023 at 15:15 Antworten

    Hallo Joel,

    Dein tipp mit dem Hochkomma war richtig. Vielen Dank!

    LG
    Ralph

    1. Joel Burghardt 10. August 2023 at 10:30 Antworten

      Das freut mich! Weiterhin viel Erfolg

  6. Ralph 1. Dezember 2023 at 2:07 Antworten

    add_filter(’site_status_should_suggest_persistent_object_cache‘, ‚__return_false‘);

    Vielen Dank hierfür – diese Warnung nervt einfach

    1. Joel Burghardt 1. Dezember 2023 at 9:05 Antworten

      Hallo Ralph, sehr gerne!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert