Cron Jobs in WordPress – wofür ist das?
Erstmals erschienen im Oktober 2019, im Oktober 2026 neu geschrieben.
WordPress hat keinen Wecker. Geplante Aufgaben laufen erst, wenn jemand die Website aufruft. Meist merkst du davon nichts. Wenn aber ein geplanter Beitrag nicht erscheint oder die Sicherung ausbleibt, liegt es oft genau daran.
Was ein Cron-Job ist
Cron ist ein Dienst auf Linux-Servern, der Befehle zu festen Zeiten ausführt: jede Nacht um drei oder jeden ersten Montag im Monat. Eine solche geplante Aufgabe heisst Cron-Job. Der Server führt sie aus, ob jemand zuschaut oder nicht.
Wie WordPress es löst
WordPress läuft auch auf einfachen Hostings, bei denen man keinen Zugriff auf den Cron des Servers hat. Darum bringt es einen eigenen Ersatz mit: WP-Cron.
WP-Cron führt eine Liste mit Aufgaben und ihren Zeiten. Bei jedem Seitenaufruf schaut WordPress nach, ob etwas fällig ist, und stösst es im Hintergrund an. Die Datei dahinter heisst wp-cron.php.
Über diese Liste läuft mehr, als man denkt:
- geplante Beiträge veröffentlichen
- nach Updates für WordPress, Plugins und Themes suchen
- Sicherungen eines Backup-Plugins
- E-Mails aus einer Warteschlange versenden
- den Seiten-Cache neu aufbauen
- im Shop: Bestellungen abschliessen, Abos verlängern, Lager abgleichen
Wo es hakt
Wenig Besuch. Kommt nachts niemand vorbei, läuft auch nichts. Der Beitrag, der um sechs Uhr erscheinen sollte, erscheint um halb neun, wenn der erste Besucher kommt. WordPress markiert ihn dann in der Beitragsliste als verpasst, je nach Sprachfassung mit «Überfällig» oder «Verpasste Planung».
Seiten-Cache. Liefert ein Cache die fertige Seite aus, startet WordPress gar nicht erst. Dann zählt auch ein gut besuchter Tag nicht als Anstoss. Je besser der Cache, desto seltener läuft WP-Cron.
Viel Besuch. Auf stark besuchten Websites prüft WordPress bei sehr vielen Aufrufen, ob etwas fällig ist. Das kostet jedes Mal ein wenig Rechenzeit.
So prüfst du, ob es läuft
- Website-Zustand: Unter «Werkzeuge» und «Website-Zustand» meldet WordPress, wenn ein geplantes Ereignis verspätet ist oder fehlgeschlagen ist.
- Plugin WP Crontrol: Es zeigt die ganze Liste mit nächster Ausführung. Aufgaben, deren Zeit schon lange vorbei ist, fallen sofort auf.
- WP-CLI: Wer Zugriff auf die Kommandozeile hat, sieht dasselbe mit
wp cron event list.
Auf einen echten Cron-Job umstellen
Die saubere Lösung besteht aus zwei Schritten. Zuerst schaltest du den Anstoss über Seitenaufrufe ab, dann lässt du den Server die Aufgabe übernehmen.
Schritt 1: In der Datei wp-config.php diese Zeile einfügen, oberhalb des Kommentars, nach dem man nichts mehr bearbeiten soll:
define( 'DISABLE_WP_CRON', true );
Schritt 2: Beim Hoster einen Cron-Job einrichten, der wp-cron.php regelmässig aufruft. Alle fünf bis fünfzehn Minuten reicht für die meisten Websites. Bei vielen Hostern geht das im Kundenbereich mit ein paar Klicks: Adresse eintragen, Intervall wählen.
Die Adresse lautet:
https://deine-domain.ch/wp-cron.php
Mit Zugriff auf die Kommandozeile geht es ohne Webaufruf, und das ist die robustere Variante:
*/5 * * * * cd /pfad/zu/wordpress && wp cron event run --due-now --quiet
Achte auf die Reihenfolge. Schritt 1 ohne Schritt 2 schaltet alle geplanten Aufgaben ab. Dann erscheint kein geplanter Beitrag mehr und keine Sicherung läuft. Prüfe nach der Umstellung im Website-Zustand, ob alles pünktlich ist.
Die offizielle Anleitung dazu steht im Handbuch für Entwickler von WordPress (englisch).
Wann sich das lohnt
Für eine kleine Website mit regelmässigem Besuch und ohne zeitkritische Aufgaben reicht WP-Cron, wie es ist. Umstellen lohnt sich, wenn
- geplante Beiträge pünktlich erscheinen müssen,
- ein Shop oder ein Newsletter-Versand daran hängt,
- die Website stark gecacht ist,
- oder der Website-Zustand wiederholt verspätete Ereignisse meldet.
Weiterlesen
-
WordPress + Web
Der UpdraftPlus-Vorfall: Was wir am 19. Oktober getan haben
-
WordPress + Web
Gewährleistung und Garantie in Deutschland und der Schweiz
-
WordPress + Web
Schweizer Firma, deutsche Kunden: Welches Recht gilt beim Onlinehandel?
