WordPress Cronjobs

WordPress Cronjob
by Philipp
30. June 2025

Anleitung Tools für mehr Performance

Wenn du mit WordPress arbeitest, hast du wahrscheinlich schon mal von Cronjobs gehört. Vielleicht war da diese geplante Beitragsveröffentlichung, die einfach nicht online ging. Oder ein Plugin, das angeblich regelmäßig ein Backup macht, nur leider nicht dann, wenn du es wirklich brauchst. Willkommen in der Welt von WP-Cron.

Standardmäßig nutzt WordPress ein sogenanntes Pseudo-Cron-System: wp-cron.php wird nur dann aufgerufen, wenn jemand deine Webseite besucht. Klingt praktisch – ist es aber nicht immer. Besonders bei Webseiten mit wenig Traffic oder hohen Performance-Anforderungen stößt diese Methode schnell an ihre Grenzen.

In diesem Artikel zeigen wir dir, wie du Cronjobs richtig einrichtest, egal ob du lieber ein Plugin nutzt, die Kommandozeile beherrschst oder direkt im Hosting-Panel arbeitest. Wir schauen uns an, wie du wieder Kontrolle über deine geplanten Aufgaben bekommst und warum ein echter Cronjob deinem WordPress-Projekt mehr Stabilität und Geschwindigkeit bringt.

Inhaltsverzeichnis

1. Was ist ein WordPress Cronjob und warum ist er so wichtig?

Was ist ...

Ein Cronjob klingt erstmal nach etwas, das nur Hardcore-Admins in dunklen Serverräumen interessiert bzw. so wirklich kennen. Aber keine Sorge, das Thema betrifft wirklich jede WordPress-Webseite, die halbwegs automatisiert arbeiten soll. Und ja, dazu gehört auch deine.

 

Wir unterscheiden hier zwischen einem echten Cronjob und einem unechten Cronjob. Warum liest du gleich.

Was ist überhaupt ein (echter) Cronjob?

„Cron“ stammt aus dem Griechischen Chronos und steht für Zeit. Ein Cronjob ist also eine Aufgabe, die automatisch zu festgelegten Zeitpunkten ausgeführt wird zum Beispiel ein Backup jeden Tag um 2:00 Uhr morgens oder das Versenden eines Newsletters jeden Montag um 8:00 Uhr.

Besonders bei Webseiten mit sensiblen Prozessen, z. B. bei Buchungssystemen, Aborechnungen oder Kursplattformen, solltest du regelmäßig einen Blick auf die sog. Cron-Logs werfen.

TIPP

Ein Cron Log ist ein Protokoll (Logdatei), in dem die Ausführung von Cronjobs dokumentiert wird.

Ja, es ist ein Schritt mehr, aber er zahlt sich aus.

Das ist:

  • für kleine Webseiten mit wenig Besuchern ein Problem
  • für Shops oder Portale mit kritischen Aufgaben sogar riskant
WICHTIG

Ein echter Cronjob läuft unabhängig vom Besucherverhalten. Er wird direkt vom Server gesteuert, über ein sogenanntes Crontab-System. Dort definierst du: “Führe wp-cron.php alle 5 Minuten aus.” Punkt. Keine Abhängigkeit vom Seitenaufruf, keine Ausreden.

Was ist ein Pseudo Cronjob?

Ein unechter Cronjob, also WP-Cron, ist kein „echter“ System-Cronjob (also kein Eintrag in der Crontab deines Servers), sondern ein Skript, das beim Aufruf einer Webseite oder Anwendung indirekt gestartet wird, um regelmäßige Aufgaben zu erledigen.

 

Man sagt deshalb auch Pseudo-Cronjob, Web-Cron oder Fake-Cron.

Unterschiede: Cronjob und Pseudo Cronjob

Der Unterschied ist also nicht nur technisch, sondern auch ziemlich praxisrelevant:

Echter Cronjob Pseudo Cronjob
Wird vom Betriebssystem (cron-Dienst) ausgeführt Wird durch Webseitenaufruf ausgelöst
Läuft garantiert zu exakter Uhrzeit Läuft nur, wenn jemand die Seite besucht
Konfiguration in Crontab Meist in der Anwendung eingebaut

