Zum Inhalt springen
WP-Cron deaktiviert, Server-Cronjob aktiviert: Umstellung auf echten Cronjob zur Performance-Optimierung von WordPress.
09. Sep 2026 Serhat Köylüce 7 Min. Lesezeit

WordPress zu langsam? Wie WP-Cron (wp-cron.php) deine Ladezeit beeinflusst

Deine WordPress-Website wird unter Last langsamer, obwohl Hosting, Theme und Plugins eigentlich ausreichend performant wirken? Eine mögliche Ursache arbeitet nahezu unsichtbar im Hintergrund: WP-Cron. WordPress nutzt dieses System für geplante Beiträge, Backups, Wartungsaufgaben und viele Plugin-Prozesse. Standardmäßig wird dabei bei regulären Seitenaufrufen geprüft, ob Aufgaben fällig sind. Gerade bei gut besuchten Websites kann das unnötige Arbeit verursachen. Mit einem echten Server-Cronjob lässt sich dieser Prozess kontrollierter, planbarer und häufig ressourcenschonender gestalten.

TL;DR

WP-Cron ist kein echter zeitgesteuerter Cronjob. WordPress prüft bei regulären Seitenaufrufen, ob geplante Aufgaben fällig sind. Bei stark frequentierten Websites kann das zusätzliche PHP-, Cache- und Datenbanklast verursachen. Bei wenig Traffic können geplante Aufgaben dagegen verspätet ausgeführt werden.

Die bessere Lösung für ambitionierte WordPress-Websites:

  • WP-Cron in der wp-config.php deaktivieren

  • einen echten Server-Cronjob einrichten

  • wp-cron.php beispielsweise alle 5 bis 15 Minuten aufrufen

  • dadurch Cron-Aufgaben unabhängig von Website-Besuchern ausführen

  • Serverlast besser kontrollieren und Lastspitzen reduzieren

  • geplante Beiträge, Backups und andere Hintergrundprozesse zuverlässiger ausführen

Wichtig: WP-Cron niemals deaktivieren, ohne einen echten Cronjob als Ersatz einzurichten.

WP-Cron deaktivieren: So verbesserst du Ladezeit und WordPress-Performance

Deine WordPress-Website ist eigentlich sauber aufgebaut. Das Theme ist schlank, die Anzahl der Plugins überschaubar und trotzdem wirken einzelne Seitenaufrufe plötzlich langsamer als erwartet.

Eine mögliche Ursache befindet sich an einer Stelle, die viele WordPress-Nutzer kaum beachten: WP-Cron.

WP-Cron ist das interne System von WordPress für zeitgesteuerte Aufgaben. Vereinfacht gesagt führt WordPress damit im Hintergrund kleine Jobs aus, zum Beispiel:

  • geplante Beiträge veröffentlichen

  • automatische Wartungsaufgaben durchführen

  • Backups über entsprechende Plugins anstoßen

  • Cache-Dateien bereinigen

  • E-Mails oder Benachrichtigungen versenden

  • Plugin-interne Aufgaben ausführen

  • bestimmte Update-Prüfungen und andere wiederkehrende Prozesse starten

Das klingt zunächst sinnvoll und das ist es grundsätzlich auch.

Das Problem liegt weniger darin, was WP-Cron erledigt, sondern darin, wie WordPress prüft, wann diese Aufgaben ausgeführt werden müssen.

Wie WP-Cron wirklich funktioniert und warum es die Performance bremsen kann

Der Name WP-Cron erinnert an klassische Cronjobs unter Linux. Technisch handelt es sich aber nicht um dasselbe Prinzip. Ein echter Server-Cronjob wird zu einem festgelegten Zeitpunkt vom Betriebssystem oder der Hostingumgebung gestartet.

WP-Cron besitzt standardmäßig keinen solchen unabhängigen Zeitgeber.

Stattdessen prüft WordPress im Rahmen regulärer Website-Aufrufe, ob geplante Aufgaben inzwischen fällig geworden sind. Die offizielle WordPress-Dokumentation weist deshalb ausdrücklich darauf hin, dass WP-Cron nicht kontinuierlich läuft und zeitkritische Aufgaben bei fehlenden Seitenaufrufen verspätet ausgeführt werden können.

