WP-Cron deaktivieren: WordPress-Aufgaben mit echtem Cronjob ausführen
WordPress verwendet standardmässig die Datei wp-cron.php, um geplante Aufgaben im Hintergrund auszuführen. Dazu gehören zum Beispiel geplante Beitragsveröffentlichungen, Plugin- und Theme-Aufgaben, WooCommerce-Prozesse, E-Mail-Versand, Sicherheits-Scans, Cache-Aufgaben oder automatische Wartungsfunktionen.
Der WordPress-eigene Cron-Mechanismus heisst WP-Cron. Anders als ein klassischer Server-Cronjob läuft WP-Cron jedoch nicht automatisch zu einer festen Uhrzeit. Stattdessen wird er normalerweise durch Seitenaufrufe Ihrer Website ausgelöst. Sobald ein Besucher, ein Bot oder Sie selbst eine Seite aufrufen, prüft WordPress, ob geplante Aufgaben fällig sind.
Für kleine Websites funktioniert dieses Prinzip oft problemlos. Bei stark besuchten Websites kann WP-Cron jedoch unnötige Serverlast erzeugen. Bei Websites mit wenig Traffic kann das Gegenteil passieren: Geplante Aufgaben werden verspätet oder gar nicht ausgeführt, weil niemand die Website aufruft. Eine saubere Lösung ist deshalb, WP-Cron zu deaktivieren und stattdessen einen echten Cronjob im cPanel einzurichten.
Deaktivieren Sie WP-Cron nur, wenn Sie anschliessend wirklich einen echten Cronjob einrichten. Wenn WP-Cron deaktiviert wird, aber kein Ersatz-Cronjob läuft, können geplante Beiträge, Backups, Plugin-Aufgaben, WooCommerce-Aktionen und andere Hintergrundprozesse ausfallen oder verspätet ausgeführt werden.
Was ist WP-Cron?
WP-Cron ist das interne Aufgabenplanungssystem von WordPress. Es sorgt dafür, dass geplante Aufgaben automatisch ausgeführt werden. Der Name ist an klassische Cronjobs angelehnt, technisch funktioniert WP-Cron aber anders als ein echter Server-Cronjob.
Typische Aufgaben, die über WP-Cron laufen, sind:
- geplante Beiträge veröffentlichen,
- automatische Plugin-, Theme- oder WordPress-Aufgaben ausführen,
- Update-Prüfungen durchführen,
- Cache-Dateien erneuern oder bereinigen,
- Backups starten, sofern ein Backup-Plugin dies nutzt,
- WooCommerce-Bestellprozesse oder Abonnements verarbeiten,
- E-Mails aus Warteschlangen versenden,
- Sicherheits- oder Malware-Scans starten,
- temporäre Daten und Transients bereinigen.
WP-Cron ist also nicht grundsätzlich schlecht. Es ist eine praktische Lösung, weil sie ohne Serverkonfiguration funktioniert. Für produktive Websites, geschäftskritische WordPress-Installationen oder Onlineshops ist ein echter Cronjob jedoch oft zuverlässiger.
Warum kann WP-Cron die Performance beeinflussen?
Bei jedem Seitenaufruf prüft WordPress, ob ein Cron-Ereignis fällig ist. Diese Prüfung ist normalerweise klein, kann aber bei vielen Besuchern, vielen Plugins oder vielen geplanten Aufgaben spürbar werden. Besonders Websites mit WooCommerce, Membership-Plugins, Backup-Plugins, Sicherheitsplugins oder umfangreichen Automatisierungen können davon betroffen sein.
Es gibt zwei typische Problemfälle:
- Viele Besucher: WP-Cron kann sehr häufig geprüft werden und zusätzliche PHP-Prozesse auslösen.
- Wenig Besucher: Fällige Aufgaben werden verspätet ausgeführt, weil kein Seitenaufruf als Auslöser vorhanden ist.
Ein echter Cronjob löst beide Probleme. Er ruft die WordPress-Cron-Datei unabhängig von Besuchern in einem festen Intervall auf, zum Beispiel alle 15 oder 30 Minuten. Dadurch werden Hintergrundaufgaben planbarer und die Website muss diese Prüfung nicht mehr bei normalen Besucheraufrufen anstossen.
Mit einem echten Server-Cronjob werden WordPress-Hintergrundaufgaben kontrolliert in festen Intervallen ausgeführt. Das kann die Reaktionszeit der Website verbessern und sorgt gleichzeitig dafür, dass geplante Aufgaben zuverlässiger abgearbeitet werden.
Wann ist ein echter Cronjob sinnvoll?
Ein echter Cronjob ist besonders empfehlenswert, wenn Ihre Website regelmässig Hintergrundprozesse ausführt oder geschäftlich wichtig ist. Das betrifft unter anderem Unternehmensseiten, Onlineshops, Mitgliederbereiche, Kursplattformen und Websites mit automatisierten Workflows.
Ein Wechsel auf einen echten Cronjob ist sinnvoll, wenn:
- geplante Beiträge verspätet veröffentlicht werden,
- Backups nicht zuverlässig starten,
- WooCommerce-Aufgaben verzögert laufen,
- E-Mail-Warteschlangen nicht regelmässig verarbeitet werden,
- Ihre Website viele Besucher hat,
- Sie viele Plugins mit Hintergrundaufgaben verwenden,
- Sie Performance-Probleme durch häufige Cron-Ausführung vermuten,
- Sie mehr Kontrolle über geplante WordPress-Aufgaben möchten.
Für sehr kleine Websites mit wenigen Plugins und normalem Traffic ist WP-Cron oft ausreichend. Trotzdem ist ein echter Cronjob auch dort eine saubere technische Lösung, wenn Sie eine zuverlässige Ausführung bevorzugen.
Schritt 1: Backup erstellen
Bevor Sie Änderungen an der wp-config.php vornehmen, sollten Sie ein aktuelles Backup Ihrer Website erstellen. Die Datei wp-config.php gehört zu den wichtigsten WordPress-Konfigurationsdateien. Fehlerhafte Änderungen können dazu führen, dass WordPress nicht mehr korrekt lädt.
Sichern Sie mindestens:
- die Datei
wp-config.php, - Ihre WordPress-Dateien,
- die WordPress-Datenbank.
Wenn Sie nur eine kleine Änderung vornehmen, reicht es in vielen Fällen, die bestehende wp-config.php vor dem Bearbeiten lokal herunterzuladen oder im Dateimanager zu duplizieren.
Schritt 2: WP-Cron in der wp-config.php deaktivieren
Damit WordPress WP-Cron nicht mehr bei normalen Seitenaufrufen ausführt, müssen Sie eine Konstante in der Datei wp-config.php setzen.
Sie finden die Datei wp-config.php im Hauptverzeichnis Ihrer WordPress-Installation. Dort befinden sich normalerweise auch die Ordner wp-admin, wp-content und wp-includes.
- Melden Sie sich in Ihrem cPanel an.
- Öffnen Sie den cPanel Dateimanager.
- Navigieren Sie zum Hauptverzeichnis Ihrer WordPress-Installation.
- Suchen Sie die Datei
wp-config.php. - Erstellen Sie eine Kopie der Datei oder laden Sie sie als Sicherung herunter.
- Öffnen Sie die Datei zur Bearbeitung.
- Fügen Sie die folgende Zeile oberhalb von
/* That's all, stop editing! Happy publishing. */ein.
define('DISABLE_WP_CRON', true);
Speichern Sie die Datei anschliessend. Damit wird verhindert, dass WordPress WP-Cron automatisch bei normalen Seitenaufrufen auslöst.
Achten Sie darauf, den Code nicht ganz am Ende nach einem schliessenden PHP-Tag einzufügen. In den meisten WordPress-Installationen gibt es am Ende der
wp-config.php kein schliessendes ?>. Die Zeile gehört oberhalb des Hinweises That's all, stop editing!.Schritt 3: Echten Cronjob im cPanel einrichten
Nachdem WP-Cron deaktiviert wurde, richten Sie im cPanel einen echten Cronjob ein. Dieser ruft die Datei wp-cron.php automatisch in einem festen Intervall auf.
- Melden Sie sich in Ihrem cPanel an.
- Öffnen Sie im Bereich Erweitert den Menüpunkt Cronjobs.
- Wählen Sie unter Häufige Einstellungen ein geeignetes Intervall.
- Für viele Websites ist alle 15 Minuten oder alle 30 Minuten sinnvoll.
- Tragen Sie im Feld Befehl einen passenden Cronjob-Befehl ein.
- Speichern Sie den Cronjob.
Eine einfache und häufig verwendete Variante ist der Aufruf über wget:
wget -q -O - https://ihredomain.ch/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Ersetzen Sie https://ihredomain.ch durch Ihre tatsächliche Domain. Achten Sie darauf, dass Sie die korrekte Website-Adresse verwenden, also mit https:// und ohne Tippfehler.
Alternative Cronjob-Befehle
Je nach Hosting-Umgebung können verschiedene Befehle verwendet werden. Wenn wget nicht verfügbar ist, funktioniert häufig auch curl:
curl -s https://ihredomain.ch/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Eine weitere Möglichkeit ist der direkte PHP-Aufruf, sofern der korrekte PHP-Pfad bekannt ist:
php /home/benutzername/public_html/wp-cron.php >/dev/null 2>&1
Der direkte PHP-Aufruf ist technisch sauber, setzt aber voraus, dass der vollständige Serverpfad korrekt ist. Dieser Pfad unterscheidet sich je nach Hosting-Konto und Installationsverzeichnis.
Für die meisten CURIAWEB-Kunden ist der
wget-Aufruf über die Domain die einfachste und verständlichste Lösung. Falls Sie unsicher sind, welcher Befehl für Ihre Website geeignet ist, hilft Ihnen der CURIAWEB-Support gerne weiter.Welches Intervall ist sinnvoll?
Das richtige Cronjob-Intervall hängt davon ab, welche Aufgaben Ihre Website ausführt. Ein Intervall von einer Minute ist für normale WordPress-Websites meistens unnötig und kann zu hoher Last führen. Zu lange Intervalle können dagegen dazu führen, dass Aufgaben erst spät ausgeführt werden.
| Website-Typ | Empfohlenes Intervall |
|---|---|
| Normale Unternehmenswebsite oder Blog | Alle 30 Minuten |
| Website mit geplanten Beiträgen oder regelmässigen Plugin-Aufgaben | Alle 15 bis 30 Minuten |
| WooCommerce-Shop oder Mitgliederbereich | Alle 5 bis 15 Minuten, je nach Bedarf |
| Sehr aktive Website mit Warteschlangen, Buchungen oder Abos | Alle 5 Minuten, falls technisch sinnvoll |
Für viele Websites ist alle 15 Minuten ein guter Kompromiss zwischen zuverlässiger Ausführung und ressourcenschonendem Betrieb.
So testen Sie, ob WP-Cron funktioniert
Nach der Einrichtung sollten Sie prüfen, ob geplante Aufgaben weiterhin ausgeführt werden. Am einfachsten testen Sie dies mit einer geplanten Beitragsveröffentlichung oder mit einem Plugin, das Cron-Ereignisse anzeigen kann.
Mögliche Prüfungen:
- Planen Sie einen Testbeitrag für die nahe Zukunft und prüfen Sie, ob er veröffentlicht wird.
- Kontrollieren Sie, ob Backup-Plugins weiterhin automatisch starten.
- Prüfen Sie WooCommerce-Aktionen, Warteschlangen oder geplante E-Mails.
- Verwenden Sie bei Bedarf ein Plugin zur Anzeige geplanter Cron-Ereignisse.
- Kontrollieren Sie im cPanel, ob der Cronjob korrekt gespeichert wurde.
Falls Aufgaben nicht ausgeführt werden, prüfen Sie zuerst die Domain im Cronjob-Befehl, die Schreibweise der Datei wp-cron.php und die Position der Zeile in der wp-config.php.
Häufige Fehler bei der Einrichtung
Bei der Umstellung von WP-Cron auf einen echten Cronjob treten häufig ähnliche Fehler auf. Die folgende Übersicht hilft bei der Fehlersuche.
- WP-Cron deaktiviert, aber kein Cronjob eingerichtet: Geplante Aufgaben laufen nicht mehr zuverlässig.
- Falsche Domain im Befehl: Der Cronjob ruft die falsche Website oder eine nicht erreichbare URL auf.
- HTTP statt HTTPS: Verwenden Sie nach Möglichkeit die korrekte HTTPS-Adresse Ihrer Website.
- Website durch Wartungsmodus blockiert: Der Cron-Aufruf erreicht WordPress nicht korrekt.
- Sicherheitsplugin blockiert wp-cron.php: Einige Sicherheitsregeln können den Zugriff einschränken.
- Zu kurzes Intervall: Sehr häufige Cronjobs können unnötige Last verursachen.
- Fehler in der wp-config.php: Ein Syntaxfehler kann WordPress beeinträchtigen.
Sollte wp-cron.php öffentlich erreichbar sein?
Die Datei wp-cron.php ist normalerweise öffentlich über Ihre Domain erreichbar. Das ist bei WordPress üblich, weil der Cron-Aufruf standardmässig über HTTP erfolgt. Wenn Sie spezielle Sicherheitsregeln, Firewalls oder Zugriffsbeschränkungen einsetzen, sollten Sie darauf achten, dass Ihr eigener Cronjob die Datei weiterhin aufrufen kann.
Falls ein Sicherheitsplugin den Zugriff blockiert, kann es passieren, dass geplante Aufgaben nicht mehr ausgeführt werden. In diesem Fall sollten Sie den Cron-Aufruf gezielt erlauben oder auf einen direkten PHP-Aufruf über den Serverpfad wechseln.
WP-Cron wieder aktivieren
Wenn Sie zur Standardfunktion von WordPress zurückkehren möchten, entfernen Sie die folgende Zeile wieder aus der wp-config.php:
define('DISABLE_WP_CRON', true);
Löschen Sie anschliessend den im cPanel angelegten Cronjob, damit wp-cron.php nicht doppelt oder unnötig aufgerufen wird.
Empfehlung für CURIAWEB-Kunden
Für professionelle WordPress-Websites empfehlen wir, WP-Cron durch einen echten Cronjob zu ersetzen. Besonders bei WooCommerce, Backup-Plugins, Sicherheitsplugins, Mitgliederbereichen oder Websites mit geplanten Veröffentlichungen ist diese Variante zuverlässiger und technisch sauberer.
Bei CURIAWEB.CH können Sie den Cronjob direkt im cPanel einrichten. Für die meisten Websites ist ein Intervall von 15 oder 30 Minuten geeignet. Onlineshops oder Websites mit vielen zeitkritischen Aufgaben können ein kürzeres Intervall benötigen.
Häufige Fragen zu WP-Cron und echten Cronjobs
Was passiert, wenn ich WP-Cron deaktiviere?
WordPress löst geplante Aufgaben nicht mehr automatisch bei Seitenaufrufen aus. Deshalb muss ein echter Cronjob eingerichtet werden, der wp-cron.php regelmässig aufruft.
Wie oft sollte der Cronjob laufen?
Für normale Websites reichen meist 15 bis 30 Minuten. Für WooCommerce, Mitgliederbereiche oder zeitkritische Aufgaben können 5 bis 15 Minuten sinnvoll sein.
Verbessert das Deaktivieren von WP-Cron immer die Performance?
Nicht immer spürbar, aber technisch ist es oft sauberer. Der grösste Vorteil liegt in der kontrollierten und zuverlässigeren Ausführung geplanter Aufgaben.
Kann ich WP-Cron komplett löschen?
Nein. Die Datei wp-cron.php sollte nicht gelöscht werden. Sie wird weiterhin vom echten Cronjob aufgerufen. Deaktiviert wird nur der automatische Auslöser bei normalen Seitenaufrufen.
Ist ein echter Cronjob für WooCommerce empfehlenswert?
Ja. WooCommerce und viele Erweiterungen nutzen geplante Aufgaben für Bestellungen, E-Mails, Abonnements, Lagerprozesse oder Warteschlangen. Ein echter Cronjob kann hier für mehr Zuverlässigkeit sorgen.
Maximale Stabilität für Ihre WordPress-Website
Mit CURIAWEB.CH profitieren Sie von performancestarkem WordPress-Hosting mit Serverstandort Schweiz, cPanel-Verwaltung und persönlichem Support.
Zu den WordPress-Hosting-TarifenSie sind unsicher beim Einrichten des Cronjobs? Unser CURIAWEB-Support hilft Ihnen gerne weiter.