Von Oliver Vogel veröffentlicht am 13. März 2017
Dieser Beitrag beschreibt die Vorteile eines echten Cronjobs für WordPress und wie dieser in einer “normalen” Single-Site Installation eingerichtet wird. Falls Sie eine WordPress Multisite Installation haben, dann lesen Sie bitte diesen Beitrag: “Einrichten eines echten Cronjobs für WordPress Multisite”.

Warum?

Immer wenn wir unseren Kunden raten, einen “echten” Cronjob für WordPress einzurichten um die Performance Ihres Internet-Auftritts zu erhöhen werden wir nach dem “Warum?” gefragt. Deshalb möchten wir dies hier an erster Stelle gleich beantworten… Ja, WordPress hat ein internes System zum Ausführen von Cronjobs und dies Funktioniert “out of the box”, d.h. ohne weiteres Zutun Ihrerseits (oder unsererseits ;-). Das klingt zuerst einmal gut, hat aber leider auch einen großen Nachteil. Damit dieses System ohne weitere Einstellungen sofort und überall funktionieren kann muss es zwangsläufig auf den kleinsten gemeinsamen Nenner aufbauen – und das ist: “Es gibt KEINE Cronjobs”. Da das sehr verwirrend klingt kommt die Auflösung gleich hinterher. Es gibt kein System auf dem Server, dass in der Lage ist, ein spezielles Script zu einer speziellen Uhrzeit (oder einem speziellen Intervall) auszuführen. Deshalb muss WordPress einen Trick anwenden: Immer dann wenn ein Besucher eine Seite in WordPress aufruft sieht das System nach, ob es einen (pseudo) Cronjob gibt, der ausgeführt werden muss. Wenn dies der Fall ist, wird er gestartet. Und damit dürften auch sofort die Nachteile dieser Lösung klar auf der Hand liegen:

  1. Sollte kein Besucher (oder keine Suchmaschine, die auch als Besucher gehandhabt wird) die Seite aufrufen, so kann auch kein Cronjob ausgeführt werden (oder erst sehr verzögert, sobald wieder ein Besucher kommt).
  2. Sollte der Internet-Auftritt viele Besucher haben, so wird die Überprüfung des Cronjobs jedes mal (und damit unnötig oft) aufgerufen. Dies kostet unnötig Performance, die anderweitig verwendet werden könnte.

Für wen lohnt sich die Einrichtung eines Cronjobs

Ob sich die Einrichtung für Sie lohnt erkennen Sie anhand folgender Punkte:

  • Wie viele Besucher hat Ihr Internet-Auftritt
  • Haben Sie zeitkritische Cronjobs in Ihrem System

Bei wenigen Besuchern (max. 50 – 100 am Tag) und ohne zeitkritische Cronjobs gibt es keine Notwendigkeit der Einrichtung. Bei mittleren Besucherzahlen (100 – 500 am Tag) können Cronjobs eingerichtet werden, müssen aber nicht Bei wenigen Besuchern ( max. 50 – 100 am Tag) und zeitkritischen Cronjobs raten wir zur Einrichtung echter Cronjobs Bei vielen Besuchern ( > 500 Tag ) raten wir zur Einrichtung

Einrichtung des echten Cronjobs

Nachdem Sie nun wissen, ob und warum Sie einen echten Cronjob einrichten sollten, zeigen wir Ihnen wie…

Deaktivierung des integrierten Cronjobs

Für die Steuerung der Ausführung des integrierten Cronjobs ist die Datei wp-config.php zuständig (nicht zu verwechseln mit der Datei wp-config-sample.php) Diese Datei befindet sich im Stammordner der WordPress Installation und kann mit jedem beliebigen Texteditor wie z.B. Notepad++ (nicht Word!) bearbeitet werden. Fügen Sie in diese Datei (am Besten direkt über der Zeile mit dem Kommentar /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß beim Bloggen. */) folgende Zeilen ein:

/* Abschalten des internen Cronjobs */
define('DISABLE_WP_CRON', true);

Diese Zeile schaltet den internen Cronjob ab und verhindert damit gleichzeitig, dass bei jedem Aufruf einer Seite unnötig Performance verbraucht wird.

Einrichten eines “echten” Cronjobs

Diese Anleitung bezieht sich auf eine “normale” WordPress Installation (wie Sie wohl in 98% aller Fälle  vorliegt). Sollten Sie eine WordPress Multisite Installation haben, so ignorieren Sie bitte den folgenden Text und lesen bitte stattdessen unseren Beitrag  “Echter Cronjob für WordPress Multisite”. Sollten Sie nicht wissen, wovon wir gerade reden haben Sie eine “normale” WordPress Installation 😉
Sofern Ihr Web-Hoster echte Cronjobs anbietet, können Sie nun die Datei wp-cron.php (befindet sich im Stammordner Ihrer WordPress Installation) über einen echten Cronjob aufrufen. Wie genau Sie einen solchen echten Cronjob bei Ihrem Web-Hoster einrichten, würde den Rahmen dieses Beitrags sprengen. In der Regel stellt Ihnen Ihr Hoster dafür einen Menüpunkt innerhalb seines Konfigurations-Menüs zur Verfügung. Meist muss dann in einer Maske eingegeben werden, wie oft der Cronjob aufgerufen werden soll (das Intervall) und was passieren soll. Im Folgenden zwei Fenster, die zeigen, was bei uns eingegeben werden muss. (Der Eintrag “Alle 2 Stunden” ist entsprechend Ihren Anforderungen anzupassen…)