Search
Generic filters
Exact matches only
Filter by Custom Post Type

Lösungen für WordPress Cron Probleme (WP-Cron)

Lesezeit ca. 4 Minuten

Wie auch andere, vergleichbare Softwareprodukte bringt WordPress sein eigenes Cron-System mit. Dieses sorgt dafür, dass Aufgaben regelmäßig oder zu bestimmten Zeitpunkten ausgeführt werden — zumindest wenn alles gut geht. Und genau das ist das Problem.

Es gibt zwei wichtige Gründe warum geplante Beiträge oder andere Aufgaben in WordPress nicht zu dem Zeitpunkt ausgeführt werden, für den sie geplant waren. Um das zu erklären sollten wir kurz ausführen wie das WP-interne Cron-System funktioniert.

So funktioniert die eingebaute Cron-Funktion von WordPress

WordPress selbst pflegt in seiner Datenbank eine Liste an Aufgaben (Tasks), die regelmäßig oder zu einem bestimmten Zeitpunkt ausgeführt werden sollen. Dazu gehört z.B. das geplante Veröffentlichen eines Beitrags, aber auch weniger sichtbare Tätigkeiten wie bestimmte Wartungsaufgaben im Hintergrund. Diese Liste prüft WordPress immer wenn eine Seite aufgerufen wird auf Aufgaben die jetzt zu erledigen sind, in dem es die Systemzeit mit der für die Aufgabe hinterlegten Zeit überprüft. Ist eine oder mehrere Aufgaben fällig, werden diese alle während des Aufrufens dieser einen Seite ausgeführt. Dieser eingebaute Cron nennt sich WP-Cron.

Problemsituationen mit WP-Cron

Nun wird relativ einfach klar, dass die Ausführung dieser Tasks vom Aufrufen einer Seite abhängt. Wenn also bei einem wenig frequentierten Blog eine Aufgabe für Nachts um 2 Uhr geplant ist, kann es schon mal passieren, dass bis morgens um 7 niemand vorbei kommt und eine Seite abruft. Damit wird auch die Aufgabe nicht ausgeführt.

Ähnliche Probleme können beim Einsatz von Caching-Plugins auftreten, da diese die Ausgabe der Seite zur Beschleunigung derselben in fertiger Form ablegen und nicht bei jedem Aufruf alle WordPress-Funktionen ausführen. Das ist ganz normal und ist ein Grund warum sich die Seite damit schneller abrufen lässt. Für den WP-Cron ist das natürlich von Nachteil.

Lösungen für Probleme mit WP-Cron

Die einzige wirklich sinnvolle Möglichkeit bei solchen Problemen zu einer zuverlässigen Ausführung der Aufgaben zu gelangen ist die eingebauten Aufrufe zu deaktivieren und die Ausführung zeitgesteuert von außen auszulösen. Dieses externe Auslösen kann dann je nach Situation über die Cron-Funktion des eigenen Webhosters oder über einen Cron-Service geschehen. Beispiele für Anbieter von solchen Diensten finden sich am Ende des Artikels.

Was ist also zu tun? Zuerst muss die eingebaute Funktion deaktiviert werden. Das geht über folgenden Eintrag in der wp-config.php (siehe unsere Artikel zum Bearbeiten von WordPress Dateien und über die wp-config.php):

define('DISABLE_WP_CRON', true);

Um weitere Probleme zu vermeiden sollte der Eintrag direkt unter dieser Zeile erfolgen:

define('DB_COLLATE','');

Im Anschluss muss dann der externe Aufruf eingerichtet werden. Dieser sollte dafür sorgen, dass die Datei wp-cron.php im Stammverzeichnis des Blogs aufgerufen wird. Die gesamte URL sieht dann ungefähr so aus:

https://deineblogdomain.xx/wp-cron.php

oder auch

https://deineblogdomain.xx/blog/wp-cron.php

wenn das Blog sich in einem Unterverzeichnis befindet.