Was passiert bei einem Seitenaufruf?

Vereinfacht sieht der Ablauf so aus:

Seitenaufruf → WordPress wird geladen → Cron-Liste wird geprüft → Zeitstempel werden verglichen → fällige Aufgaben werden erkannt → wp-cron.php wird angestoßen

WordPress speichert seine geplanten Cron-Ereignisse in der Option cron. Diese wird über die WordPress Options API abgerufen und enthält unter anderem die Zeitstempel der geplanten Aufgaben.

Technisch bedeutet das nicht zwingend, dass bei jedem einzelnen Aufruf eine physische Datenbankabfrage erfolgen muss. Ein persistenter Object Cache kann entsprechende Daten zwischenspeichern. Die Cron-Prüfung als Teil des WordPress-Ablaufs bleibt jedoch bestehen.

Wird tatsächlich ein fälliger Job gefunden, stößt WordPress die wp-cron.php standardmäßig über einen zusätzlichen HTTP-Request an. WordPress hat die Auslösung inzwischen so optimiert, dass sie möglichst wenig Einfluss auf die eigentliche Seitenausgabe hat. Dennoch bleibt sie zusätzliche Arbeit, die auf stark ausgelasteten Websites relevant werden kann.

Das WP-Cron-Dilemma

Situation Was passiert? Mögliche Folge
Hoher Traffic Sehr viele Requests führen auch zu wiederkehrenden Prüfungen auf fällige Cron-Ereignisse Zusätzliche PHP-, Cache- und gegebenenfalls Datenbanklast
Viele Cron-Aufgaben Plugins legen zahlreiche wiederkehrende oder einmalige Aufgaben an Cron-Prüfungen und Ausführungen werden aufwendiger
Wenig Traffic WP-Cron wird nur ausgelöst, wenn überhaupt ein entsprechender Request stattfindet Geplante Aufgaben können verspätet ausgeführt werden
Traffic-Spitzen Besucherzugriffe und Hintergrundprozesse können zeitlich zusammentreffen CPU, RAM, PHP-Worker und Datenbank können gleichzeitig stärker belastet werden

Das macht den Standardmechanismus etwas paradox.

Bei sehr wenig Traffic kann WP-Cron zu selten laufen. Bei sehr viel Traffic wird häufiger geprüft, obwohl eine Prüfung alle paar Minuten vollkommen ausreichen würde.

Genau an dieser Stelle kann ein echter Cronjob sinnvoll sein.

WP-Cron deaktivieren

Das Ziel besteht nicht darin, die WordPress-Aufgaben abzuschaffen. Wir möchten lediglich verhindern, dass WordPress bei normalen Website-Aufrufen selbstständig nach fälligen Cronjobs sucht.

Dafür gibt es die offizielle WordPress-Konstante DISABLE_WP_CRON. WordPress dokumentiert diese Möglichkeit ausdrücklich in der Konfiguration.

  1. Schritt: wp-config.php-Datei öffnen:

    Öffne die Datei: wp-config.php

    Sie befindet sich normalerweise im Hauptverzeichnis deiner WordPress-Installation. Um diese Datei zu öffnen, muss Du Dich mit einem FTP-Programm mit Deinen Webserver verbidnen. Bei webgo kannst Du auch alternativ den WebFTP im Kundenportal verwenden.

  2. Schritt: WP-Cron deaktivieren

    Füge folgende Zeile ein: define( 'DISABLE_WP_CRON', true );

    Am besten platzierst du sie vor der bekannten Zeile:

    /* That's all, stop editing! Happy publishing. */

    Je nach Sprache und WordPress-Version kann der Kommentar leicht anders formuliert sein.

    Nach dem Speichern führt ein normaler Seitenaufruf nicht mehr dazu, dass WordPress selbstständig WP-Cron startet. Im WordPress-Core wird bei gesetztem DISABLE_WP_CRON die entsprechende Cron-Auslösung übersprungen. Aber Achtung: Damit ist die Arbeit noch nicht erledigt.