Wenn du ernsthaft mit WordPress arbeitest, etwa im E-Commerce, bei Membership-Seiten oder automatisierten Datenabgleichen,  ist ein echter Cronjob Pflichtprogramm.

Und auch wenn du dich gerade fragst: “Okay, wie setze ich das konkret um?” – keine Sorge, das behandeln wir gleich ausführlich.

Wann ein Pseudo-Cron Probleme macht & was das bedeutet

Jetzt wird’s konkret. Denn ein Pseudo-Cron (wir nennen ihn hier auch WP-Cron) ist zwar bequem, kann dir aber ordentlich die Suppe versalzen. Warum? Ganz einfach:

Stell dir vor, du planst einen Blogbeitrag, der exakt um 10:00 Uhr online gehen soll. Niemand besucht deine Seite? Dann passiert auch um 10:00 Uhr – genau nichts. Erst wenn ein Besucher deine Webseite aufruft, wird wp-cron.php angestoßen und der Beitrag veröffentlicht. Mit Pech also: Stunden zu spät.

Das betrifft nicht nur Beiträge. Hier ein paar typische Probleme:

 

  • geplante Backups starten nicht
  • WooCommerce-Sitzungen werden nicht automatisch bereinigt
  • externe Schnittstellen werden nicht rechtzeitig abgefragt

Typische Probleme mit WP-Cron im Live-Betrieb

Besonders kritisch wird es bei Webseiten, die automatisierte Abläufe brauchen. Stell dir vor, ein Plugin soll alle 15 Minuten Bestelldaten synchronisieren und du hast gerade 3 Stunden lang keinen Besucher. Autsch.

Ein weiteres Beispiel: Wenn du ein Plugin wie Disqus nutzt, um Kommentare auszulagern, kann die Synchronisation deiner Kommentare auf der Strecke bleiben, wenn WP-Cron zu selten getriggert wird.

Und dann kommt noch ein Punkt dazu, den viele unterschätzen: Performance. Auf stark frequentierten Seiten wird wp-cron.php bei jedem Seitenaufruf erneut geprüft. Das kostet Rechenzeit und kann deine Ladezeiten negativ beeinflussen.

TIPP

Wenn du dir nicht sicher bist, ob WP-Cron bei dir zuverlässig läuft, installiere WP Crontrol und prüfe, ob geplante Aufgaben überhaupt ausgelöst wurden. Falls du dort viele „verpasste“ Einträge siehst, ist es Zeit, auf einen echten Cronjob umzusteigen.

2. Die drei Methoden zur Einrichtung eines echten Cronjobs in WordPress

Tutorial Grafik

Jetzt wird’s praktisch: Du willst also einen echten Cronjob einrichten, damit deine WordPress-Aufgaben endlich zuverlässig und ohne Aussetzer laufen. Gute Entscheidung! Denn egal, ob es um geplante Beiträge, API-Schnittstellen oder WooCommerce-Automatisierungen geht – mit einem sauber eingerichteten Cronjob kannst du dich entspannt zurücklehnen.

Grundsätzlich hast du drei gängige Wege zur Einrichtung:

 

  • über das Hosting-Panel (z. B. cPanel)
  • über die Kommandozeile mit crontab
  • über WP-CLI – ideal für Profis

Lass uns die drei Optionen im Detail durchgehen.

Einrichtung über das Hosting-Panel (z. B. cPanel)

Der schnellste und für viele auch bequemste Weg führt über die grafische Oberfläche deines Hosting-Providers.

Und wenn du ein klassisches cPanel nutzt, ist der Ablauf meist so: Unter dem Punkt Cronjobs findest du Felder zur Zeiteinstellung sowie ein Eingabefeld für den eigentlichen Befehl. Besonders praktisch: Du kannst aus voreingestellten Intervallen wie „alle 5 Minuten“ wählen oder eigene Werte definieren, wenn’s ganz exakt sein soll.

WICHTIG

Vergiss nicht, WP-Cron zu deaktivieren, sonst laufen deine Aufgaben doppelt. Wie das geht, zeige ich dir im nächsten Abschnitt.

TIPP

