WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Procédure

Was ist WP-Cron?

WP-Cron ist der interne Mechanismus von WordPress, der den Cron-Dienst von Linux nachahmen soll, um geplante Aufgaben in WordPress im Hintergrund auszuführen. Dadurch werden unter anderem automatische Aktualisierungen, das Vorwärmen des Cache und Wartungsaufgaben für WooCommerce ermöglicht. Da Plugins Zugriff auf diesen Mechanismus haben, können sie Aufgaben hinzufügen, die ausgeführt werden müssen, um zusätzliche Aktionen zu planen. Weitere Informationen finden Sie in unserem speziellen Blogbeitrag: Was ist WordPress CRON?

Warum sollte man WP-Cron mit einem Cronjob auslösen?

WP-Cron war ursprünglich als Ersatz für cronjob bei Webhosting-Paketen gedacht, bei denen es nicht möglich ist, dem Linux-Cron-Dienst ein Skript hinzuzufügen. Daher löst WP-Cron die Ausführung von Aufgaben durch Anfragen an die Datei wp-cron.php, durch AJAX-Anfragen an wp-admin/admin-ajax.php und/oder durch das Laden der Seite aus. Der Auslöser für diese HTTP-Anfragen bleibt also unweigerlich der Besuch der Website. Folglich wird das Laden der Seite durch die Ausführung von WP-Cron-Aufgaben behindert und die Leistung kann sinken. Schlimmer noch, manche Plugins fügen Wp-Cron Aufgaben hinzu, die viel zu lang sind, so dass die Wartezeiten, die bei HTTP möglich sind, überschritten werden. Und was am störendsten ist, die Ausführung von Aufgaben kann sich verzögern, weil es keine Besucher auf der Website gibt, wenn die Aufgabe ausgeführt werden sollte. Einige Aufgaben könnten sich also kumulieren, und wenn ein Besucher die Seite öffnet, kann es sein, dass Dutzende oder sogar Hunderte von geplanten Aufgaben fallen gelassen werden, was die Ladezeit für diesen unglücklichen Besucher stark beeinträchtigt.

Wenn Sie WP-Cron mit einem Cronjob auslösen, können Sie sicherstellen, dass die mit WP-Cron geplanten Aufgaben ausgeführt werden, ohne die Besucher zu beeinträchtigen: wp-cron.php wird dann in regelmäßigen Abständen ausgeführt, unabhängig davon, ob Besucher anwesend sind oder nicht, und die Besucher können die Seite sofort öffnen, ohne darauf warten zu müssen, dass die ausstehenden Aufgaben ausgeführt werden.

Schritt 1: Deaktivieren Sie die Ausführung von WP-Cron, wenn eine Seite geladen wird.

Zunächst müssen Sie die Ausführung von WP-Cron beim Laden einer Seite deaktivieren. Dies geschieht, indem Sie die folgende Zeile in Ihre Datei wp-config.php einfügen:

define( 'DISABLE_WP_CRON', true );

Gehen Sie dazu zu Ihrem FTP-Client, loggen Sie sich in Ihr FTP-Konto ein und bearbeiten Sie die Datei wp-config.php :

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Schritt 2: wp-cron.php über einen Cronjob auslösen

Gehen Sie in Ihrem ISPConfig-Kontrollfeld auf Sites > Cronjobs und klicken Sie auf"Neuer Cronjob " :

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Füllen Sie dann einen Cronjob aus, der jede Minute ausgeführt wird und die Datei wp-cron.php ausführt:

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Der auszuführende Befehl"php7.4 [web_root]/wp-cron.php" kann angepasst werden:

  • php7.4 gibt die zu verwendende PHP-Binärdatei an. Wenn Ihre Website eine andere Version verwendet, achten Sie darauf, die angegebene Version anzupassen.
  • [web_root] steht für den Ordner "web" in Ihrem FTP. Achten Sie auch darauf, dies anzupassen, wenn sich Ihre WordPress-Website in einem bestimmten Verzeichnis befindet.

Das Kontrollkästchen "Log output" loggt die Ausgabe von wp-cron in den Ordner "private" Ihres FTP-Accounts. Sie können es ankreuzen, wenn Sie die stdout- und stderr-Ausgabe von wp-cron.php haben möchten, was zum Beispiel bei der Fehlersuche nützlich ist.

Mehr übergeplante Cronjobs auf Ihrem VPS erfahren Sie im entsprechenden Artikel.

Einige Fallstricke, die es zu vermeiden gilt

Standardmäßig sind die in ISPConfig erstellten Websites nicht mit einem Kundenkonto verknüpft:

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Wenn Sie Ihre Website jedoch absichtlich mit einem in ISPConfig erstellten Kunden- oder Wiederverkäufer-Konto verknüpft haben, dann könnte dieses Konto über bestimmte Cron-Limits verfügen, die die ordnungsgemäße Funktion des Cronjobs verhindern könnten. Um diese Limits zu überprüfen, gehen Sie in der Bearbeitung des Kunden-/Reseller-Kontos auf die Registerkarte Limits :

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Stellen Sie dann sicher, dass Sie Full c ron ausgewählt haben, damit der Cronjob nicht in einem eingeschränkten chroot jail ausgeführt wird, der nicht über alle Funktionen verfügt, die für das reibungslose Funktionieren des Cronjobs erforderlich sind :

WP-Cron mit einem Cronjob auf einer WordPress-Seite mit ISPConfig auslösen

Stellen Sie außerdem sicher, dass Sie die Mindestdauer zwischen zwei Ausführungen auf "1" setzen, damit der Cronjob jede Minute ausgeführt werden kann.

Wenn Sie bereits Cronjobs und/oder Shell-Benutzer für den Standort erstellt haben, wird es notwendig sein, alle bestehenden Cronjobs und Shell-Benutzer zu löschen und dann neu zu erstellen, damit ISPConfig sie von einer Chroot-Umgebung in eine Full-Cron-Umgebung umwandelt.

Diesen Artikel bewerten :

5/5 | 2 Hinweis

Dieser Artikel war hilfreich für Sie ?

Article utileJa

Article non utileNicht

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Ähnliche Artikel

0mn von Lesen

Wie deaktiviere ich mod_security auf einer VPS-Website mit dem ISPConfig-Panel?

1mn von Lesen

Bandbreitenbegrenzungen auf VPS-Servern

2mn von Lesen

Wie man die Zwei-Faktor-Authentifizierung auf ISPConfig einrichtet


Stellen Sie eine Frage an das LWS-Team und seine Gemeinschaft