Bei jedem Aufruf der Webseite führt WordPress die Datei wp-conf.php aus um bestimmte Aktualisierungen durchzuführen. So prüft WordPress zum Beispiel ob Updates vorhanden sind oder Beiträge aktiviert werden müssen. Bei Seiten mit wenig Seitenaufrufen ist dies eine super Sache, weil man sich nicht darum kümmern muss.
Wer jedoch zu den Glücklichen gehört eine interessante Seite zu betreiben auf der viel los ist, sprich viele Besucher vorhanden sind, bei dem führt dies zwangsweise zu Performanceeinbußen, weil jeder Besucher diesen Aufruf startet und WordPress jedes mal prüft ob es was zu tun gibt. Daher sollte man in diesem Fall diese Funktion deaktivieren und über einen eigenen CronJob zu definierten Zeiten starten.
Deaktivierung über die wp-config.php:
Natürlich deaktivieren wir nicht die ganze Datei, sondern nur den permanenten Aufruf, sobald eine Seite angezeigt wird.
Realisiert wird dies durch einen Einzeiler in der Datei „wp-config.php“:
define('DISABLE_WP_CRON', 'true');
Dieser Eintrag verhindert, dass die wp-cron.php automatisch aufgerufen wird.
CronJob einrichten:
Um nun dennoch automatisiert zu prüfen ob Updates anstehen (nicht wichtig für WPtomatic-Kunden) oder andere Aktionen durchgeführt werden müssen (z.B. zeitgesteuerte Freischaltung eines Beitrages), der benötigt außerhalb von WordPress einen CronJob (Zeitschaltuhr), der diese Datei zum Beispiel alle 4 Stunden ausführt (oder nur einmal täglich).
bei Mittwald CMS:
Für Kunden bei Mittwald CMS ist es über das Kundencenter ganz einfach einen CronJob einzurichten:
Accountverwaltung –> Tools –> Cronjob –> Neu
- Auf Reiter „Benutzerdefinierter Aufruf“ wechseln
- Bezeichnung eingeben (nur zur Orientierung, was der Job macht).
- wp-cron.php mit wenigen Mausklicks auswählen
- „php_cli“ als Interpreter auswählen
- Intervall auswählen (z.B. alle 4 Stunden)
- Speichern
andere Hoster:
Wer bei einem anderen Hoster seine Seite liegen hat, muss vorab prüfen, ob dieser CronJobs zur Verfügung stellt und wie diese erstellt werden können. Auf Linux-Rootservern erstellt man hierzu folgenden Eintrag in der crontab über die Shell-Konsole:
Öffnen der crontab:
crontab -e
Eintrag um die wp-conf.php alle 4 Stunden auszuführen:
0 */4 * * * /usr/bin/php7.2-cli /full_path_to_your_website/wp-cron.php
Ersetze „/usr/bin/php7.2-cli“ durch die für deine Domain aktive PHP-Version und /absoluter_pfad_zu_meiner_website durch den vollen Pfad zu deiner Website.
crontab speichern:
Um die Zeile zu speichern und das Eingabefenster zu zu schießen folgenden Befehl eingeben und mit Enter bestätigen:
:wq
Ab sofort wird alle 4 Stunden zur vollen Zeit (12:00 Uhr, 16:00 Uhr, 20:00 Uhr, …) die Datei wp-cron.php ausgeführt.