Wichtig: Jetzt einen echten Server-Cronjob einrichten

Wenn du WP-Cron deaktivierst und keinen Ersatz einrichtest, können zeitgesteuerte WordPress-Aufgaben nicht mehr zuverlässig abgearbeitet werden.

Das kann unter anderem betreffen:

  • geplante Beiträge

  • Plugin-Backups

  • Wartungsjobs

  • Cache-Bereinigungen

  • zeitgesteuerte E-Mails

  • Plugin-interne Hintergrundprozesse

  • bestimmte Update- und Synchronisationsaufgaben

WP-Cron solltest du deshalb niemals einfach nur deaktivieren.

Der entscheidende zweite Schritt besteht darin, wp-cron.php regelmäßig über einen echten zeitgesteuerten Cronjob aufzurufen.

Was ist ein echter Cronjob und welches Intervall ist sinnvoll?

Ein Server-Cronjob wird unabhängig von deinen Website-Besuchern ausgeführt. Du kannst beispielsweise festlegen:

Führe wp-cron.php alle 15 Minuten aus.

Ob deine Website in dieser Zeit 0, 10 oder 10.000 Besucher hat, spielt keine Rolle. Genau das macht den Ablauf wesentlich planbarer.

Für viele klassische WordPress-Websites ist ein Intervall alle 10 bis 15 Minuten ein guter Ausgangspunkt.

Damit werden WordPress-Aufgaben regelmäßig ausgeführt, ohne WP-Cron bei jedem normalen Website-Aufruf prüfen zu lassen. Für Blogs, Unternehmensseiten und viele gewöhnliche WordPress-Projekte ist dieses Intervall meist vollkommen ausreichend.

Bei dynamischen Anwendungen kann allerdings ein kürzeres Intervall sinnvoll sein. Dazu gehören beispielsweise:

  • große WooCommerce-Shops

  • Membership-Websites

  • Buchungsplattformen

  • Websites mit vielen Hintergrundprozessen

  • Anwendungen mit zeitkritischen Automatisierungen

Hier können beispielsweise bis 5 Minuten geeigneter sein.

Das optimale Intervall hängt deshalb immer davon ab, welche Plugins und Prozesse deine Website tatsächlich verwendet.

Variante 1: wp-cron.php über HTTP aufrufen

Eine weit verbreitete Möglichkeit ist der Aufruf über wget:

wget -q -O - "https://example.de/wp-cron.php?doing_wp_cron" > /dev/null 2>&1

Alternativ funktioniert häufig auch curl:

curl -s "https://example.de/wp-cron.php?doing_wp_cron" > /dev/null 2>&1

Achtung: Ersetze example.de durch deine eigene Domain.

Der Vorteil dieser Variante: WordPress wird ähnlich wie bei einem normalen Webrequest ausgeführt. Das kann insbesondere bei Plugins hilfreich sein, die bestimmte Eigenschaften einer Webserver-Anfrage erwarten.

Auch die offizielle WordPress-Dokumentation empfiehlt als einfache Möglichkeit, den System-Scheduler regelmäßig eine Anfrage an wp-cron.php senden zu lassen.

Variante 2: wp-cron.php direkt mit PHP ausführen

Du kannst das PHP-Skript auch direkt aufrufen:

/usr/bin/php8.4 /home/www/deine-wordpress-installation/wp-cron.php

Dieser Pfad bezieht sich auf die Pfadstruktur von webgo Webhosting-Servern. Der Pfad bei anderen Hostern kann abweichen.

Hinweis: Es ist möglich gezielt PHP Versionen anzusprechen, in diesem Fall PHP 8.4, was meist empfehlenswert ist. Es wäre auch möglich eine andere Version anzusprechen.

So richtest du den Cronjob bei webgo ein

Auch bei einem webgo Webhosting lassen sich Cronjobs über die Hostingverwaltung einrichten. Für Intervalle wie beispielsweise alle 15 Minuten sind individuelle Cronjob-Konfiguration möglich.

Beispiel für einen 15-Minuten-Cronjob:

In klassischer Cron-Syntax sieht ein Intervall von 15 Minuten beispielsweise so aus:

