Da WordPress auf allen möglichen Plattformen, Betriebssystemen und Konfigurationen arbeiten muss, kann es sich nicht darauf verlassen, dass es einen Cronjob-Dienst auf dem Server gibt, der geplante Aufgaben erledigen kann. Deshalb haben die WordPress-Entwickler eine Abhilfe geschaffen: Die Datei wp-cron.php in Ihrem WordPress-Hauptverzeichnis wird jedes Mal ausgeführt, wenn eine Seite geladen wird. Sie prüft dann, ob eine geplante Aufgabe zu erledigen ist, und führt sie gegebenenfalls aus.
In manchen Fällen kann diese Datei jedoch zum Ziel eines DOS-Angriffs werden, oder Caching-Plugins können die Ausführung beeinträchtigen, was entweder zu einer hohen Serverlast führt oder die geplanten Aufgaben nicht ordnungsgemäß und rechtzeitig ausführt. Aus diesem Grund können Sie diese konstante Dateiausführung durch einen echten Cron-Job ersetzen.
Zunächst müssen Sie das Skript deaktivieren, das jedes Mal ausgeführt wird, wenn eine Ihrer Seiten geladen wird. Öffnen Sie dazu die Datei wp-config.php in Ihrem WordPress-Hauptordner und fügen Sie die folgende Zeile vor „/* That’s all, stop editing! Viel Spaß beim Bloggen. */“ ein:
define('DISABLE_WP_CRON', true);
Nachdem Sie das getan haben, müssen Sie einen echten Cron-Job einrichten und die Datei wp-cron.php mit ihm ausführen. Sie sollten ihn nicht zu oft auslösen – 30 Minuten sollten für die meisten Websites ausreichen. Gehen Sie dazu zu Ihren Site Tools > Devs > Cron Jobs.
Fügen Sie dann den folgenden Befehl hinzu, der alle 30 Minuten ausgeführt werden soll:
wget -q -O - http://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Ersetzen Sie Ihredomain.com durch Ihren tatsächlichen Domainnamen. Das Cron-Job-Tool hat einige der gängigsten Zeitpläne voreingestellt, so dass Sie einfach Zweimal pro Stunde aus dem Dropdown-Menü auswählen können.