WordPress ist von Natur aus sehr speicherhungrig, das ist hinreichend bekannt. Dieser Speicherhunger geht nicht zuletzt auf die Performance der Webseite. Je mehr Plugins installiert werden desto schlimmer kann die Performance darunter leiden.

WordPress arbeitet auch ohne unser Zutun nahezu permanent im Hintergrund ohne dass der Blogautor davon etwas mitbekommt – außer, dass eben die Seite eben etwas träge erscheint. So manche Nachbesserung dahingehend führt eher zu einer Verschlimmerung anstatt sich die Performance verbessert.

Cronjobs – eine Bremse für WordPress

Nicht ganz unschuldig daran sind Cronjobs die u.a. auch von Plugins angelegt, bei deren Deinstallation aber leider nicht zuverlässig gelöscht werden. Des weiteren wird manch ein Cronjob unverhältnismäßig oft ausgeführt. Führt er dazu noch ins „Leere“ weil z.B. das Plugin gar nicht mehr verwendet wird bedeutet dies eine unnötige Beanspruchung des Servers. Die Summe der Aktivitäten macht es aus.

Sergej Müller – Autor von so manch nutzvollen Plugin wie etwa die AntiSpamBee – wies kürzlich auf die Cronjobs von WordPress hin und rät, diese in regelmäßigen Abständen zu überprüfen. Er empfiehlt hierzu das Plugin WP-Crontrol, welches alle in WordPress angelegten Cronjobs auflistet und Informationen über Häufigkeit des jeweiligen Aufrufes gibt.

wordpress cronjob

Auflistung aller Cronjobs bei WordPress

Von hier aus können alle Cronjobs gestartet, gestoppt, editiert oder auch gelöscht werden. Auch die Anlage eines neuen Cronjobs ist hier ganz einfach möglich. Interessant ist hier besonders die Spalte mit der Häufigkeit der Ausführung. Besonders auffällig war bei mir hier der Eintrag blc_cron_check_links der vom Plugin Brocken Link Checker stammt und minütlich ausgeführt wurde – ein Wert der weiß Gott zu niedrig ist und unnötige Aktivität bedeutet.

Aber auch BackWPup – das backup-Plugin – muss nicht jede Minute eine Abfrage starten ob eine Sicherung ansteht. Welcher Cronjob letztlich wie oft ausgeführt werden muss (soll) kann jeder selbst entscheiden. Unberührt würde ich in jedem Fall die Cronjobs

  • wp_version_check
  • wp_update_plugins
  • wp_update_themes

lassen die mit „alle 12 Stunden“ auch kein Problem darstellen. Je weniger hier in der Liste steht desto besser ist es. Schade ist nur, dass für technisch weniger versierte Nutzer nicht klar erkennbar ist was hinter welchem Cronjob genau steckt, zumindest bei einigen davon trifft dies zu. Ehe man hier einen Cronjob komplett löscht sollte vielleicht eher an eine Reduzierung der Häufigkeit gedacht werden.

WordPress „telefoniert“ nach draußen

Ein weiteres Mal komme ich auf Sergej Müller zurück der in diesem Zusammenhang ein Plugin namens Snitch erschaffen hat. Snitch – ein Netzwerkmonitor für WordPress – überprüft alle Verbindungen die von WordPress nach draußen gehen. Im Klartext, manche Plugins, Themes oder auch WordPress selbst nimmt im Hintergrund Verbindung zu „heimischen Servern“ auf und überträgt dabei Daten. Sehr interessant zu sehen welches Plugin oder Theme hier besonders aktiv ist.

snitch

Überprüfung von ausgehenden Verbindungen

Alle ausgehenden Verbindungen können einzeln blockiert werden, ebenso der Zugriff auf die jeweilige Herkunftsdatei des Cronjobs. Letztere wird mit Pfad und Zeile genau benannt und kann so auch leicht eingesehen werden.

snitch

Verdächtige ausgehende Verbindung mit Snitch aufgespürt

Auf diese Weise konnte ich auch eine „sehr fragwürdige“ Verbindungen aufgedecken – hier z.B. aerialbuckettrucksales – von der ich bisher nichts wusste und die ich ohne Snitch auch ganz sicher nicht gefunden hätte. Der Sinn dieses Plugins hat sich mir spätestens hier erschlossen.

Viele der Verbindungen die ich feststellen konnte sind harmlos. Update von importierten Feeds machen hier die Mehrzahl aus. So betrachtet also nichts verdächtiges was man im Auge behalten müsste. Dennoch bin ich davon überzeugt, dass dieses Werkzeug sehr gute Dienste leisten kann und auch zu einem Stück mehr Sicherheit innerhalb von WordPress beiträgt.