Die Häufigkeit des Aufrufs ist im Grunde nicht so wichtig. Wichtig zu wissen ist aber, dass Aufgaben dann immer nur zum Zeitpunkt des Aufrufs erfolgen können. Erfolgt der Aufruf also zum Beispiel alle 30 Minuten, immer zur vollen und zur halben Stunde, dann können Beiträge die für 20:15 Uhr geplant sind immer erst um 20:30 Uhr veröffentlicht werden. Ein Aufruf einmal pro Minuten ist natürlich möglich, belastet der Server aber evtl. mehr als gewollt. Irgend etwas zwischen 5 und 30 Minuten wäre wohl empfehlenswert, je nach eigenem Geschmack und etwaigem Tarif eines kostenpflichtigen Cron-Service.

Cron Plugins helfen den Überblick zu behalten

Nachdem das eigentliche Problem behoben ist, gilt es noch zu erwähnen, dass es eine Handvoll Plugins gibt, die dabei helfen, einen Überblick über die Liste der geplanten Aufgaben zu erhalten. Manche erlauben auch das hinzufügen eigener Tasks oder das Löschen bereits vorhandener. Diese sind in der Regel eher für fortgeschrittene Benutzer empfehlenswert.

Ein gutes Plugin, das wir selbst von Zeit zu Zeit einsetzen ist WP-Crontrol.

WordPress Cron Plugin

Es erlaubt das Löschen, Bearbeiten und sofortiger Ausführen geplanter Aufgaben und das Hinzufügen neuer.

Kostenloser E-Mail-Kurs: Wir zeigen Dir einsteigerfreundlich die Grundlagen der Suchmaschinenoptimierung - direkt und einfach: Anmelden!

Fazit

Durch das Deaktivieren der internen WP-Cron-Funktion und der externen, manuellen Steuerung der Aufrufe wird die Zuverlässigkeit geplanter Funktionen (z.B. geplante Veröffentlichung von Beiträgen) erhöht. Zudem ist die Performance des Blogs besser unter Kontrolle weil nicht mehr einzelne Seitenaufrufe durch eventuell gerade anstehende Aufgaben blockiert werden.

Links

Elementor Popup Builder Test & Anleitung 2019

Elementor Popup Builder Test & Anleitung

Mit dem Elementor Popup Builder lassen sich tolle Popups und Optins erstellen. Wir haben ihn getestet und eine Anleitung erstellt.

Link in neuem Fenster öffnen: target_blank & noopener

Link auf neuer Seite öffnen: target_blank und noopener

In WordPress lassen sich Links ganz einfach auf einer neuen Seite öffnen. Allerdings kann es Probleme geben, die sich mit Hilfe von noopener lösen lassen.

Beaver Builder Test

Beaver Builder Test 2019

In unserem Beaver Builder Test nehmen wir das WordPress Page Builder Plugin genau unter die Lupe inkl. des Theme Builder Addons Beaver Themer.

Möchtest Du mehr zu WordPress?

Hol' Dir jetzt unseren kostenlosen Newsletter

15585

Einfach mehr Google-Besucher

Jetzt zum kostenlosen Kurs anmelden

15856
15585

Bitte prüfe Dein E-Mail-Postfach

Du musst Deine Anmeldung noch bestätigen!

Vielen Dank für Deine Anmeldung

15856
15585

Einfach mehr Google-Besucher

Jetzt zum kostenlosen Kurs anmelden

15856
15585

Bitte prüfe Dein E-Mail-Postfach

Du musst Deine Anmeldung noch bestätigen!

Vielen Dank für Deine Anmeldung

15856
15585

Einfach mehr Google-Besucher

Jetzt zum kostenlosen Kurs anmelden

15856
15585

Bitte prüfe Dein E-Mail-Postfach

Du musst Deine Anmeldung noch bestätigen!

Vielen Dank für Deine Anmeldung

15856