WordPress 5.1 kümmert sich um die Gesundheit Deiner Website

WordPress 5.1 kümmert sich um die Gesundheit Deiner Website

Am 21. Februar ist WordPress 5.1 „Betty“ erschienen. Die wohl wichtigste Neuerung ist die Umsetzung der ersten Phase des Projekts Site-Health. Damit soll die Sicherheit und Stabilität von WordPress verbessert werden.

In der ersten Phase von Site-Health, die mit #wpversion 5.1 umgesetzt wurde, liegt der Fokus auf der verwendeten PHP-Version. PHP ist die Programmiersprache, auf der WordPress basiert. Damit WordPress auf einem Webserver ausgeführt werden kann, muss dort PHP installiert sein.

Warnung bei Verwendung einer veralteten PHP-Version

Aktuell benötigt WordPress mindestens die PHP-Version 5.2.4. Damit ist man bei WordPress sehr großzügig bezüglich der Minimalanforderung. Das mag vorteilhaft erscheinen, wird aber häufig kritisiert. Diese Kritik ist durchaus berechtigt.

Die PHP-Version 5.2.4 ist im August 2007 erschienen, ist also mittlerweile nahezu zwölf Jahre alt. Angesichts der schnell fortschreitenden Entwicklung ist das technologische Steinzeit. Bereits seit Anfang 2011 wird PHP 5.2.x nicht mehr unterstützt.

Der Einsatz einer so veralteten PHP-Version am Webserver hat zwei entscheidende Nachteile. Das betrifft einerseits die Sicherheit und andererseits die Geschwindigkeit.

Auch für PHP erscheinen laufend Sicherheits-Updates. Je älter die am eigenen Server eingesetzte PHP-Version ist, desto größer ist die Gefahr potenzieller Sicherheitslücken. Damit stiegt die Gefahr von Hacker-Angriffen.

WordPress, alle Plugins sowie das Theme immer auf dem neuesten Stand zu halten ist für die #sicherheit einer Website unerlässlich. Genauso wichtig ist es eine aktuelle PHP-Version einzusetzen.

Außerdem wurde in den letzten Jahren die #performance von PHP enorm verbessert. Der Einsatz von PHP Version 7.0 oder neuer bringt zum Teil erhebliche Vorteile. Da die Geschwindigkeit einer Website sowohl für Besucher als auch für #google relevant ist, sollte dieser Vorteil nicht verspielt werden.

Dermaßen veraltete Versionen von PHP nach wie vor zu unterstützen macht also nicht wirklich Sinn. Davon abgesehen hat es auch einen gravierenden Nachteil für WordPress. Neuere Programmiertechniken können schlicht und einfach nicht verwendet werden, nur weil die Mindestanforderung nicht nach oben geschraubt wird.

Nun ist geplant, die minimal benötigte PHP-Version in zwei Schritten anzuheben. Der aktuelle Plan sieht vor, die minimal geforderte Version auf 5.6 festzulegen. Auch das ist noch sehr großzügig. Version 5.6.0 ist im August 2014 erschienen und ist demnach auch schon bald fünf Jahre alt.

Die letzte Version aus diesem Zyklus – die Version 5.6.40 – wurde Anfang dieses Jahres veröffentlicht. Seither wird auch Version 5.6.x nicht mehr offiziell unterstützt und gilt damit schon jetzt ebenfalls als veraltet.

Die Anhebung der minimalen PHP-Version auf 5.6 ist derzeit für April angekündigt. Daher nehme ich an, dass dieser Schritt mit WordPress 5.2 erfolgen wird. Frühestens Ende dieses Jahres soll die Mindestanforderung dann auf PHP 7.0 angehoben werden.

Mit WordPress 5.1 wird jetzt ein Warnung im Dashboard angezeigt, wenn eine ältere PHP-Version als 5.6 eingesetzt wird. Auf meinem Testsystem habe ich die PHP-Version auf 5.5 gesetzt um mir das selbst anzusehen.

WordPress 5.1 warnt im Dashboard beim Einsatz einer veralteten PHP-Version

Der Screenshot zeigt die Warnung, die angezeigt wird, wenn eine veraltete PHP-Version verwendet wird. Der Button führt übrigens auf diese Seite.

Die Änderung der minimalen PHP-Version ist ein längst überfälliger Schritt. Dass nun in WordPress eine Warnung angezeigt wird, bevor dieser Schritt endgültig durchgeführt wird, ist ebenfalls begrüßenswert.

Bezüglich der Umsetzung bin ich persönlich etwas enttäuscht. Einerseits finde ich die Warnung viel zu klein. Angesichts der Wichtigkeit dieser Warnung hätte diese größer ausfallen müssen. Man denke an die Größe der Aufforderung zum Testen des neuen Editors #gutenberg, die in WordPress 4.9.8 eingebaut wurde. Und man sollte die Warnung auch nicht einklappen können.