Achte darauf, dass dein Hosting-Paket Cronjobs überhaupt unterstützt. Bei manchen günstigen Tarifen ist dafür zunächst ein Upgrade oder eine Erhöhung des Limits erforderlich.

How fast is your WordPress?
! Kostenloser Speedtest – /speedtest/

After submitting, you will receive the result directly by e-mail.

By submitting this form, you agree to our privacy policy.

Cronjobs über WP-CLI & Terminal einrichten

Wenn du lieber die Kontrolle in der Hand behältst, oder schlicht mit der Konsole arbeitest,  kannst du Cronjobs direkt per crontab anlegen. Das ist die Variante für Entwickler, Agenturen oder Tech-Enthusiasten, die genau wissen wollen, was im Hintergrund passiert.

So geht’s:

 

  1. Melde dich per SSH auf deinem Server an.
  2. Gib crontab -e ein.
  3. Trage deinen Cronjob-Befehl ein.

Ein typisches Beispiel:

				
					*/10 * * * * wget -q -O - https://deine-domain.de/wp-cron.php >/dev/null 2>&1

				
			

Dieser Job wird alle 10 Minuten ausgeführt. Die Sternchen und Zahlen stehen für:

  • Minute
  • Stunde
  • Tag im Monat
  • Monat
  • Wochentag

Du willst den Job täglich um 13 Uhr laufen lassen? Dann sähe das so aus:

				
					0 13 * * * wget -q -O - https://deine-domain.de/wp-cron.php >/dev/null 2>&1

				
			

Mit dem Zusatz >/dev/null 2>&1 stellst du sicher, dass keine Rückmeldungen oder Fehlermeldungen in deinem Log landen, es sei denn, du möchtest das ausdrücklich.

So listest und startest Cronjobs per WP-CLI

Du kannst auch die WP-CLI nutzen, um Cronjobs zu listen oder manuell auszuführen. Der Befehl dazu lautet:

				
					wp cron event list

				
			

Das zeigt dir alle geplanten Aufgaben in deinem WordPress-Setup. Gerade bei Debugging-Fragen ist das Gold wert. Falls du tiefer einsteigen willst, findest du mehr dazu in unserem Artikel zur Nutzung von WP-CLI.

Ein paar Dinge, die du beachten solltest:

  • Achte auf die richtige PHP-Version deines Servers, falls du direkt php /pfad/zur/wp-cron.php verwenden willst.
  • Nutze wget oder curl, wenn du über HTTP auf die Datei zugreifst.
  • Speichere deine crontab, indem du im Editor mit Strg + X, dann Y und Enter bestätigst.

Kurz gesagt: Mit crontab bekommst du maximale Kontrolle, brauchst aber auch ein bisschen Terminal-Erfahrung. Dafür läuft dein WordPress-Cronjob so zuverlässig wie ein Schweizer Uhrwerk. Und das wollen wir ja, oder?

TIPP

Setze den Intervall deines Cronjobs nicht zu niedrig: Alle 5 bis 15 Minuten reichen für die meisten Anwendungsfälle völlig aus und entlasten deinen Server im Vergleich zu minütlichen Ausführungen spürbar. Bei geringer Last genügt sogar ein 30-Minuten-Intervall.

3. Tools & Plugins für WP-Cron: Kontrolle, Visualisierung & Optimierung

Plugins

Klar, ein echter Cronjob auf Server-Ebene ist das Ziel. Aber was ist mit der Zeit davor? Oder wenn du einfach mal schnell prüfen willst, was WordPress da so im Hintergrund treibt? Genau hier kommen Tools wie WP Crontrol oder die WP-CLI ins Spiel. Beide geben dir tiefere Einblicke und echte Macht über die zeitgesteuerten Aufgaben deiner WordPress-Webseite.

WP Crontrol im Einsatz: Jobs anzeigen, bearbeiten und erstellen

Wenn du kein Fan vom Terminal bist, ist das Plugin WP Crontrol deine beste Freundin. Es bringt dir die komplette Übersicht über deine WP-Cron-Jobs direkt ins WordPress-Backend. Und zwar so übersichtlich, dass du dich fast wie in einer Tabellenkalkulation fühlst – aber eben mit Power.

WP Crontrol Plugin

Plugin WP Control

Funktionen:

 

  • Anzeige aller registrierten Cron-Events
  • Bearbeiten, Löschen oder sofortiges Ausführen einzelner Ereignisse
  • Hinzufügen benutzerdefinierter Cron-Zeitpläne
  • Integration direkt im WordPress-Dashboard

Vorteile:

 

  • Einfach zu bedienen – keine Programmierkenntnisse nötig
  • Perfekt zur Fehlersuche bei Cron-Problemen
  • Flexible Erstellung eigener Events
  • Erweiterbar durch Hooks & Filter

Nachteile:

 

  • Nur innerhalb des WP-Cron-Systems nutzbar
  • Kein Ersatz für einen echten Server-Cronjob
  • Keine Protokollierung historischer Ausführungen

So findest du aktive Cronjobs und hängende Prozesse

Nach der Installation WP Crontrol von findest du unter „Werkzeuge → Cron-Ereignisse“ eine vollständige Liste aller aktiven Jobs. Was du hier sehen kannst:

  • Aktionsnamen (z. B. woocommerce_cleanup_sessions)
  • Argumente (wenn gesetzt)
  • Intervall der Wiederholung (z. B. stündlich, täglich, benutzerdefiniert)
  • Nächste Ausführung

Das allein ist schon Gold wert, vor allem, wenn du herausfinden willst, welches Plugin im Hintergrund dauernd einen Prozess lostritt. Und noch besser: Du kannst bestehende Ereignisse direkt bearbeiten, löschen oder sofort ausführen. Das ist besonders praktisch bei der Fehlersuche oder wenn ein Cronjob mal hängen geblieben ist.

Und ja, du kannst auch eigene Ereignisse anlegen. Zum Beispiel für ein benutzerdefiniertes Skript, das regelmäßig Datenbankeinträge bereinigt. So geht’s:

  1. Erstelle einen neuen Zeitplan unter „Cron-Zeitpläne“, z. B. alle 600 Sekunden (10 Minuten)
  2. Lege ein neues Ereignis an, z. B. custom_cleanup_event
  3. Verknüpfe es mit deiner Funktion in der functions.php

Ein einfacher Hook könnte so aussehen:

				
					php
add_action( 'custom_cleanup_event', 'my_cleanup_function' );
function my_cleanup_function() {
    // Hier kommt dein Code rein
}

				
			

Erweiterte Verwaltung mit WP-CLI: Kommandos & Beispiele

Du bist lieber in der Kommandozeile unterwegs? Perfekt. Mit WP-CLI steht dir ein mächtiges Werkzeug zur Verfügung, um WordPress-Cronjobs direkt per Befehl zu verwalten. Und das nicht nur schnell, sondern auch mit chirurgischer Präzision.

WP-CLI

Plugin WP-CLI

Funktionen:

 

  • Cronjobs listen, ausführen, löschen und planen
  • Integration in Skripte und Automatisierungsprozesse
  • Alle WordPress-Kernfunktionen über Terminal steuerbar
  • Nutzbar für Multisites & komplexe Umgebungen

Vorteile:

 

  • Sehr schnelle und präzise Steuerung
  • Ideal für DevOps & CI/CD-Prozesse
  • Keine Installation in WordPress nötig – systemunabhängig
  • Ermöglicht tiefere Einblicke als die Oberfläche

Nachteile:

 

  • Erfordert SSH-Zugang zum Server
  • Keine grafische Benutzeroberfläche
  • Einstiegshürde für WordPress-Einsteiger höher

Preis: Kostenlos

Alle WordPress-Cronjobs auflisten mit WP-CLI

Starten wir mit dem Klassiker:

				
					wp cron event list

				
			

Dieser Befehl zeigt dir alle geplanten Ereignisse, samt Zeit, Hook-Namen und Wiederholung. Das ist perfekt für ein schnelles Audit, vor allem wenn du nicht weißt, welcher Task gerade „klemmt“. Willst du mehr sehen? Nutze:

				
					wp cron event list --fields=hook,next_run,recurrence

				
			

Was noch geht?

  • Manuelles Ausführen eines bestimmten Events:
    wp cron event run my_custom_hook
  • Planen eines einmaligen Events in der Zukunft:
    wp cron event schedule my_custom_hook “+5 minutes”
  • Entfernen eines Jobs:
    wp cron event delete my_custom_hook

