Erklärung WP-Cron vs. Server-Cronjob

WP-Cron deaktivieren und echten Cronjob einrichten – so geht’s Schritt für Schritt

Deine WordPress-Seite erledigt im Hintergrund ständig kleine Aufgaben: Sie prüft, ob es Plugin-Updates gibt, verschickt geplante Newsletter, erstellt automatische Backups oder veröffentlicht Beiträge zu einem vorher festgelegten Zeitpunkt. All das passiert, ohne dass Du etwas tun musst – zumindest in der Theorie.

Zuständig dafür ist WP-Cron, das eingebaute Aufgabenplanungssystem von WordPress. Es hat allerdings einen entscheidenden Haken, der sowohl die Geschwindigkeit Deiner Seite als auch die Zuverlässigkeit dieser Hintergrundaufgaben beeinträchtigen kann. Die gute Nachricht: Es gibt eine bessere Lösung, und sie ist einfacher umzusetzen, als Du vielleicht denkst.

Dieser Artikel erklärt Dir Schritt für Schritt, was WP-Cron tut, warum Du es ersetzen solltest, wie das geht – und worauf Du dabei besonders achten musst.

Was ist eigentlich ein Cronjob?

Der Begriff „Cronjob“ klingt technischer, als er ist. Stell Dir einen Cronjob einfach wie einen Wecker vor, den Du für den Server stellst: Du legst fest, zu welchem Zeitpunkt oder in welchem Abstand eine bestimmte Aufgabe erledigt werden soll – und der Server führt sie dann automatisch und zuverlässig aus, egal was gerade sonst auf der Webseite passiert.

Der Name kommt aus der Unix/Linux-Welt (dem Betriebssystem, auf dem die meisten Webserver laufen): „cron“ leitet sich vom griechischen Wort für Zeit ab (chronos), und ein „Job“ ist schlicht eine Aufgabe. Ein Cronjob ist also eine zeitgesteuerte, automatische Aufgabe auf dem Server.

Typische Einsatzgebiete in der IT:

  • Täglich um 3 Uhr nachts ein Backup erstellen
  • Stündlich eine Datenbank aufräumen
  • Alle 15 Minuten neue E-Mails versenden

WP-Cron: Wie WordPress geplante Aufgaben erledigt

Da WordPress auf fast jedem Webserver läuft, auch auf einfachen Hosting-Tarifen ohne echten Cronjob-Zugang, hat das Entwicklerteam eine eigene Lösung entwickelt: WP-Cron.

Was WP-Cron konkret macht

WP-Cron ist keine eigenständige Software, sondern eine PHP-Datei namens wp-cron.php, die im Hauptverzeichnis Deiner WordPress-Installation liegt. Diese Datei enthält eine Liste aller geplanten Aufgaben – zum Beispiel:

  • Plugin- und Theme-Updates prüfen
  • Geplante Beiträge veröffentlichen
  • Den Papierkorb leeren
  • Backup-Plugins ausführen
  • Newsletter versenden
  • WooCommerce-Bestellungen verarbeiten

Das Problem mit WP-Cron

Hier liegt der Haken: WP-Cron ist kein echter Cronjob. Es ist eine Simulation. Die Datei wp-cron.php wird nämlich nicht vom Server zu einem festen Zeitpunkt gestartet, sondern bei jedem einzelnen Seitenbesuch ausgeführt.

Das klingt auf den ersten Blick praktisch – hat aber zwei große Nachteile:

Problem 1 – Zu viel Traffic: Jedes Mal, wenn jemand eine Seite auf Deiner Website öffnet, läuft wp-cron.php im Hintergrund mit. Bei einer stark besuchten Seite bedeutet das: Der Cron-Prozess läuft hunderte Male pro Stunde an – auch dann, wenn gar keine geplanten Aufgaben anstehen. Das kostet unnötig Serverleistung und kann Deine Seite spürbar verlangsamen.

Problem 2 – Zu wenig Traffic: Wenn Deine Seite wenig besucht wird, zum Beispiel nachts, am Wochenende oder bei einem neuen Blog, läuft WP-Cron oft einfach nicht. Dein Backup-Plugin startet nicht. Der geplante Beitrag erscheint nicht pünktlich. Der Newsletter geht zu spät raus. WP-Cron ist dabei vollständig auf Besucher angewiesen.

WP-Cron deaktivieren – Schritt für Schritt

Die Lösung besteht aus zwei Teilen: Zuerst schaltest Du WP-Cron ab, dann richtest Du einen echten Server-Cronjob ein, der die Aufgaben übernimmt.

