Empfehlungen zu wp-cron.php in WordPress

Das Standardverhalten von WordPress' wp-cron.php besteht darin, bei jedem Besuch im Hintergrund zu prüfen, ob „eine Aufgabe ansteht“. Bei Websites mit wenig Traffic ist das unproblematisch, bei Websites mit viel Traffic oder umgekehrt ganz ohne Besucher führt es jedoch zu ernsten Problemen:

  1. Leistungsverlust: Die Cron-Prüfung bei jedem Seitenaufruf belastet den Server unnötig.

  2. Sicherheitsrisiko: wp-cron.php kann von außen ausgelöst werden; Angreifer können Ihre Website mit gefälschten Anfragen ausbremsen (DoS-Angriff).

  3. Zeitplanfehler: Besucht niemand Ihre Website, werden geplante Beiträge nicht veröffentlicht und Backups nicht gestartet.

Hier die Konfiguration mit einem „echten Cron“, die das Problem grundlegend löst:


Schritt 1: Cron in WordPress deaktivieren

Zuerst verhindern wir, dass WordPress bei jedem Besuch den Cron prüft. Fügen Sie dazu in Ihre wp-config.php-Datei diese Zeile ein:

PHP
 
define( 'DISABLE_WP_CRON', true );

Schritt 2: Cronjob auf dem Server anlegen

Jetzt lassen wir den Server (Plesk oder cPanel) diese Aufgabe alle 5 oder 10 Minuten automatisch ausführen.

Wenn Sie Plesk nutzen:

  1. Websites & Domains > Geplante Aufgaben (Scheduled Tasks): Öffnen Sie diesen Bereich.

  2. Aufgabe hinzufügen: Klicken Sie darauf.

  3. Aufgabentyp: Wählen Sie „PHP-Skript ausführen“.

  4. Skriptpfad: httpdocs/wp-cron.php: Wählen Sie diese Datei aus.

  5. PHP-Version: Wählen Sie die PHP-Version Ihrer Website.

  6. Zeitplan: Wählen Sie „Minütlich“ und tragen Sie */5 (alle 5 Minuten) oder */10 ein.

Wenn Sie cPanel nutzen (Cron Jobs):

Stellen Sie den folgenden Befehl unter „Common Settings“ so ein, dass er alle 5 Minuten läuft:

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

Zusätzliche Sicherheitsmaßnahme (.htaccess)

Wenn Sie einen echten Cronjob eingerichtet haben, können Sie verhindern, dass Bots oder Angreifer diese Datei von außen manuell auslösen. Fügen Sie Ihrer .htaccess-Datei Folgendes hinzu:

Apache
 
# Externen Zugriff auf wp-cron.php sperren
<Files wp-cron.php>
    order allow,deny
    deny from all
    # Wenn Sie die Server-IP kennen (optional):
    # allow from 1.2.3.4 
</Files>
  • 0 Benutzer fanden dies hilfreich
  • wp-cron.php düzenleme, wordpress
War diese Antwort hilfreich?

Verwandte Artikel

Wie kann ich meine E-Mails im Web abrufen?

Bei den E-Mail-Konten, die Sie bei webevi.com nutzen, können Sie sich unter...

Gibt es ein Verwaltungspanel für E-Mails?

Sie können Ihre E-Mail-Konten über das Control Panel Ihres Webhostings verwalten oder sich unter...

Wie füge ich meinem E-Mail-Konto einen Alias hinzu?

Angenommen, Sie haben das E-Mail-Konto info@webevi.com und möchten es auch als bilgi@webevi.com...

Was ist eine Subdomain? Wie richte ich sie ein?

Eine Subdomain ist ein unterhalb Ihrer Domain definierter Name, über den Sie jeden beliebigen...

Unterstützen Sie ASP, ASP.NET und CGI?

Das Windows-Hosting (Windows 2016) von webevi.com unterstützt standardmäßig ASP und ASP.NET. Die...