Manuel Killert
Ratgeber · WP-Cron · Geplante Aufgaben

„Planung verpasst“ — warum WordPress geplante Aufgaben vergisst.

Der Beitrag war für 8 Uhr geplant, um 11 Uhr steht er immer noch auf „Planung verpasst“. Oder das Backup-Plugin meldet seit Tagen keine Sicherung, Newsletter gehen nicht raus, Abo-Verlängerungen hängen. Hinter all dem steckt dasselbe System: WP-Cron. Hier steht, wie es funktioniert und wie du es zuverlässig machst.

Referenzen ansehen →Hilfe anfragen
Kurz gesagt

WP-Cron ist kein echter Zeitplaner. Er läuft nur, wenn jemand die Website aufruft. Bei wenig Besuchern, Seiten aus dem Cache, blockierten internen Anfragen oder einer falschen Zeitzone werden Aufgaben verspätet oder gar nicht ausgeführt. Die dauerhafte Lösung: WP-Cron abschalten und einen echten Cronjob beim Hoster alle 5 Minuten laufen lassen.

Wie WP-Cron funktioniert.

Ein richtiger Cron ist ein Dienst auf dem Server, der zu festen Zeiten Befehle ausführt. WordPress kann sich darauf nicht verlassen, weil nicht jedes Hosting das anbietet. Deshalb prüft WordPress bei jedem Seitenaufruf, ob Aufgaben fällig sind, und stößt sie über einen internen Aufruf von wp-cron.php an. Das funktioniert auf Websites mit gleichmäßigem Besucherstrom ganz ordentlich. Kommt aber um 8 Uhr niemand, wird der für 8 Uhr geplante Beitrag erst beim nächsten Besuch veröffentlicht — oder gar nicht, wenn der interne Aufruf scheitert.

Symptome.

  • Geplante Beiträge stehen auf „Planung verpasst“.
  • Backup-Plugins erstellen keine automatischen Sicherungen mehr.
  • WooCommerce: Abo-Verlängerungen, Erinnerungsmails oder das automatische Stornieren unbezahlter Bestellungen bleiben aus.
  • Newsletter und Benachrichtigungen werden verspätet verschickt.
  • Automatische Updates laufen nicht (automatische Updates).
  • Der Website-Zustand meldet „Ein geplantes Ereignis wurde verpasst“ oder Probleme mit Loopback-Anfragen.

Warum Aufgaben liegen bleiben.

UrsacheErklärung
Wenig BesucherOhne Aufruf kein Anstoß. Nachts oder bei kleinen Websites kann es Stunden dauern.
Seiten-CacheKommt jede Seite aus dem Cache oder CDN, wird WordPress gar nicht gestartet und prüft keine Aufgaben.
Loopback blockiertDer interne Aufruf von wp-cron.php wird von Firewall, Passwortschutz, Sicherheits-Plugin oder Hoster geblockt.
DISABLE_WP_CRON gesetztWP-Cron wurde abgeschaltet, aber kein echter Cronjob eingerichtet — häufig nach einem Hosterwechsel.
Fehlerhafte AufgabeEine Aufgabe bricht mit Fehler ab oder hängt und blockiert die nachfolgenden.
Falsche ZeitzoneBeitrag ist auf eine Uhrzeit geplant, die in UTC eine andere ist.

Aufgaben prüfen.

Das Plugin WP Crontrol zeigt alle geplanten Aufgaben mit nächster Ausführung, Intervall und Herkunft. Aufgaben mit Zeitpunkt in der Vergangenheit sind überfällig. Dort lassen sich Aufgaben auch manuell starten, um zu sehen, ob sie fehlerfrei laufen. Unter Werkzeuge → Website-Zustand meldet WordPress, ob Loopback-Anfragen funktionieren. Schlägt das fehl, kann WordPress sich selbst nicht aufrufen — WP-Cron und auch der Plugin-Editor funktionieren dann nicht zuverlässig.

Geplante Aufgaben per WP-CLI ansehen und abarbeiten
# Alle geplanten Aufgaben mit nächstem Termin
wp cron event list

# Testet, ob WP-Cron grundsätzlich ausgelöst werden kann
wp cron test

# Alle fälligen Aufgaben jetzt ausführen
wp cron event run --due-now

Meldet wp cron test einen Fehler, ist meist der Loopback blockiert — ein echter Cronjob umgeht das.

Die dauerhafte Lösung: echter Cronjob.

Statt auf Besucher zu warten, ruft der Server selbst alle 5 Minuten die Aufgabenplanung auf. Dazu zwei Schritte:

  1. WP-Cron bei Seitenaufrufen abschalten — das spart außerdem Rechenzeit bei jedem Besuch.
  2. Cronjob beim Hoster anlegen. Fast alle Hoster bieten im Kundenmenü einen Bereich „Cronjobs“ oder „Geplante Aufgaben“. Dort entweder den Befehl mit WP-CLI oder einen Aufruf der Adresse eintragen, Intervall 5 Minuten.