Wichtiger Hinweis vor dem Start: Wenn Du WP-Cron deaktivierst, ohne danach einen echten Cronjob einzurichten, werden alle geplanten Aufgaben – Backups, Updates, Newsletter und mehr – nicht mehr ausgeführt. Mach das also unbedingt in einem Zug.

Schritt 1: Backup erstellen

Bevor Du irgendetwas an WordPress-Kerndateien änderst, erstelle ein vollständiges Backup Deiner Seite. Die meisten Backup-Plugins (z. B. UpdraftPlus) erledigen das mit wenigen Klicks. Lieber einmal zu viel gesichert als einmal zu wenig.

Schritt 2: Die wp-config.php bearbeiten

Die Datei wp-config.php ist die zentrale Konfigurationsdatei von WordPress. Sie liegt im Hauptverzeichnis Deiner WordPress-Installation – also im selben Ordner, in dem auch die Unterordner wp-admin, wp-content und wp-includes zu finden sind.

Du erreichst die Datei entweder über den Dateimanager in Deinem Hosting-Panel (z. B. cPanel, Plesk, IONOS, SiteGround) oder per FTP-Programm (z. B. FileZilla).

Öffne die Datei zur Bearbeitung und füge folgende Zeile ein – am besten direkt unterhalb der Datenbankeinstellungen, jedenfalls aber vor der Zeile /* Das war's, Schluss mit dem Editieren! */:

define('DISABLE_WP_CRON', true);

Speichere die Datei. Damit ist WP-Cron deaktiviert – und ab jetzt kümmert sich der Server statt WordPress selbst um die Ausführung der geplanten Aufgaben. Das setzt allerdings voraus, dass Du im nächsten Schritt einen echten Cronjob einrichtest.

Echten Server-Cronjob einrichten

Jetzt kommt der zweite Teil: Du sagst dem Server, wann er die Datei wp-cron.php aufrufen soll. Dafür gibt es drei Methoden: PHP, cURL und Wget. Alle drei erzielen das gleiche Ergebnis – der Unterschied liegt im Weg, den der Aufruf nimmt.

Cloudways-Nutzer „Cron Optimizer“ verwenden: Wer seine WordPress-Seite auf Cloudways betreibt, muss den Cronjob nicht manuell einrichten. Cloudways bietet dafür eine eigene Funktion namens Cron Optimizer, die genau das automatisch erledigt: WP-Cron deaktivieren, serverseitigen Cronjob einrichten und die Aufgaben intelligent verteilen, damit der Server nicht überlastet wird. Den Cron Optimizer findest Du in der Cloudways-Oberfläche unter Application Management → Cron Optimizer – dort genügt ein einziger Klick.

Option 1: PHP-Aufruf (direkt und schnell)

Beim PHP-Aufruf startet der Server die Datei wp-cron.php direkt mit dem PHP-Interpreter – also ohne den Umweg über das Internet. Das ist die schnellste Methode und hat keinen Webserver-Timeout.

*/15 * * * * /usr/bin/php /home/dein-benutzername/public_html/wp-cron.php

Den genauen Pfad findest Du im Dateimanager Deines Hosting-Panels. Auf den meisten Hosting-Umgebungen – egal ob Shared Hosting oder Managed Cloud – endet er auf public_html/wp-cron.php. Der vollständige Pfad sieht dann typischerweise so aus: /home/dein-benutzername/public_html/wp-cron.php

Option 2: cURL (empfohlen für die meisten Fälle)

cURL ist ein Werkzeug, das auf jedem Webserver installiert ist und Webseiten-Adressen aufrufen kann – ähnlich wie ein Browser, nur ohne Oberfläche. Der Cronjob ruft dabei die wp-cron.php über Deine Web-Adresse auf.

*/15 * * * * /usr/bin/curl -s "https://deine-domain.at/wp-cron.php?doing_wp_cron" > /dev/null 2>&1

Der Parameter -s sorgt dafür, dass cURL keinerlei Ausgaben erzeugt. Das > /dev/null 2>&1 am Ende schleust sämtliche Ausgaben ins Nichts – sonst bekommst Du bei jedem Aufruf eine E-Mail von Deinem Server. cURL gilt gegenüber Wget als die modernere und robustere Wahl und wird von den meisten Experten bevorzugt.

Option 3: Wget (verbreitete Alternative)

Wget ist ebenfalls ein Kommandozeilenwerkzeug zum Aufrufen von Web-Adressen und auf den meisten Servern verfügbar.

*/15 * * * * /usr/bin/wget -q -O /dev/null "https://deine-domain.at/wp-cron.php?doing_wp_cron"