Das Beste an WP-CLI: Du kannst es auch in CI/CD-Prozesse integrieren, etwa bei Staging-Deployments oder automatisierten Wartungsskripten. Oder du erstellst Cronjobs gezielt für eine bestimmte Umgebung, ohne sie ins Live-System zu übertragen.

TIPP

Nutze WP-CLI gemeinsam mit Tools wie Query Monitor, um Performance-Einbrüche oder hängende Cronjobs schneller zu entlarven.

Du möchtest eigene Zeitpläne definieren? Kein Problem. Mit einem einfachen Filter kannst du WordPress beibringen, was „alle 2 Stunden“ oder „alle 30 Sekunden“ bedeutet:

				
					php
add_filter( 'cron_schedules', 'custom_cron_intervals' );
function custom_cron_intervals( $schedules ) {
    $schedules['every_30_seconds'] = array(
        'interval' => 30,
        'display'  => __( 'Alle 30 Sekunden' ),
    );
    return $schedules;
}


				
			
WICHTIG

Mit WP Crontrol bekommst du Sichtbarkeit. Mit WP-CLI bekommst du Kontrolle. Und mit beiden zusammen wird dein Cronjob-Management so zuverlässig wie deine Backups, sofern du die übrigens auch regelmäßig kontrollierst. Wenn nicht, hier wäre ein guter Zeitpunkt, das Backup-Setup zu überdenken.

4. So deaktivierst du WP-Cron richtig und vermeidest doppelte Ausführungen

Best Practices

Du hast jetzt einen echten Cronjob eingerichtet – stark! Aber bevor du dich zufrieden zurücklehnst, gibt’s noch einen letzten, aber wichtigen Schritt: Du musst den WP-Cron in deiner WordPress-Installation deaktivieren. Warum? Weil du sonst Gefahr läufst, dass deine Aufgaben zweifach ausgeführt werden, einmal vom Server-Cronjob und einmal bei jedem Seitenaufruf. Und doppelte Jobs können zu doppeltem Ärger führen.

Warum DISABLE_WP_CRON deine Performance verbessern kann

Das WordPress-eigene Cron-System (wp-cron.php) wird bei jedem Seitenaufruf automatisch geprüft. Klingt zunächst ganz praktisch, ist es aber nicht. Besonders bei gut besuchten Webseiten oder stark frequentierten Onlineshops führt das zu unnötiger Last.

Stell dir vor, du hast 50 gleichzeitige Besucher. Jeder einzelne triggert eine Prüfung: Gibt es gerade einen Cronjob auszuführen? Und wenn ja, dann mal los! Das sorgt nicht nur für doppelte Prozesse, sondern kann deine Performance deutlich verschlechtern.

Ein echtes Beispiel aus der Praxis: Bei einer WooCommerce-Seite mit vielen Plugins und einem Newsletter-Tool im Hintergrund wurde durch den WP-Cron bei jeder Seiteninteraktion ein Versandversuch angestoßen, selbst wenn gar nichts fällig war. Erst nach der Deaktivierung von WP-Cron war wieder Ruhe im System.

Cronjob richtig einrichten – in 3 Minuten erledigt

Mit einem echten Server-Cronjob brauchst du diesen Umweg nicht mehr. Deshalb empfehlen wir: Deaktiviere wp-cron.php, sobald dein eigener Zeitplan läuft.

Und das ist einfacher, als du denkst.

So geht’s:

 

1. Öffne die wp-config.php deiner WordPress-Installation (meist im Hauptverzeichnis deiner Webseite).

2. Füge oberhalb der Zeile mit /* That’s all, stop editing! */ folgende Zeile ein:

				
					php
define('DISABLE_WP_CRON', true);


				
			

3. Speichern. Fertig.

Ab jetzt wird wp-cron.php nicht mehr bei Seitenaufrufen ausgeführt, sondern ausschließlich durch deinen geplanten, externen Cronjob. Und das spart dir Ressourcen, verhindert unnötige Prozesse und bringt deine Seite in ruhigere Fahrwasser.

