Haben Sie Probleme mit geplanten Aktionen, die in WordPress nicht funktionieren?
WordPress verfügt über ein Zeitplanungssystem namens wp-cron, das jedoch manchmal eine geplante Aufgabe wie die Veröffentlichung geplanter Beiträge, das Versenden ausgelöster E-Mails usw. verpasst. Richtige Cron-Jobs, die vom Betriebssystem Ihres Servers ausgeführt werden, sind oft zuverlässiger.
In diesem Artikel zeigen wir Ihnen, wie Sie wp-cron in WordPress einfach deaktivieren können, und stellen Ihnen zwei Möglichkeiten vor, wie Sie richtige Cron-Jobs einrichten können.
Warum wp-cron deaktivieren?
Ihre WordPress-Website verfügt über ein integriertes Zeitplanungssystem namens wp-cron. Es führt zeitkritische Aufgaben aus, wie z. B. die Prüfung auf Aktualisierungen, die Veröffentlichung geplanter Beiträge, die automatische Erstellung regelmäßiger Backups, das Versenden ausgelöster E-Mails und vieles mehr.
Weitere Informationen finden Sie in unserem Leitfaden zur Anzeige und Steuerung von WordPress-Cron-Jobs.
Das Problem ist, dass WordPress nur dann aufgefordert wird, nach geplanten Aufträgen zu suchen, wenn jemand Ihre Website besucht. Das funktioniert für die meisten Websites gut genug, aber manchmal kann es bei kleineren Websites zu Problemen führen.
Wenn Ihre Website z. B. wenig besucht wird, werden die geplanten Beiträge möglicherweise nicht rechtzeitig veröffentlicht. Wenn Ihre Website stark frequentiert ist, wird wp-cron häufig überprüft, was sich auf die Leistung Ihrer Website auswirken kann.
Wenn Sie nur den Fehler mit den fehlenden geplanten Beiträgen beheben möchten, können Sie das kostenlose Plugin Missed Scheduled Publisher verwenden. Wenn Sie jedoch alle Probleme mit geplanten Aktionen lösen möchten, benötigen Sie einen echten Cron-Job.
Ein echter Cron-Job wird vom Betriebssystem Ihres Webhosting-Servers ausgeführt, nicht von WordPress. Sie können ihn einrichten, um zuverlässiger nach geplanten Aufgaben zu suchen. Standardmäßig hat WordPress keinen Zugriff darauf, dies auf Serverebene einzurichten, aber Sie können es mit Hilfe unseres Tutorials leicht tun.
Schauen wir uns also an, wie man wp-cron einfach deaktivieren und einen richtigen Cron-Job einrichten kann. Das werden wir in diesem Tutorial behandeln:
Deaktivieren von wp-cron in WordPress
Um wp-cron zu deaktivieren, müssen Sie die Datei wp-config.php bearbeiten, die eine zentrale WordPress-Konfigurationsdatei ist. Sie befindet sich im Root-Ordner Ihrer WordPress-Website und Sie müssen einen FTP-Client oder den Dateimanager in Ihrem Webhosting-Kontrollpanel verwenden.
Diese Datei enthält eine Menge sensibler Informationen, und wenn Sie die falschen Änderungen vornehmen, kann Ihre WordPress-Website zerstört werden. Wir empfehlen, zunächst eine Sicherungskopie der Datei zu erstellen, nur für den Fall. Wie das geht, erfahren Sie in unserer Anleitung zum Bearbeiten der wp-config.php in WordPress.
Sie müssen den folgenden Code in die Datei wp-config.php einfügen, und zwar kurz vor der Zeile ‚That’s all, stop editing! Viel Spaß beim Bloggen“:
define('DISABLE_WP_CRON', true);
So sollte es aussehen.
Danach speichern Sie die Datei und laden sie wieder auf Ihre Website hoch.
WordPress wird wp-cron nicht mehr auslösen, wenn jemand Ihre Website besucht.
Methode 1: Einrichten eines korrekten Cron-Jobs auf Ihrem WordPress-Host
Nun müssen Sie einen geeigneten Cron-Job einrichten, um Ihre geplanten Aufgaben auszuführen. Die Art und Weise, wie Sie dies tun, hängt von den Tools ab, die Ihr WordPress-Hosting-Anbieter bereitstellt.
Die einfachste Möglichkeit, Cron-Jobs einzurichten, ist die Verwendung von cPanel, einem beliebten Website-Kontrollpanel, das in vielen Webhosting-Angeboten enthalten ist, auch bei Bluehost. In diesem Tutorial werden wir das Bluehost cPanel verwenden.
Hinweis: Einige Webhosting-Anbieter verwenden kein cPanel, und bei einigen können Sie nicht einmal Cron-Jobs erstellen. Im Zweifelsfall sollten Sie sich an Ihren Hosting-Anbieter wenden oder dessen Support-Dokumentation konsultieren. Sie können jederzeit einen Cron-Dienst eines Drittanbieters verwenden (siehe Methode 2).
Sobald Sie sich bei Ihrem Konto angemeldet haben und auf die Seite „Websites“ gehen, wechseln Sie oben auf den Tab „Erweitert“.
Scrollen Sie hier nach unten zum Abschnitt „Cron Jobs“ und klicken Sie auf die Schaltfläche „Verwalten“ daneben. Beachten Sie, dass die Position dieses Abschnitts je nach Ihrem Hosting-Anbieter variieren kann.
Dies führt Sie zu einer neuen Seite, auf der Sie neue Cron-Jobs erstellen können.
Machen Sie sich keine Sorgen wegen der Warnung, dass Sie gute Kenntnisse der Linux-Befehle benötigen. Es ist nur ein einziger Befehl erforderlich, und wir werden Ihnen im Folgenden genau zeigen, welcher das ist.
Bei Bedarf können Sie die E-Mail-Adresse ändern, an die die Cron-Benachrichtigungen gesendet werden. Die Standardadresse ist diejenige, die Sie bei der Anmeldung für Ihr Webhosting verwendet haben, und diese funktioniert bei den meisten Websites problemlos.
Gehen Sie nun zum Abschnitt „Add New Cron Job“ und richten Sie einen Cron-Job ein.
Zunächst müssen Sie festlegen, wie oft der Cron-Job ausgeführt werden soll. Das können Sie beliebig festlegen, wir empfehlen jedoch ein 30-Minuten-Intervall.
Klicken Sie auf die Schaltfläche „Allgemeine Einstellungen“ und wählen Sie ein Zeitintervall aus der Dropdown-Liste aus. Zweimal pro Stunde“ ist für die meisten Websites eine gute Wahl, wenn Sie sich nicht sicher sind.
Nun können Sie den Befehl eingeben, mit dem WordPress aufgefordert wird, seine geplanten Aufgaben auszuführen. Sie müssen den folgenden Code in das Feld „Befehl“ einfügen:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Achten Sie darauf, dass Sie „example.com“ durch die URL Ihrer eigenen Website ersetzen.
Klicken Sie anschließend auf die Schaltfläche „Add New Cron Job“ (Neuen Cron-Job hinzufügen), und der neue Cron-Job wird der Liste unten hinzugefügt.
WordPress prüft nun alle 30 Minuten auf geplante Aufgaben und führt diese aus, anstatt wenn jemand Ihre Website besucht.
Methode 2: Einrichten eines ordnungsgemäßen Cron-Jobs mithilfe eines Drittanbieterdienstes
Wenn Ihr Hosting-Angebot keine geeigneten Cron-Jobs bietet oder diese schwierig einzurichten sind, können Sie stattdessen einen Cron-Dienst eines Drittanbieters verwenden.
Das sind spezielle Dienste, mit denen Sie über eine einfache Schnittstelle Cron-Jobs einrichten können. Hier sind ein paar der besseren Dienste:
- EasyCron hat einen kostenlosen Plan, der monatlich erneuert werden muss.
- cron-job.org ist ein kostenloser Dienst
- Cronitor ist kostenlos, wenn Sie nur einen Cron-Job benötigen
- SetCronJob bietet kostenpflichtige Pläne ab $10/Jahr
Für dieses Tutorial werden wir EasyCron verwenden, weil es einfach zu bedienen ist und der kostenlose Plan für die meisten Einsteiger geeignet ist.
Sobald Sie ein kostenloses Konto eingerichtet haben, können Sie einen neuen Cron-Job erstellen, indem Sie auf die Schaltfläche „+ Cron-Job“ auf der linken Seite klicken.
Daraufhin wird der Bildschirm „Cron-Job erstellen“ angezeigt. Zunächst müssen Sie die folgende URL in das Feld „URL to call“ einfügen:
https://example.com/wp-cron.php?doing_wp_cron
Achten Sie darauf, dass Sie „example.com“ durch die URL Ihrer eigenen Website ersetzen.
Danach sollten Sie in der Dropdown-Liste „Wann ausführen“ die Option „Alle 30 Minuten“ wählen. Wenn Sie fertig sind, vergessen Sie nicht, auf die Schaltfläche „Cron-Job erstellen“ zu klicken, um Ihre Einstellungen zu speichern.
Der neue Cron-Job wird in die Liste aufgenommen und führt wp-cron alle 30 Minuten auf Ihrer Website aus.
Bonus: Automatischer Zeitplan für Ihre WordPress-Blog-Beiträge
Sobald Sie die richtigen Cron-Jobs eingerichtet haben, werden alle geplanten Aufgaben im WordPress-Blog reibungslos ausgeführt. Sie können sogar Ihre Beiträge im Blog automatisch planen.
So können Sie einen Artikel auswählen, der an einem von Ihnen festgelegten Datum veröffentlicht wird. Dazu müssen Sie das PublishPress Planner Plugin installieren und aktivieren.
Rufen Sie nach der Aktivierung die Seite Planer “ Einstellungen auf und wechseln Sie oben zum Tab „Inhaltskalender“. Aktivieren Sie hier die Box „Geplant“ neben der Option „Status zur Anzeige der Veröffentlichungszeit“.
Danach müssen Sie ein Zeitformat für die Veröffentlichung Ihrer Beiträge wählen und auf das Feld neben der Option „Standard-Veröffentlichungszeit für im Kalender erstellte Beiträge“ klicken.
Daraufhin öffnet sich eine Eingabeaufforderung, in der Sie die genaue Uhrzeit, Stunde und Minute für die täglich zu veröffentlichenden Beiträge auswählen können. Weitere Anregungen finden Sie in unserem Tutorial über die beste Zeit für die Veröffentlichung eines Blogs.
Klicken Sie dann auf den Button „Änderungen speichern“, um Ihre Einstellungen zu speichern.
Jetzt können Sie zum Block-Editor gehen, wo Sie im Dropdown-Menü „Beitragsstatus“ die Option „Geplant“ auswählen können.
Weitere Informationen finden Sie in unserem Tutorial über die automatische Planung von Beiträgen in Ihrem WordPress-Blog.
Wir hoffen, dass diese Anleitung Ihnen geholfen hat zu lernen, wie man wp-cron in WordPress deaktiviert und richtige Cron-Jobs einrichtet. Vielleicht interessiert Sie auch unsere Schritt-für-Schritt-Anleitung für WordPress-SEO oder unsere Liste der häufigsten WordPress-Fehler und wie man sie behebt.
Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Beth Alexander
Is there a way to check that the new corn job running from Control Panel is working?
WPBeginner Support
To check a cron job, we would recommend taking a look at our article below!
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Admin
Anita Richards
I am confused.
Woocommerce recommends setting the command as without the “?doing_wp_cron” part.
What is the difference?
WPBeginner Support
Unless we hear otherwise, the ?doing_wp_cron allows for some background processing that without would not be able to do.
Admin
Anita Richards
Ok, that makes some sense. I guess that it must be the difference between the WP and Woo processes being run?
I ended up creating two corn jobs in cPanel one with and one without. Is that going to cause problems?
WPBeginner Support
It should be a slightly different method to achieve the same result.
It would depend on your site’s size for how multiple cron jobs would affect your hosting site, as your site becomes larger it may become an issue