Der Parameter -q steht für „quiet“ (= leise, keine Ausgaben), -O /dev/null verwirft das Ergebnis. Wget funktioniert einwandfrei, wird aber von Experten etwas seltener empfohlen als cURL – der Unterschied im Alltag ist für normale WordPress-Seiten jedoch gering.

Was bedeuten die Sternchen? (Die Cron-Syntax kurz erklärt)

Der kryptische Teil am Anfang (*/15 * * * *) steuert, wann der Cronjob ausgeführt wird. Er besteht aus fünf Feldern:

  ┌──────── Minute (0–59)
  │   ┌───── Stunde (0–23)
  │   │  ┌── Tag des Monats (1–31)
  │   │  │  ┌─ Monat (1–12)
  │   │  │  │  ┌ Wochentag (0–7, 0 und 7 = Sonntag)
  │   │  │  │  │
*/15  *  *  *  *

Ein * bedeutet „jeder mögliche Wert“. */15 bedeutet „alle 15 Minuten“. Hier ein paar nützliche Beispiele:

Syntax

Bedeutung

*/15 * * * *

Alle 15 Minuten

*/30 * * * *

Alle 30 Minuten

0 * * * *

Einmal pro Stunde (zur vollen Stunde)

0 2 * * *

Täglich um 2:00 Uhr nachts

Empfehlung: Für die meisten WordPress-Seiten reichen alle 15 Minuten vollkommen aus. Bei kleinen Blogs ohne Newsletter oder Shop sind sogar 30 Minuten ausreichend.

Cronjob im Hosting-Panel anlegen

Du musst die Cron-Syntax nicht in eine Kommandozeile tippen – die meisten Hoster bieten eine grafische Oberfläche dafür an.

cPanel (bei vielen Hostern wie HostEurope, SiteGround u. a.): Melde Dich in Deinem Hosting-Panel an → suche nach „Cron-Jobs“ oder „Cronjobs“ → klicke auf „Neuen Cron-Job hinzufügen“ → wähle ein Zeitintervall aus dem Dropdown-Menü → trage den Befehl (z. B. den cURL-Befehl von oben) in das Befehlsfeld ein → speichern.

Plesk (ebenfalls weit verbreitet): In Plesk findest Du unter „Geplante Aufgaben“ eine Option „URL abrufen“. Dort trägst Du einfach die Web-Adresse Deiner wp-cron.php ein – also https://deine-domain.at/wp-cron.php – und legst das gewünschte Intervall fest. Das ist die einfachste Methode für Einsteiger, da Du nichts über Cron-Syntax wissen musst.

IONOS, All-Inkl. und andere Hoster: Die meisten größeren deutschen und österreichischen Hoster bieten eigene Oberflächen für Cronjobs an. Suche in Deinem Kundenbereich nach „Cronjob“ oder „Geplante Aufgaben“ – oder schau in der Hilfedokumentation Deines Hosters nach.

Die Vorteile eines echten Cronjobs auf einen Blick

Wenn Du WP-Cron durch einen echten Server-Cronjob ersetzt, profitierst Du direkt von zwei handfesten Verbesserungen:

Weniger Last, mehr Speed: Da wp-cron.php nicht mehr bei jedem Seitenbesuch läuft, entlastest Du den Server spürbar. Besonders bei viel Traffic macht das einen messbaren Unterschied bei den Ladezeiten.

Verlässliche Ausführung – auch ohne Besucher: Ein echter Cronjob läuft nach Plan – egal ob gerade jemand auf Deiner Seite ist oder nicht. Geplante Veröffentlichungen erscheinen pünktlich, Backups laufen zuverlässig durch, Newsletter gehen zum richtigen Zeitpunkt raus.

Sonderfälle: Worauf Du unbedingt achten musst

Das Umstellen auf einen echten Cronjob ist in den meisten Fällen unkompliziert – aber es gibt einige Situationen, die besondere Aufmerksamkeit erfordern.

Newsletter-Plugins

Plugins wie The Newsletter Plugin oder FluentCRM verlassen sich stark auf zuverlässig ausgeführte Cron-Jobs, um Mails in Stapeln zum richtigen Zeitpunkt zu versenden. Wenn Du WP-Cron deaktivierst, ohne einen echten Cronjob einzurichten, bleiben Newsletter-Versendungen stehen. Nach dem Umstellen: Teste einen geplanten Versand, bevor Du wichtige Newsletter absendest.

WooCommerce und Online-Shops