Sobald WP-Cron deaktiviert ist, liegt die Verantwortung ganz bei dir oder besser gesagt: bei deinem echten Cronjob. Bedeutet auch: Du solltest sicherstellen, dass er zuverlässig läuft.

Was du nach der Deaktivierung beachten musst

Was du jetzt tun kannst:

 

  • Teste deinen neuen Cronjob manuell, z. B. indem du den Link https://deine-domain.de/wp-cron.php direkt im Browser aufrufst
  • Kontrolliere regelmäßig, ob deine geplanten Aufgaben tatsächlich ausgeführt werden (z. B. mit WP Crontrol oder wp cron event list)
  • Nutze Monitoring-Tools wie UptimeRobot oder Better Uptime, um sicherzustellen, dass dein Cronjob nicht ausfällt

 

WP-Cron überwachen: So bleibt alles zuverlässig

Besonders bei Webseiten mit sensiblen Prozessen, z. B. bei Buchungssystemen, Aborechnungen oder Kursplattformen, solltest du regelmäßig einen Blick auf die Cron-Logs werfen. Ja, es ist ein Schritt mehr, aber er zahlt sich aus.

Noch ein Tipp für Admins, die mehrere Umgebungen verwalten: In Staging oder DEV-Systemen solltest du WP-Cron ruhig aktiviert lassen damit du nicht versehentlich Tests auf den Live-Cronjob auslagerst.

Ach, und falls du später mal ganz tief eintauchen willst: Es gibt auch Möglichkeiten, deine wp-cron.php nur bei echten Bedingungen ausführen zu lassen, etwa via REST-Trigger oder externer Aufrufe über Tools wie Zapier. Aber das ist Stoff für einen eigenen Artikel.

Falls du dein WordPress-Setup zusätzlich absichern willst, lohnt sich übrigens auch ein Blick auf die richtige .htaccess-Konfiguration, dort kannst du mit wenigen Zeilen nicht nur den Zugriff auf wp-cron.php einschränken, sondern gleich deine ganze Seite performanter machen.

TIPP

Wenn du WP-Cron deaktivierst, setze dir unbedingt einen Reminder, deinen echten Cronjob regelmäßig zu überprüfen z. B. via Logdateien oder einem kleinen Kontrollplugin. Denn ein deaktivierter WP-Cron ohne funktionierenden Ersatz ist wie ein Kühlschrank ohne Strom: Sieht nett aus, bringt aber nix.

5. WP-Cron verstehen und richtig nutzen

Du siehst: Was nach Nebensache klingt, ist in Wahrheit zentral für stabile Abläufe, der WordPress-Cronjob. Es ist der Antrieb im Hintergrund, der deine geplanten Aufgaben zuverlässig ausführt oder eben auch nicht, wenn du dich auf das standardmäßige WP-Cron verlässt.

Ob automatische Backups, geplante Blogbeiträge oder Plugin-Tasks, wenn du willst, dass deine Webseite stabil, schnell und zuverlässig läuft, solltest du dir die Kontrolle zurückholen. Mit einem echten Cronjob über deinen Hoster oder via WP-CLI legst du den Grundstein für saubere Prozesse. Und wenn du WP Crontrol im Backend nutzt, hast du jederzeit den vollen Überblick.

Jetzt liegt’s an dir: Nutze dieses Wissen, um deine WordPress-Webseite besser zu automatisieren. Und wenn du neben dem Cronjob auch die Ladezeit verbessern willst, lohnt sich ein Blick auf unsere Tipps zur Performance-Optimierung.

Denn mal ehrlich: Eine Webseite, die zur falschen Zeit das Richtige nicht tut, ist ungefähr so nützlich wie ein Wecker ohne Uhrzeit.

Philipp
Philipp
Philipp ist Texter und SEO-Experte mit einem klaren Blick für suchmaschinenoptimierte Inhalte, die nicht nur ranken, sondern auch gelesen werden. Er schreibt fundierte Blogartikel, die komplexe Themen verständlich aufbereiten und echten Mehrwert bieten – für Menschen und für Google. Mit einem Mix aus Datenblick, Sprachgefühl und Struktur bringt er Inhalte dorthin, wo sie wirken: auf die Bildschirme der richtigen Zielgruppe.
Leave a Reply

Your email address will not be published. Required fields are marked *