*/15 * * * *

Zusammen mit einem PHP-Aufruf könnte der vollständige Eintrag beispielsweise lauten:

*/15 * * * * /usr/bin/php8.4 /home/www/deine-wordpress-installation/wp-cron.php > /dev/null 2>&1

Wichtig ist, dass du nicht einfach fremde Pfade kopierst. Prüfe immer, welcher PHP-Befehl und welcher Dateipfad in deiner Hostingumgebung tatsächlich gelten. Bei einem webgo Webhosting ist der Dateipfad, wie oben dargestellt.

Zum erstellen von Cronjobs haben wir ansonsten folgende Anleitungen:

Cronjob erst testen, dann vergessen

Nach der Umstellung solltest du kontrollieren, ob deine Cronjobs wirklich ausgeführt werden.

Typische Tests sind:

  • einen WordPress-Beitrag für einige Minuten in der Zukunft planen

  • kontrollieren, ob Backup-Jobs weiterhin starten

  • prüfen, ob Plugin-Automatisierungen ausgeführt werden

  • Fehlermeldungen des Server-Cronjobs kontrollieren

Fortgeschrittene Nutzer können außerdem WP-CLI verwenden. WordPress stellt beispielsweise Befehle wie wp cron event list zur Verfügung, mit denen sich geplante Cron-Ereignisse kontrollieren lassen.

Tipp: Aktivieren Sie bei den Cronjob-Einstellungen im webgo Webhosting die E-Mail-Benachrichtigung bei fehlerhafter Ausführung. So erhalten Sie bei einem Fehlschlag eine automatische Systeminfo an die hinterlegte E-Mail-Adresse, was bei der Fehlersuche behilflich sein kann.

Fazit: Weniger unnötige Arbeit, besser planbare WordPress-Performance

WP-Cron ist praktisch, weil WordPress damit ohne spezielle Serverkonfiguration zeitgesteuerte Aufgaben anbieten kann. Für eine kleine Website kann diese Standardeinstellung vollkommen ausreichend sein. Bei stärker frequentierten WordPress-Websites oder Installationen mit zahlreichen Hintergrundprozessen ist ein echter Server-Cronjob jedoch häufig die sauberere Lösung.

Statt WordPress bei normalen Seitenaufrufen selbst prüfen zu lassen, ob gerade eine Aufgabe fällig ist, übergibst du diese Verantwortung an einen echten Zeitplan.

Das bringt gleich mehrere Vorteile:

  • weniger wiederkehrende Cron-Prüfungen bei normalen Website-Aufrufen

  • kontrollierbarere Serverlast

  • zuverlässigere Ausführung geplanter Aufgaben

  • weniger Abhängigkeit vom tatsächlichen Besucheraufkommen

  • stabilere Abläufe bei Traffic-Spitzen

  • besser vorhersehbare Hintergrundprozesse

Wie groß der messbare Performance-Gewinn ausfällt, hängt von deiner Website ab. Auf einer kleinen WordPress-Seite mit wenigen Cron-Ereignissen kann der Unterschied gering sein. Bei stark frequentierten Websites, WooCommerce-Shops oder Installationen mit vielen geplanten Hintergrundaufgaben kann die Umstellung dagegen spürbar zur Entlastung von PHP, Datenbank und Serverressourcen beitragen.

Die wichtigste Regel lautet deshalb:

WP-Cron nicht einfach abschalten, sondern unbedingt durch einen echten Server-Cronjob ersetzen.

So behält WordPress seine zeitgesteuerten Funktionen, während du deren Ausführung deutlich besser kontrollierst.

Artikel teilen

Gefiel Dir dieser Beitrag?

Deine Bewertung hilft uns, unseren Inhalt weiter zu verbessern.

Ja
Nein
Serhat Köylüce ist Onlinemarketing-Manager bei der webgo GmbH.

Serhat Köylüce

Online Marketing Manager
Serhat Köylüce ist seit 2018 Teil des webgo-Teams und ist spezialisiert auf Web-Lösungen, Performance-Optimierung, modernes Webdesign und WordPress.