Cronjob

Ein Cronjob ist ein zeitgesteuert ausgeführter Befehl oder ein Skript – der Name kommt vom Unix-Scheduler „cron“. In WordPress gibt es WP-Cron, einen eigenen Pseudo-Cronjob-Mechanismus, der regelmäßige Aufgaben wie das Versenden geplanter E-Mails, das Prüfen auf Updates oder das Löschen alter Transients automatisch ausführt.

WP-Cron: WordPress eigener Scheduler

WP-Cron funktioniert anders als ein echter Server-Cronjob: Er wird nicht zu einem festen Zeitpunkt vom Server ausgelöst, sondern immer dann, wenn jemand die Website aufruft. WordPress prüft bei jedem Seitenaufruf, ob geplante Aufgaben fällig sind – und führt sie dann aus.

Das hat einen Nachteil: Bei wenig Traffic werden Aufgaben verzögert ausgeführt. Ein geplanter Beitrag für 10:00 Uhr erscheint erst, wenn jemand die Seite nach 10:00 Uhr besucht.

Echter Cronjob statt WP-Cron

Für zuverlässigere Ausführung empfiehlt sich ein echter Server-Cronjob. Dazu wird WP-Cron deaktiviert und stattdessen ein Cron-Eintrag auf dem Server gesetzt:

  • In der wp-config.php eintragen: define('DISABLE_WP_CRON', true);
  • Im Hosting-Panel einen Cronjob anlegen, der regelmäßig (z.B. alle 5 Minuten) die URL https://domain.de/wp-cron.php?doing_wp_cron aufruft oder WP-CLI nutzt: wp cron event run --due-now

Typische WordPress-Aufgaben per Cron

  • Geplante Beiträge veröffentlichen
  • Automatische Update-Prüfung für Core, Plugins, Themes
  • Backup-Plugins (z.B. UpdraftPlus) – Backups nach Zeitplan erstellen
  • Transients aus der Datenbank aufräumen
  • Newsletter-Versand über Plugins wie Mailpoet
  • Sicherheits-Scans (Wordfence)

Cron-Jobs überwachen

Mit dem Plugin „WP Crontrol“ lassen sich alle geplanten WordPress-Cron-Ereignisse einsehen, manuell auslösen oder löschen. Nützlich zur Fehlersuche, wenn geplante Aufgaben nicht wie erwartet ausgeführt werden.