Schritt 1: WP-Cron abschalten (wp-config.php)
// Vor /* That's all, stop editing! */ einfügen
define( 'DISABLE_WP_CRON', true );

Nur zusammen mit Schritt 2 — sonst laufen gar keine geplanten Aufgaben mehr.

Schritt 2: Cronjob beim Hoster (eine der beiden Varianten, alle 5 Minuten)
# Variante A: mit WP-CLI (bevorzugt, wenn SSH und WP-CLI vorhanden)
*/5 * * * * cd /pfad/zu/wordpress && wp cron event run --due-now >/dev/null 2>&1

# Variante B: Aufruf der Adresse
*/5 * * * * wget -q -O - "https://deine-domain.de/wp-cron.php?doing_wp_cron" >/dev/null 2>&1

Pfad und Domain anpassen. Bei vielen Hostern gibt man nur Adresse oder Befehl und Intervall in ein Formular ein, ohne die Sternchen-Schreibweise.

Zeitzone.

Unter Einstellungen → Allgemein → Zeitzone sollte eine Stadt stehen, etwa „Berlin“, nicht ein fester Versatz wie „UTC+1“. Nur mit Stadt stellt WordPress automatisch auf Sommer- und Winterzeit um. Mit festem Versatz ist jeder geplante Beitrag im Sommer eine Stunde daneben.

Verpasste Beiträge nachholen.

Beiträge mit „Planung verpasst“ lassen sich einzeln öffnen und veröffentlichen, oder in der Beitragsliste per Schnellbearbeitung. Läuft die Aufgabenplanung nach der Reparatur wieder, werden neue Planungen pünktlich ausgeführt. Bei Shops unbedingt prüfen, ob Abo-Verlängerungen, Stornierungen und Erinnerungen nachgeholt wurden und keine doppelt laufen (WooCommerce-Support).

Wenn du nicht weiterkommst.

Hängen Aufgaben trotz Cronjob, oder laufen bei einem Shop Verlängerungen doppelt, schaue ich mir die Aufgabenplanung im Detail an. Ich finde die Ursache, behebe sie und erkläre dir, was passiert ist: WordPress-Hilfe, bei einem Totalausfall der Notfall-Support. Damit es gar nicht erst so weit kommt: WordPress-Wartung.

Wer hilft.

Ich bin Manuel Killert, WordPress-Entwickler aus Quakenbrück. Seit 2020 baue und betreue ich WordPress-Websites — für Handwerksbetriebe, Industrie, Gastronomie, Start-ups und Vereine —, entwickle eigene Plugins und unterrichte WordPress als Dozent an der KW Design Akademie. Das heißt: Ich kenne die typischen Fehler nicht nur aus Foren, sondern aus eigenen Projekten, und ich kann sie so erklären, dass du sie beim nächsten Mal selbst erkennst. Du erreichst mich direkt, ohne Ticketsystem.

Häufige Fragen

FAQ — Geplante Beiträge verpasst (WP-Cron).

Was bedeutet „Planung verpasst“ in WordPress?

Der Beitrag war für eine Uhrzeit geplant, zu der WP-Cron nicht ausgeführt wurde. WP-Cron läuft nur bei Seitenaufrufen und kann durch wenige Besucher, Cache oder blockierte interne Anfragen ausfallen.

Wie funktioniert WP-Cron?

WordPress prüft bei jedem Seitenaufruf, ob geplante Aufgaben fällig sind, und stößt sie über einen internen Aufruf von wp-cron.php an. Ohne Besucher oder bei gecachten Seiten passiert das nicht.

Wie richte ich einen echten Cronjob für WordPress ein?

In der wp-config.php DISABLE_WP_CRON auf true setzen und im Kundenmenü des Hosters einen Cronjob anlegen, der alle 5 Minuten wp cron event run --due-now ausführt oder wp-cron.php aufruft.

Mit welchem Plugin sehe ich geplante Aufgaben?

Mit WP Crontrol. Es zeigt alle Aufgaben mit nächstem Termin und Herkunft und erlaubt, einzelne Aufgaben manuell zu starten.

Warum sind geplante Beiträge eine Stunde verschoben?

Die Zeitzone ist als fester Versatz wie UTC+1 statt als Stadt eingestellt. Mit einer Stadt wie Berlin stellt WordPress automatisch auf Sommer- und Winterzeit um.

Was sind Loopback-Anfragen?

Interne Aufrufe, mit denen WordPress sich selbst anfragt, etwa für WP-Cron. Werden sie von Firewall, Passwortschutz oder Sicherheits-Plugin blockiert, laufen geplante Aufgaben nicht zuverlässig.

Manuel Killert (rechts im Bild) mit einem FreundDas bin ich – rechts im Bild
Kontakt

Erzähl mir, was nicht funktioniert.

Domain und eine kurze Beschreibung reichen — du bekommst eine ehrliche Einschätzung, was los ist und was die Behebung kostet.

Antwort meist innerhalb von 24 Stunden · hallo@manuelkillert.de