WooCommerce nutzt den sogenannten Action Scheduler – eine eigene Aufgabenwarteschlange, die ebenfalls auf WP-Cron aufsetzt. Darunter fallen unter anderem: Bestellbestätigungs-E-Mails, Lagerbestandsprüfungen und wiederkehrende Zahlungen (bei Abonnements). Nach dem Umstellen auf einen echten Cronjob solltest Du im WooCommerce-Backend unter WooCommerce → Status → Geplante Aktionen prüfen, ob alle Aufgaben wie erwartet ausgeführt werden.

Backup-Plugins

Backup-Plugins wie UpdraftPlus, WP Staging oder BackWPup erstellen ihre automatischen Sicherungen über WP-Cron. Wenn Du WP-Cron deaktivierst, musst Du sicherstellen, dass Dein Cronjob-Intervall kürzer ist als das kürzeste Backup-Intervall. Läuft Dein Backup täglich um 3 Uhr nachts, reicht ein stündlicher Cronjob problemlos. Prüfe nach dem Umstellen, ob das nächste geplante Backup tatsächlich ausgeführt wird, bevor Du Dich entspannt zurücklehnst.

Staging- und Entwicklungsumgebungen

Auch auf einer Testumgebung sollte ein echter Cronjob laufen – schon allein wegen des Backup-Plugins. Was Du dort stattdessen gezielt absichern solltest, ist der E-Mail-Versand: Ein Plugin wie WP Mail SMTP im Testmodus fängt alle ausgehenden Mails ab, bevor sie echte Empfänger erreichen. WooCommerce-Zahlungsanbieter gehören ohnehin in den Sandbox-Modus.

Günstiges Hosting ohne Cronjob-Funktion

Nicht alle Hosting-Pakete bieten eigene Cronjobs an. Falls Du in Deinem Panel keine entsprechende Option findest, frage Deinen Hoster direkt – oft ist die Funktion in einem höheren Tarif enthalten. Musst Du trotzdem auf einen eigenen Server-Cronjob verzichten, gibt es eine praktische Alternative: externe Cronjob-Dienste. Diese Dienste rufen Deine wp-cron.php in einem von Dir festgelegten Intervall automatisch per URL auf – genauso wie cURL oder Wget es vom Server aus tun würden, nur eben von außen. Bekannte Anbieter im deutschsprachigen Raum sind cronjob.de und cron-job.org – beide bieten kostenlose Grundfunktionen an, die für die meisten WordPress-Seiten völlig ausreichen. Die Einrichtung ist denkbar einfach: Du trägst dort Deine URL (https://deine-domain.at/wp-cron.php?doing_wp_cron) und das gewünschte Intervall ein – fertig.

Praktischer Nutzen: Was bedeutet das für Dich?

Wenn Du einen regulären Blog mit gelegentlichen Besuchern betreibst, wirst Du nach dem Umstellen vor allem merken, dass geplante Veröffentlichungen zuverlässig zur eingestellten Uhrzeit erscheinen – auch wenn gerade niemand auf Deiner Seite ist. Das allein ist schon ein spürbarer Unterschied im Alltag.

Betreibst Du einen Shop oder verschickst regelmäßig Newsletter, profitierst Du zusätzlich von verlässlicheren Abläufen im Hintergrund – ohne dass Du selbst eingreifen musst. Und wenn Deine Seite wächst und mehr Besucher bekommt, schützt Dich der echte Cronjob davor, dass Dein Server durch den ständig mitlaufenden WP-Cron unnötig gebremst wird.

Fazit und Empfehlung

WP-Cron ist eine gute Notlösung für Hosting-Umgebungen, die keine echten Cronjobs erlauben – aber für jede Seite, bei der zuverlässige Hintergrundaufgaben wichtig sind, ist es eine schwache Lösung. Die Umstellung auf einen echten Server-Cronjob ist in wenigen Minuten erledigt und lohnt sich für so gut wie jede WordPress-Seite.

Empfohlene Vorgehensweise:

  1. Backup erstellen
  2. define('DISABLE_WP_CRON', true); in die wp-config.php eintragen
  3. Im Hosting-Panel einen Cronjob mit cURL anlegen, Intervall: alle 15 Minuten
  4. Prüfen, ob Backup, Newsletter und geplante Beiträge weiterhin funktionieren

Wenn Du unsicher bist, welche Methode für Deinen Hoster die richtige ist: Ein Blick in die Hilfedokumentation Deines Anbieters oder ein kurzes Ticket an den Support bringen Dich schnell ans Ziel. Der Aufwand ist gering – der Gewinn ist dauerhaft.


Weiterführende Links

Teilen mit

Diese Artikel könnten Dich auch interessieren:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mit dem Absenden Deines Kommentars stimmst du der Verarbeitung Deiner eingegebenen Daten (Name, E-Mail, Kommentar) gemäß meiner Datenschutzerklärung zu.