WordPress schneller machen – WordPress zu langsam?

Wenn WordPress sehr langsam lädt, insbesondere beim ersten Seitenaufruf, kann es an den internen Cronjobs der WordPress-Installation liegen. Dies macht sich ganz besonders bei einer in WordPress erstellten Webseite bemerkbar, wenn diese noch nicht viele regelmäßige Besucher hat. Denn nur durch Seitenaufrufe der Webseite werden diese Cronjobs ausgeführt. Wie das funktioniert und wie man das verbessern und die Webseite schneller machen kann erfährst du in diesem Artikel.

 

WordPress zu langsam durch Cronjobs?

In der Standard-Installation nutzt WordPress ein System namens „WP Cron“, um bestimmte zeitgesteuerte Aufgaben regelmäßig auszuführen. Es handelt sich dabei um ein internes Cronjob-Skript. Solche Aufgaben werden auch von Plugins wie bspw. „Koko Analytics“ angelegt, um in regelmäßigen Abständen Daten aufzubereiten. Dies erfolgt, indem bei jedem Seitenaufruf die Liste der geplanten Aufgaben, die zu diesem Zeitpunkt anstehen, überprüft wird. Die anstehenden Aufgaben werden während des aktuellen Seitenaufrufs ausgeführt.

Obwohl dieses Verfahren in den meisten Fällen ausreichend gut funktioniert, besteht die Möglichkeit, dass Aufgaben nur deutlich verzögert ausgeführt werden. Das passiert insbesondere dann, wenn die Webseite nicht viele Besucher hat. Daher sollte man überlegen einen Cronjob einzurichten, der den „WP Cron“ jede Minute oder zumindest alle paar Minuten ausführt. Dies stellt sicher, dass geplante Aufgaben zeitnah und zuverlässig ausgeführt werden.

 

WordPress schneller machen bei All-Inkl mit Cronjobs

Wenn man seine WordPress-Webseite bei einem Webhosting-Anbieter wie All-Inkl im Shared-Hosting betreibt, hat man leider keinen Zugriff auf den Server an sich und kann keine serverseitige Cronjob-Konfiguration vornehmen. Aber man kann dort, bei All-Inkl zumindest in einem höheren Tarif, selber Cronjobs im Backend anlegen.

Über diese Cronjobs lassen sich immerhin PHP-Skripte auf dem eigenen Webspace aufrufen. Diese Cronjobs nutze ich z. B. auch für regelmäßige Datenbankbackups. Dadurch lassen sich sogar per .htaccess geschützte Skripte aufrufen. Für selbst geschriebene Skripte ist dieser Schutz definitiv zu empfehlen! Im Fall des WordPress-Skripts „wp-cron.php“ ist ein solcher Schutz aber nicht eingerichtet und nicht nötig.

Den entsprechenden Punkt findet man bei All-Inkl unter „Tools“ -> „Cronjobs“ und kann einen Cronjob z. B. mit folgenden Werten anlegen:

Cron-Job bei All-Inkl für WP-Cron anlegen

 

WordPress schneller machen ohne eigene Cronjobs

Wenn man keine Cronjobs beim Webhosting-Anbieter konfigurieren kann, bietet es sich noch an, die eigene Webseite von einem anderen Host aus in regelmäßigen Abständen aufrufen zu lassen. Dadurch wird der interne WordPress-Cron-Service „WP Cron“ dann regelmäßig ausgeführt und es kann sich nicht so viel an Aufgaben „ansammeln“, sodass beim ersten bzw. nächsten Seitenaufruf nicht alle Cronjobs erledigt werden müssen. Dadurch verfälscht man dann aber wahrscheinlich sehr stark die, in Plugins wie „Statify“ oder „Koko Analytics“, erfassten Aufrufzahlen der Webseite.

Wenn man aber direkt die „wp-cron.php“ von extern aufruft, dürfte man ein solches Problem umgehen. Hierfür bietet sich ein Skript auf einem anderen Server an, das regelmäßig ausgeführt wird. Oder man nutzt einen kostenlosen Dienst wie https://cron-job.org/, wenn man keinen anderen Server, einen RaspberryPi oder dergleichen dafür zur Verfügung hat.

Das auszuführende Skript „https://deinedomain.de/wp-cron.php“ gibt man dann so an:

wget -qO- https://deinedomain.de/wp-cron.php &> /dev/null

 

WordPress schneller machen auf eigenem Server

Die wenigsten Probleme hat man vermutlich, wenn man WordPress auf einem eigenen Linux-Server betreibt. Dort kann man die Cronjobs ganz einfach direkt im System anlegen und sie laufen ganz ohne Seitenaufrufe der Webseite oder Konfiguration in einem Backend beim Hosting-Anbieter.

 

WordPress: WP Cron deaktivieren

Wenn die „wp-cron.php“ von einem richtigen Cronjob bzw. von extern aufgerufen wird, macht es natürlich keinen Sinn mehr, dass WordPress selber bei jedem Seitenaufruf das Skript ausführt. Zwar wird dies nicht zu wirklichen Problemen führen, da die Cronjobs eventuell bereits ausgeführt wurden und nicht erneut gestartet werden, aber es ist einfach unnötig. Deshalb kann man die Ausführung der „wp-cron.php“ von WordPress selber einfach deaktivieren.

Hierzu editiert man die Datei „wp-config.php“ und fügt folgenden Code vor dem Kommentar „/* That’s all, stop editing! Happy publishing. */“ ein:

 

Tobias Langner

Tobias Langner

Ich arbeite seit mehreren Jahren als Software-Release-Manager, zuvor als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-"Pausierer" an der FernUni Hagen. Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Alle Beiträge ansehen von Tobias Langner →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert