Wenn Ihre WordPress-Seite gelegentlich langsamer lädt oder Ihre geplanten Beiträge nicht rechtzeitig erscheinen, liegt dies häufig am integrierten WordPress-Timer, dem WP-Cron. Bei einem cPanel-Hosting-Paket können Sie diesen durch einen echten, vom Server gesteuerten Zeitplan ersetzen.
Was ist WP-Cron und worin liegt das Problem?
WordPress führt seine zeitgesteuerten Aufgaben (geplante Beiträge, Suche nach Updates, Wartungsaufgaben für Plugins, E-Mails des Online-Shops) über die Datei „wp-cron.php“ aus. Diese richtet sich jedoch nicht nach der Serveruhr: Sie wird erst gestartet, wenn jemand eine Seite aufruft. Dies hat folgende Konsequenzen:
- Wenn gerade keine Besucher auf der Seite sind, verzögern sich die Aufgaben (beispielsweise wird ein für Mitternacht geplanter Beitrag erst beim ersten Besuch am Morgen angezeigt);
- Auf einer stark frequentierten Website wird es unnötig oft ausgeführt, und diese Ausführung verlangsamt das Laden der Seite für den jeweiligen Besucher;
- Aufgrund bestimmter Cache-Plugins oder fehlerhafter DNS-Einstellungen lässt sich der Dienst überhaupt nicht starten.
Die Lösung: WP-Cront wird deaktiviert, und die Cron-Aufgabe des Servers ruft die Funktion regelmäßig auf, beispielsweise alle 15 Minuten. (Informationen zur allgemeinen Verwendung von Cron finden Sie im Artikel über zeitgesteuerte Aufgaben (Cron-Jobs) in cPanel.)
Der einfachste Weg: WP Toolkit
Wenn WordPress über das WP Toolkit verwaltet wird (Menüpunkt „WordPress-Verwaltung“ in cPanel), aktivieren Sie bitte in der Website-Übersicht unter dem Abschnitt „Leistung“ die Option „wp-cron.php übernehmen“. Das WP Toolkit deaktiviert in diesem Fall WP-Cron automatisch und richtet stattdessen die serverseitige Zeitplanung ein; die folgenden manuellen Schritte sind nicht erforderlich.
Manuelle Einrichtung im Menüpunkt „Cron-Aufgaben“
-
Melden Sie sich bei cPanel an und klicken Sie in der Gruppe „Erweitert“ auf den Menüpunkt „Cron-Aufgaben“.
- Legen Sie im Abschnitt „Neuen Cron-Job hinzufügen“ den Zeitplan fest. Für eine Ausführung alle 15 Minuten wählen Sie aus der Liste neben dem Feld „Minute“ die Option „Einmal alle 15 Minuten (*/15)“ aus; in den übrigen Feldern („Stunde“, „Tag“, „Monat“, „Wochentag“) belassen Sie die Einstellung „
*“ (jeder). -
Geben Sie in das Feld „Befehl“ einen der folgenden Befehle ein (ersetzen Sie „
felhasznalonev“ durch Ihren cPanel-Benutzernamen und „mappa“ durch Ihren WordPress-Ordner; bei der Hauptdomain ist dies „public_html“):Mit PHP, direkt (empfohlen, unabhängig von DNS und Webserver):
/usr/local/bin/php /home/felhasznalonev/public_html/wp-cron.php > /dev/null 2>&1Mit WP-CLI (führt nur die anstehenden Aufgaben aus):
/usr/local/bin/wp cron event run --due-now --path=/home/felhasznalonev/public_html > /dev/null 2>&1Geben Sie die Website-Adresse ein, falls die oben genannten Optionen aus irgendeinem Grund nicht funktionieren:
wget -q -O - https://pelda.hu/wp-cron.php?doing_wp_cron > /dev/null 2>&1Aufgrund des Teils
> /dev/null 2>&1versendet das System nicht bei jedem Durchlauf eine E-Mail. -
Klicken Sie auf die Schaltfläche „Neue Cron-Aufgabe hinzufügen“.
Die Aufgabe wird am Ende der Seite in der Liste „Aktuelle Cron-Aufgaben“ angezeigt, wo Sie sie über die Links „Bearbeiten“ und „Löschen“ ändern können.
Deaktivierung von WP-Cron
Falls die Cron-Aufgabe des Servers bereits ausgeführt wird, deaktivieren Sie bitte den integrierten Timer von WordPress, da andernfalls beide Aufgaben gleichzeitig ausgeführt würden. Fügen Sie dazu in der Datei „wp-config.php“ im Stammverzeichnis von WordPress vor der Zeile „/* That's all, stop editing! */“ folgenden Eintrag ein:
define('DISABLE_WP_CRON', true);
Sie können die Datei im cPanel-Dateimanager bearbeiten (Dateimanager).
Überprüfung
- Planen Sie einen Testbeitrag für einige Minuten später ein und prüfen Sie, ob er nach dem nächsten Cron-Lauf angezeigt wird.
- Auf der Seite „WordPress-Tools › Website-Zustand“ wird angezeigt, wenn geplante Ereignisse verspätet sind.
- Sollte der Befehl eine Fehlermeldung ausgeben, entfernen Sie vorübergehend den Teil „
> /dev/null 2>&1“ am Ende und geben Sie im Feld „Cron-E-Mail“ Ihre E-Mail-Adresse ein: Sie erhalten dann die Ausgabe des nächsten Durchlaufs per E-Mail.