Zudem wird die Warnung nur auf der Startseite angezeigt, Meiner Meinung nach sollte auf allen Admin-Seiten ein entsprechender Hinweis am oberen Rand angezeigt werden, so wie man das von vielen Hinweisen kennt.

Außerdem empfinde ich den Zeitraum als zu kurz. Laut wordpress.org Statistics läuft zum jetzigen Zeitpunkt erst auf 17,3% aller WordPress-Websites die Version 5.1.

WordPress 5.1 wird aktuell erst auf 17,3% aller WordPress-Websites eingesetzt

Erfolgt die Umstellung der mindestens erforderlichen PHP-Version tatsächlich schon mit WordPress 5.2 im April, dann werden wahrscheinlich so um die 80% aller WordPress-Anwender die Warnung nie sehen können.

Wer jetzt – zwei Wochen nach Veröffentlichung – bereits die neueste WordPress-Version im Einsatz hat, der wird mit ziemlicher Sicherheit auch eine aktuelle PHP-Version einsetzen. Die Wahrscheinlichkeit ist also recht hoch, dass kein einziger der betroffenen WordPress-Anwender die Warnung überhaupt jemals zu Gesicht bekommt.

So gesehen spielt es dann auch wieder keine Rolle, dass die Warnung nicht eindringlicher ausfällt.

Da man sich so viele Jahre damit Zeit gelassen hat, die Minimalanforderung nach oben zu setzen, könnte man jetzt auch noch etwas länger warten. So hätten mehr WordPress-Anwender die Chance, noch rechtzeitig die PHP-Version zu wechseln.

Dazu kommt noch, dass gleichzeitig mit der Anhebung der minimal benötigten PHP-Version auch die minimal erforderliche Version der Datenbank MySQL von 5.0 auf 5.5 angehoben werden soll. Diesbezüglich gibt es jedoch keine Warnung.

Aus meiner Sicht ist die Überprüfung auf eine veraltete PHP-Version zwar ein wichtiger Schritt, aufgrund der viel zu dezenten Anzeige und der zeitlich viel zu kurzen Laufzeit ist es aber dann wohl eher eine gewissensberuhigende Maßnahme. Kommt es irgendwann einmal zu Aufschreien von Seiten einiger Anwender, dass die neueste WordPress-Version nicht funktioniert, dann kann man so wenigstens sagen, dass man darauf hingewiesen hätte.

Überprüfung der minimal benötigten PHP-Version bei Plugins

Während es sich beim vorherigen Punkt zumindest aus meiner Sicht um eine Maßnahme für einen ziemlich begrenzten Zeithorizont handelt, macht dieser zweite Punkt aus dem Site-Health Projekt langfristig sehr viel Sinn.

Plugin-Entwickler sind nicht gezwungen, sich an die Vorgabe der Minimalanforderungen von WordPress selbst zu halten. Das würde keinen Sinn machen und Entwicklungen unnötig blockieren. In Plugins können also neuere Technologien zum Einsatz kommen als in WordPress selbst.

Deshalb können Entwickler von Plugins, die im Plugin-Verzeichnis von wordpress.org zur Verfügung gestellt werden, schon seit jeher angeben, welche PHP-Version das Plugin mindestens benötigt. Dies wird auf der jeweiligen Plugin-Seite auch angezeigt.

Beispielsweise habe ich mich selbst vor einiger Zeit dazu entschieden, die minimal benötigte PHP-Version für alle meine Plugins auf 5.4 festzulegen. Dadurch kann ich einige Techniken nutzen, die in PHP 5.2 noch nicht verfügbar waren. Der Screenshot zeigt, wie das zum Beispiel bei meinem Plugin 404page aussieht.

Anzeige der minimal von einem WordPress Plugin benötigten PHP-Version

Unverständlicherweise wird diese Information nicht angezeigt. wenn man im WordPress Admin ein neues Plugin von wordpress.org installieren möchte. Daran ändert sich auch mit WordPress 5.1 nichts, wie der folgende Screenshot zeigt

Beim Hinzufügen eines Plugins wird die minimal benötigte PHP-Version in WordPress nicht angezeigt

Unabhängig davon, dass die Information nicht angezeigt wird, erfolgt ab WordPress 5.1 nun aber eine Überprüfung der vom Plugin benötigten PHP-Version. Ist am Server eine PHP-Version im Einsatz, die älter ist als die mindestens vom Plugin benötigte Version, lässt sich das Plugin ab sofort nicht mehr installieren.

Der folgende Screenshot zeigt dies anhand des Plugins Gutenberg Blocks – Ultimate Addons for Gutenberg. Dass ich dieses Plugin als Beispiel ausgewählt habe, hat keinerlei Bedeutung. Es war einfach das erste Plugin, das ich gefunden hatte, das als Mindestanforderung PHP 5.6 fordert und sich damit auf meinem Testsystem mit PHP 5.5 nicht installieren lassen sollte.

