So deaktivierst du WP-Cron (wp-cron.php) für schnellere Leistung
Es handelt sich bei einem Cronjob um eine wiederkehrende Aufgabe, dessen Ausführung automatisch verläuft. Zu diesen Jobs gehören beispielsweise die Planung einer Beitrags-Veröffentlichung oder eines Plugins sowie Updates. diese werden dann nach einem vordefinierten Zeitplan automatisch ausgeführt. Diese Ausführung erfolgt bei WordPress über Wordpress Cron. Je nachdem wie viel Datenverkehr auf deiner Seite herrscht, kann die Verwendung solch eines Cronjobs dazu führen, dass die Seitenladezeiten teilweise stark beeinträchtigt wird.
Du erfährst somit in diesem Ratgeber, wie du WordPress Cron deaktivieren und zeitgleich einen Systemcron verwenden kannst, um die Leistung deiner Seite zu verbessern.
Probleme mit WordPress Cron
Du solltest zunächst einmal wissen, dass es sich bei WordPress Cron nicht um einen Cronjob handelt, sondern um eine Entwicklung von WortPress, die lediglich einen Systemcron simuliert. Wird eine Seite geöffnet beziehungsweise geladen, sorgt dies dafür, dass die Datei wp-cron.php ausgelöst wird. Je mehr Besucher es auf einer Webseite gibt, desto mehr Probleme ergeben sich hierbei.
WordPress gibt entsprechend den WordPress Cron selbst aus. Damit dieser jedoch ausgeführt werden kann, muss er zunächst auf einen PHP-Worker warten. Auf der anderen Seite kann es auch passieren, dass wenn es gar keinen Verkehr auf einer Seite gibt und diese demnach nicht geladen wird, auch der WordPress Cron nicht startet, was dazu führt, dass unterschiedliche Zeitpläne nicht eingehalten werden. Es ist aus diesem Grund ratsam, WordPress Cron zu deaktivieren und an seiner Stelle Systemcron-Funktionen zu verwenden.
Die Nachteile des WP-Crons
WordPress führt jedes Mal wp-cron run aus, wenn ein Besucher eine Seite auf deiner Website öffnet, und überprüft, ob geplante Ereignisse ausgeführt werden müssen. Der Vorteil von WordPress cron auf diese Weise ist, dass es mehr Flexibilität bietet und sicherstellt, dass WordPress in jeder Webhosting-Umgebung ohne zusätzliche Konfiguration ausgeführt werden kann.
Es gibt jedoch auch einige Nachteile:
- Die Ausführung hängt von den Besuchern deiner Website ab:
WP-Cron wird nur ausgeführt, wenn ein Besucher eine Seite auf deiner Webseite öffnet. Dabei ist es egal, ob es sich um die Startseite oder eine Unterseite handelt. Wenn sich niemand auf deiner Website befindet (z. B. über Nacht), wird sie nicht ausgeführt. Dies bedeutet, dass geplante Ereignisse verzögert werden. Das beste Beispiel ist, wenn du die Veröffentlichung eines Posts zu einem bestimmten Zeitpunkt geplant hast. Wenn zum geplanten Zeitpunkt niemand deine Website besucht, wird dein Beitrag nicht veröffentlicht, und in deinem WordPress-Dashboard wird eine ,,verspätete” Nachricht angezeigt. - WP-Cron wird von jedem Besucher der Website ausgeführt und wird jedes Mal ausgeführt, wenn er eine Seite öffnet:
Angenommen, du hast 30 Besucher auf deiner WordPress-Website in der gleichen Sekunde. Jeder dieser 30 Besucher führt dazu, dass der WordPress-Website WP-Cron 30 Mal hintereinander ausführt wird. Wenn 15 dieser Besucher in der nächsten Sekunde auf einen Link auf der Website klicken, wird WordPress Cron erneut 15 Mal ausgeführt. Und es sind nicht nur echte Menschen, die dafür sorgen können, dass dies passiert. Wenn Googlebot oder Bingbot deine Website crawlen, werden sie als echte Besucher behandelt. Dies ist ineffizient, führt dazu, dass deine Website langsamer ausgeführt wird, je mehr Besucher du hast, und macht dich somit zu einem einfachen Ziel für DoS-Angriffe.
Linux Cron oder WP-Cron
Standardmäßig ist WordPress so eingerichtet, dass es wp-cron.php jedes Mal aufruft, wenn jemand deine WordPress-Website besucht, wenn eine geplante Aufgabe vorliegt. Auf Websites mit geringem Datenverkehr ist dies völlig in Ordnung. Wenn jedoch die Anzahl der Besuche auf deiner Website zunimmt, kann die mehrmalige Überprüfung auf geplante Aufgaben sehr ineffizient sein und zu Problemen bei der Ressourcennutzung auf dem Server führen. Dadurch wird die Website langsamer geladen.
Wir können WordPress leicht anweisen, uns die Ausführung von wp-cron.php mit der Datei wp-config.php zu ermöglichen.
- Öffne dafür die wp-config.php-Datei mit dem cPanel File Manager Code Editor
- Gehe in der Datei wp-config.php in der Regel in Zeile 37 zum Ende der Datenbankeinstellungen. Füge den folgenden Code hinzu: define (‘DISABLE_WP_CRON’, ‘true’);
- Gehe nun auf Speichern
Nun wird das Skript nicht mehr automatisch von WordPress ausgeführt, wenn jemand deine Seite besucht.
Richten Sie den manuellen Cron-Job für wp-cron.php ein
Für die meisten WordPress-Benutzer ist es völlig in Ordnung, wenn das Skript wp-cron.php alle 12 Stunden ausgeführt wird. Das wären nur zwei Ausführungen an einem Tag, verglichen mit möglicherweise Hunderten oder sogar Tausenden, wenn man an diesem Tag einen hohen Website-Verkehr hat.
- 1. Melde dich bei cPanel an
- 2. Klicke auf Cron-Jobs. Gehe hier im Bereich Erweitert auf Cron-Jobs
- 3. Wähle ,,Einmal pro Stunde'' in der Dropdown-Liste ,,Allgemeine Einstellungen'' aus
- 4. Wähle nun ,,Alle 12 Stunden'' aus der Dropdown-Liste Stunde
- 5. Gib schließlich den Code ein, um den Cron-Job auszuführen, und klicke auf Neuen Cron-Job hinzufügen - Code: "cd / home / benutzername / public_html; php -q wp-cron.php"
Denke daran, dass der Pfad / home / username / public_html für eine primäre Domain ist. Wenn du eine Addon-Domain verwendest oder WordPress in einem Unterverzeichnis installiert hast, solltest du daran denken, dass du deinen Pfad aktualisierst. Du solltest zudem sehen, dass dein neuer Cron-Job erfolgreich hinzugefügt wurde.
Jetzt sollte WordPress geplante Aufgaben sicher über das Skript wp-cron.php ausführen, jedoch nur in festgelegten Intervallen.
Warum wird WordPress Cron überhaupt verwendet?
Zunächst einmal wird die überwiegende Mehrheit der Hosting-Dienste gemeinsam genutzt und die Benutzer haben keinen Zugriff auf das System-Cron. Dies ist schade, da es für ein Cron-System viele großartige Verwendungen gibt. Obwohl es möglicherweise nicht zu einem bestimmten Zeitpunkt ausgeführt wird, erledigt WordPress Cron deine Aufgaben auf eine gute Art und Weise. Bei WordPress dreht sich alles um Einfachheit. Anstatt die Benutzer zu zwingen, WordPress zu verlassen, um eine Aufgabe einzurichten, ist es viel einfacher, die WordPress-API zu verwenden.
So richtest du einen WordPress Cron-Job ein
Du solltest bedenken, dass sich WordPress Cron nur teilweise von dem System-Cron unterscheidet. Beide Arten kommen jeweils mit unterschiedlichen Vor- und Nachteilen und eignen sich somit für unterschiedliche Webseiten. WP-Cron nutzt beispielsweise nur Intervalle, während ein System-Cron auch flexibel auf bestimmte Zeiten eingestellt werden kann. zudem muss, damit ein WordPress Cron funktioniert, die Seite zunächst vollständig geladen sein, sprich Back-End oder Front-End. Dadurch ist dieses Cron nicht so zuverlässig, da es häufig Probleme mit dem Laden einer Seite geben kann. WordPress stellt zudem Standardintervalle bereit, die ein bis zweimal täglich sowie stündlich sind. Um Ereignis somit planen zu können, musst du zudem sogenannten Hooks erstellen, die benutzerdefiniert sind. bei jeglichen Problemen, kannst du dich auch an das Wort Press Handbuch für Plugins wenden. Dort findest du eine detaillierte Anleitung.
Du kannst das WP Crontrol Plugin auf viele unterschiedliche Arten anwenden. Es zeigt dir beispielsweise an, welche Jobs ausgeführt werden sollen und du hast weiterhin die Möglichkeit Jobs zu erstellen sowie bestehende zu löschen. im folgenden eine Auflistung der unterschiedlichen Funktionen, die dir das WP Control bietet:
- Die Anzeige aller Cron- Ereignisse wahlweise zusammen mit ihren Argumenten und Wiederholungen sowie der Laufzeit.
- Die Möglichkeit der Bearbeitung, Löschung sowie Ausführung vonCron-Ereignissen
- Das Hinzufügen von neuen Cron-Ereignissen
- Benutzerdefinierte Cron-Zeitpläne können hinzugefügt, bearbeitet sowie entfernt werden
WP-Cron Pläne
Du hast die Möglichkeit die WordPress Cron-Jobpläne nachdem sie aktiviert worden sind unter den Einstellungen ,,Cron-Pläne” finden und ändern. Du solltest unbedingt beachten, dass das Plugin automatisch einen Standard-Zeitplan hinzufügt. Dieser ist wöchentlich. Du hast aber zusätzlich aber auch die Möglichkeit Zeitpläne in Sekunden zu erstellen.
WP-Cron Events
Weiterhin besteht die Möglichkeit das Plugin zu verwenden, um aktuelle Jobs anzuzeigen, die für die Zukunft geplant sind. Dafür gehst du einfach auf ,,Extras” und dann auf Ereignisse. Die meisten Namen dieser Jobs gleichen denen der Plugins, sodass sie leicht zu finden sind. Wenn du ein Ereignis sofort ausführen möchtest, gehst du einfach auf ,,Jetzt ausführen”. Dies ist dann empfehlenswert, wenn eine Fehlermeldung auftritt. In diesem Fall, ist es nämlich notwendig, die Aktion manuell mehrmals auszuführen.
Cron-Ereignis ändern
Zudem kannst du die Ereignisse auch bearbeiten. Dafür klickst du entsprechend neben dem Aktionsnamen auf ,,Bearbeiten”. Hier kannst du unter anderem den Namen, Argumente sowie den nächsten Lauf ändern.
Cron-Ereignis hinzufügen
Zuletzt hast du noch die Möglichkeit Cron-Ereignisse hinzufügen. Dies ist dann interessant, wenn du beispielsweise die Synchronisierungshäufigkeit verändern möchtest. Auch wenn du Probleme bei der Synchronisierung von Kommentaren hast, ist ein erneutes Hinzuzufügen des Ereignisses notwendig.
Wir hoffen, dass dir diese Anleitung weiterhilft, WP-Cron zu deaktivieren und somit für eine schnellere Leistung deiner Webseite zu sorgen.