Echten Cronjob für WordPress erstellen

WordPress nutzt intern einen Pseudo-Cronjob, um zyklisch auszuführende Aufgaben zu bearbeiten. Eine solche Aufgabe ist beispielsweise das Prüfen, ob Updates bereitstehen.

Der Pseudo-Cronjob wird dann ausgeführt, wenn ein Besucher die Website besucht und WordPress in diesem Zuge feststellt, dass der Cronjob mal wieder ausgeführt werden sollte. Der entsprechende Besucher leidet dann unter einer langsamer reagierenden Website. Bei kleinen und mittleren Websites ist dies kein Problem, bei größeren Installationen kann es sich hingegen bemerkbar machen.

Um dem entgegenzuwirken hilft, den Cronjob in einen echten Cronjob umzuwandeln. Dabei muss in der wp_config.php folgender Eintrag hinzugefügt werden:

define('DISABLE_WP_CRON', true);

Der Eintrag bewirkt, dass der WordPress-interne Pseudo-Cronjob deaktiviert wird. Nachdem jetzt aber überhaupt keine zyklische Ausführung der Aufgaben mehr stattfindet, muss ein normaler Cronjob angelegt werden. Wie das grundsätzlich funktioniert steht hier beschrieben.

Die Standardwerte für Cronjobs innerhalb von WordPress sind:

  • hourly (stündlich)
  • twicedaily (2x am Tag)
  • daily (täglich)

Sinnvollerweise sollte der Cronjob daher mehr als stündlich ausgeführt werden. Im Regelfall wähle ich 15 Minuten als Ausführungsintervall. Der Cronjob selbst muss dann die URL http://example.com/wp-cron.php aufrufen, wobei natürlich das example.com durch die gewünschte URL ersetzt werden muss.

Somit sind alle notwendigen Änderungen durchgeführt, um den WordPress-internen Cronjob zu deaktivieren und durch einen „externen“ Cronjob zu ersetzen.

Schreibe einen Kommentar