Ab WordPress 5.1 lassen sich Plugins nicht installieren, wenn die benötigte PHP-Version nicht installiert ist

Wie man sieht ist die Übersetzung noch nicht vollständig, aber das tut nichts zur Sache. WordPress verhindert die Installation des Plugins und das ist eine wesentliche Verbesserung.

Die Installation eines Plugins, das mit der am Server eingesetzten PHP-Version nicht kompatibel ist, ist ein häufiger Grund für komplette WordPress-Abstürze – den gefürchteten White Screen of Death (WSOD).

Tritt solch ein Fehler auf wird nur mehr eine weiße leere Seite angezeigt. Auch der Admin-Bereich funktioniert nicht mehr. Ein Horror-Szenario für technisch weniger versierte Anwender.

Hier bringt WordPress 5.1 also eine echte Verbesserung in Punkto Stabilität. Diese Prüfung erfolgt derzeit aber nur vor der Installation eines Plugins, nicht vor einem Update. Die Ausweitung der Funktionalität auf Updates ist aber definitiv für eine künftige Version geplant.

Ob dieser Mechanismus auch für Themes eingeführt wird, steht derzeit noch nicht fest. Es wäre sehr wünschenswert.

Gut gelöst ist, dass auch beim Aktivieren eines Plugins eine Prüfung der minimal geforderten PHP-Version erfolgt. Zum Testen habe ich das bereits erwähnte Plugin heruntergeladen und per FTP auf meinen Testserver übertragen.

Ein Plugin lässt sich nicht aktiveren, wenn die minimale PHP-Version nicht verfügbar ist

Der Screenshot zeigt, dass das Plugin zwar aktiviert wurde, aber von WordPress nicht ausgeführt wird. Das ist eine sehr clevere Lösung, denn dadurch wird der Fehler so lange angezeigt, bis man das Plugin deaktiviert. Und das auf allen Seiten im Admin.

Durch diese zusätzliche Prüfung werden auch Plugins abgedeckt, die aus anderen Quellen stammen als von wordpress.org. Die Lösung erscheint mir sehr gut durchdacht. Damit sollte eine wesentliche Fehlerquelle ausgemerzt sein.

Der WSOD-Schutz wurde vertagt

Ursprünglich ebenfalls für WordPress 5.1 angekündigt war ein Schutzmechanismus vor dem bereits weiter oben erwähnten Schreckgespenst White Screen of Death.

Ein WSOD Protection genannter Mechanismus sollte den absoluten Super-GAU künftig verhindern. Der Mechanismus sollte Situationen, in denen bisher der gefürchtete White Screen of Death auftrat, abfangen und eine entsprechende Fehlermeldung auf der Seite anzeigen.

Außerdem soll der Mechanismus erkennen, welches Plugin den Fehler verursacht. Ruft man den WordPress Admin auf, soll das Plugin pausiert werden und der Admin-Bereich somit zugänglich bleiben.

Das wäre ein wirklich großer Wurf und eine entscheidende Verbesserung der Stabilität von WordPress gewesen. Ein richtiger Meilenstein. Die Einführung wurde jedoch wenige Tage vor Freigabe von WordPress 5.1 vertagt. Der Mechanismus hatte einfach noch nicht zuverlässig genug funktioniert.

Angesichts der Komplexität dieser Aufgabe und des knappen Zeitplans für Version 5.1 nicht verwunderlich. Offensichtlich sind die Entwickler aber zuversichtlich, die noch offenen Probleme schnell lösen zu können. Vor ein paar Tagen wurde der Schutz nun für WordPress 5.2 angekündigt.

Was WordPress 5.1 sonst noch bietet

Die Site-Health Features sind mit Sicherheit die aufsehenerregendsten Neuerungen der Version 5.1. Darüber hinaus wurde die Performance des mit WordPress 5.0 eingeführten Block-Editors verbessert.

Die Performance des Editors ist nach wie vor Ursache für Kritik. Der #editor sollte nun etwas schneller starten und das Tippen sollte flüssiger ablaufen.

Vom subjektiven Empfinden her kann ich das nicht beurteilen, denn ich hatte auch bisher an der Geschwindigkeit von Gutenberg nicht wirklich etwas auszusetzen. Den Aufwand für detaillierte Messungen spare ich mich deshalb.

Ansonsten gibt es noch ein paar Neuerungen, die nur für Entwickler interessant sind.

Schreibe einen Kommentar

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

Erhalte eine Info über neue Artikel per Mail

Affiliatelinks

Bei Links, die mit einem  gekennzeichnet sind, handelt es sich um sogenannte Affiliate- oder Provisions-Links. Wenn du auf so einen Link klickst und über diesen Link einkaufst, dann erhalte ich für Deinen Einkauf eine Provision vom jeweiligen Anbieter. Für dich verändert sich der Preis dadurch selbstverständlich nicht. Diese Links tragen dazu bei, einen Teil der Kosten, die mit dem Betrieb dieser Website verbunden sind, zu decken.