Automated Plugin Updates WordPress

Sorgenfrei mit automatischen WordPress Plugin Updates?

Die automatischen Updates bei Minor-Versionen von WordPress haben sich seit Jahren bewährt. Aber funktioniert das auch mit Plugin Updates? Und wenn ja, unter welchen Bedingungen? Dieser Frage ist WordPress Entwickler Florian Simeth nachgegangen.

Wer WordPress schon länger im Betrieb hat, der weiß: Die automatischen Updates der Kern-Software funktionieren ganz gut und meist ohne Probleme. Wären da nicht die Plugins. Typischerweise stellen sich beim Gedanken an automatische Plugin Updates bei den meisten Betreuer:innen einer Website die Nackenhaare auf. Wer schon einmal die Zähne zusammengebissen hat, bevor er auf den Update-Button geklickt hat, der weiß, wovon ich spreche.

Man hat keine grundsätzliche Gewissheit, ob die Updates richtig durchgehen. Selbst dann nicht, wenn das Update an sich gar nicht fehlschlägt, sondern die Fehler irgendwo – nicht ersichtlich – im Untergrund lauern. Die meisten der von mir befragten Kolleg:innen würden keine automatischen Plugin Updates durchführen, zumindest nicht bei allen WordPress Plugins. Aber warum ist das eigentlich so?

Automatische Plugin Updates: Die Risiken

An neuen Versionen von WordPress wirken Hunderte Freiwillige mit. Diese Power hat nicht jedes Plugin-Projekt. Der überwiegend größere Teil der kostenlosen Plugins im WordPress-Plugin-Verzeichnis wird nur von einem Menschen (oder vielleicht einem kleinen Team) weiterentwickelt. Das heißt nicht, dass diese Plugins per se schlecht sind. Aus der Vergangenheit wissen wir jedoch, dass es meist die Plugins sind, die Sicherheitslücken öffnen und die eigene WordPress-Instanz dadurch zur Angriffsfläche für Hacker wird.

Es lässt sich also vermuten, dass die Code-Qualität leidet oder zu wenig getestet wird. Warum das so ist, will ich an dieser Stelle gar nicht länger erläutern. Es erklärt aber, warum ich bei bekannten Plugins wie YoastSEO schnell mal auf den Update-Button klicke und bei anderen eher nicht.

“Grundsätzlich erkennt man Problemfälle natürlich dadurch, dass schon einmal etwas schief gelaufen ist“, schrieb mir etwa der WordPress Entwickler Marc Nilius in einem E-Mail-Interview. Er wartet nach eigenen Angaben aktuell ca. 200 WordPress-Instanzen und kennt seine „Pappenheimer“ nur zu gut.

Jetzt hat Yoast sicherlich ein großes Team hinter dem eigenen, kostenlosen YoastSEO-Plugin, welches auf über fünf Millionen WordPress-Seiten aktiv ist. Für das Aushängeschild des Unternehmens tut es alles, damit nichts schief geht. Das ist mit Aufwand verbunden. Ein Aufwand, den ein Entwickler allein vielleicht gar nicht stemmen kann oder will. Was also tun?

Möglichkeiten, um das Risiko durch Plugins zu minimieren

1. Keine alten Plugins nutzen

„Democratizing Publishing“ ist ein spitze Leitsatz für WordPress. Dass jedermann einfach schnell eine WordPress Website aufsetzen kann, ist eine geniale Sache, führt aber automatisch dazu, dass diese Leute irgendwann die Seite erweitern wollen. Und zwar mit Plugins. Da sie in der Regel selbst nicht programmieren können, suchen sie im ewigen WorldWideWeb nach Abhilfe. Und die gibt es zuhauf. 

Aktuell befinden sich allein im Plugin-Verzeichnis von WordPress knapp 55.000 Erweiterungen. Verwendet wird, was funktioniert. Ohne, dass darauf geachtet wird, ob das Plugin weiterentwickelt wird oder ob es mit der aktuellen WordPress-Version kompatibel ist. Das ist nicht immer richtig und führt letztlich oft dazu, dass man sich ein gesundes Misstrauen gegenüber Updates aneignet. Denn oft tendieren solche Plugins irgendwann dazu, nicht mehr zu funktionieren. Auch wenn dabei ein paare Jahre ins Land gehen können.

WordPress Plugins auswählen

Du willst die Qualität von WordPress Plugins richtig einschätzen? Dann lies dir den Beitrag 13 Tipps zur richtigen Auswahl von WordPress Plugins durch. Er verrät dir zudem, was du tun kannst, wenn es Probleme gibt.

Natürlich gibt es auch positive Beispiele. Hinter WooSidebars steht zum Beispiel eine riesiges Unternehmen. Trotzdem erhielt das WooCommerce Plugin längere Zeit keine Updates mehr. Es wurde nicht mit den aktuellsten WordPress-Versionen getestet, funktioniert aber trotzdem in vielen Fällen einwandfrei. Wie lange noch? Frühere Kommentare im Support-Bereich deuteten bereits auf ein Ende hin. Der User bekam davon aber nichts mit. Bei der Installation zeigt diesen Missstand nur eine kleiner, unauffälliger Hinweis an. Eine gefährliche Sache.

Natürlich ist es so, dass man am Anfang seiner Blog-Karriere häufig kein Geld für individuelle Entwicklungen hat. Für diese Leute gibt es manchmal keine andere Alternative. Trotzdem solltest du im Hinterkopf behalten, dass – aufgrund der oben genannten Sicherheitsrisiken – keine veralteten WordPress Plugins zum Einsatz kommen sollten.

WordPress Plugin Security Note
Hinweise auf veraltete Plugins auf wordpress.org

2. Plugins nicht selbst anpassen

Um Entwicklungszeit zu sparen, werden offizielle sowie inoffizielle WordPress Plugins häufig einfach durch eigene Entwickler:innen angepasst. Wenn die Versionsnummer oder der Name des Plugins nicht verändert wird, bietet WordPress ein Update an, obwohl dieses nicht durchgeführt werden darf, weil es die eigenen Änderungen sonst überschreiben würde.

“Dazu hängen angepasste Plugins oft zu sehr an Theme-Funktionalitäten“, weiß auch Marc. Ändert sich etwas im Theme, läuft auch das Plugin nicht mehr richtig. Probleme gibt es also viele. Von Grund auf alles selbst zu machen, sprich, nur eigene Entwicklungen zu nutzen, ist aber auch hier keine echte Alternative.

3. Keine schlechten Plugins nutzen

Was ist ein „schlechtes“ Plugin? Diese Frage ist nicht einfach zu beantworten. Schon gar nicht für den Laien. Freilich könnte man nachfragen, ob automatisierte Tests neuer Versionen durchgeführt werden. Aber wer macht das schon? Viele WordPress User wissen gar nicht, dass so etwas möglich ist. Dazu kommt, dass solche Tests (wenn sie denn durchgeführt werden) häufig nichts mit Live-Situationen zu tun haben.

Was aus Sicht der Entwickler:innen auch nachvollziehbar ist. Wer testet schon jedes Plugin mit jedem möglichen WordPress Theme? Oder jedes Plugin mit jedem anderen Plugin? Das geht nicht. Das kann man jenen, die WordPress Plugins entwickeln, auch nicht zutrauen.

Auch hier gilt also: „Schlechte“ Plugins nicht zu nutzen geht manchmal nicht, weil man sie schlicht nicht immer erkennt. Obwohl die Qualitätsbewertung für viele Nutzer bereits die erste Hürde darstellt, sollte man neue Plugins zumindest aktiv selbst testen, bevor man sie auf einer Live-Seite einbindet. Aber dazu gleich mehr.

*“ zeigt erforderliche Felder an

Ich möchte den Newsletter abonnieren, um über neue Blogbeiträge, E-Books, Features und News rund um WordPress informiert zu werden. Meine Einwilligung kann ich jederzeit widerrufen. Bitte beachte unsere Hinweise zum Datenschutz.
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Warum Auto Plugin Updates fehlschlagen

Fakt ist: Man kann WordPress Plugins nicht einfach nicht-nutzen. Die oben genannten Problematiken werden immer existieren. Es muss also eine andere Lösung gefunden werden. Die Frage, die man sich stellen muss, ist also: „Wie kann man – trotz aller Probleme – trotzdem automatische Updates für WordPress Plugins durchführen?“. Und diese Frage führt unweigerlich zur nächsten: „Was könnte denn alles schief laufen?“

Hier einige Möglichkeiten:

  1. PHP-Fatal-Error: Die Website funktioniert wegen eines schwerwiegenden Fehlers gar nicht mehr.
  2. Das Plugin arbeitet nicht (mehr) mit anderen Plugins und/oder dem Theme. Das äußerst sich in verschiedenen Dingen:
          a) Funktionen sind nicht mehr verfügbar oder
          b) das Layout ändert sich im Frontend.
  3. Nicht vorhandene Rückwärtskompatibilität erschwert ein Rollback.
  4. Die Datenbank ist so groß, dass ein Backup einzuspielen sehr lange dauern würde.

Lösungsansätze für erfolgreiche Plugin Updates

Schlechte Plugins erkennen

Fangen wir bei den Benutzer:innen an. Wie könnten diese ein „schlechtes“ Plugin erkennen? Da der Laie nicht prüfen kann, ob die Code-Qualität gut ist, müsste ein System geschaffen werden, welches das kann. Die Frage ist: Würde so etwas funktionieren? Und die Antwort ist ganz klar: Ja!

Das schöne dabei: Ein kleines WordPress-Team arbeitet bereits an solch einem System. Es nennt sich Tide. Tides Vision ist es, automatisierte Qualitätstests für alle WordPress Plugins und Themes durchzuführen und diese Testergebnisse sowohl für die Autor:innen als auch für die User dieser Plugins und Themes sichtbar zu machen.

WordPress Tide
Qualitätstests mit Tide für WordPress

Es ist noch nicht fertig, aber in der Zukunft wird Tide dazu beitragen, dass Laien besser erkennen können, welche Art von WordPress Plugins sie sich installieren. Bis es soweit ist, muss man sich an die Plugin-Metadaten halten, die auf wordpress.org im Plugin-Verzeichnis bei jedem einzelnen Plugin angezeigt werden:

  1. Das Datum des letzten Updates. Ein häufiges Updaten kann auf einen aktiven Entwicklungsprozess schließen lassen. In den meisten Fällen kümmern sich die Entwickler:innen dann auch um die Behebungen von Fehlern.
  2. Anzahl der Installationen. Eine sehr hohe Zahl deutet nicht nur auf die Beliebtheit hin, sondern kann auch ein Hinweis darauf sein, dass die Autor:innen mit dem Plugin Geld verdienen (z.B. über eine Pro-Version). Das erzeugt einen gewissen Druck seitens des Herstellers. Er hat sicher ein Interesse daran, dass auch das kostenlose Plugin fehlerfrei funktioniert.
  3. Getestet bis. Auch das ist nur eine Versionsnummer, die jederzeit vom Hersteller angepasst werden kann, ohne dass dies durch einen Dritten belegt werden muss. Jedoch ist eine aktuelle Versionsnummer ein Hinweis darauf, dass das Plugin regelmäßig aktualisiert wird.
  4. PHP-Version. Es ist zwar schön, dass Entwickler niedrige Versionsnummern von PHP weiterhin unterstützen, sicherer wäre allerdings eine höhere Version.

Automatisierte Browsertests

Nun wird es schon etwas schwieriger. Vor allem für alle, die keinerlei Programmierkenntnisse haben. Wer auf wichtige Funktionen angewiesen ist, der sollte diese regelmäßig – am besten natürlich automatisiert – testen.

Puppeteer ist eine NodeJS-Bibliothek, die eine High-Level-API zur Steuerung des Chrome-Browsers über das DevTools-Protokoll bereitstellt. Puppeteer läuft standardmäßig headless, kann aber so konfiguriert werden, dass der Browser geöffnet wird und man dadurch zusehen kann, was alles passiert.

Funktionstests

Anwendungsfälle für solche Tests gibt es viele. Wenn du einen Onlineshop mit WooCommerce hast, dann kannst du so prüfen, ob Produkte noch in den Warenkorb gelegt werden können. Oder ob sich Formulare noch absenden lassen.

Freilich lassen sich nicht alle Fälle abdecken. Ein kleiner automatischer Test ist in den meisten Fällen jedoch wirkungsvoller als die einfache Sichtprüfung. Immerhin kann man nicht immer alle Funktionen einer Seite nach jedem kleinen Update testen. Gerade, wenn diese sehr umfangreich ist.

Visuelle Regressionstests

Auch eine „Sichtprüfung“ könnte man mit heutigen Mitteln bereits automatisieren. Das funktioniert relativ easy zum Beispiel mit BackstopJS. Die Konfiguration ist schnell über eine JSON-Datei geschehen. Ein backstop test in der Konsole genügt, um den Vergleich zu starten. Zum Schluss öffnet das Tool ein Browserfenster und zeigt die Unterschiede an.

Da BackstopJS auch einen detaillierten, von Maschinen lesbaren Report mit einem Unterscheidungswert in Prozent angibt, könnte man sich z. B. per E-Mail darüber informieren lassen, wenn es zu einer deutlichen Veränderung im Layout kam.

Rollback

Nehmen wir an, alle Updates wurden durchgeführt und die automatischen Tests schlugen fehl. Was tun? Selbstverständlich lassen sich Backups auch automatisch einspielen. Aber das klappt nur in drei Fällen: 

  1. Wenn der Hoster eine Schnittstelle hat, durch diese sich ein Rollback automatisch anstoßen lässt.
  2. Oder wenn man einen SSH-Zugang hat.
  3. Und wenn das Backup klein genug ist. Sonst dauert das Zurückspielen im schlechtesten Fall mehrere Stunden.

Viele Entwickler:innen wissen nur zu gut, dass das meiste davon oft nicht möglich ist. Entweder ist ein SSH-Zugang erst gar nicht vorhanden oder aber es gibt Timeouts wegen fehlender Ressourcen auf dem Server.

Managed WordPress Hosting

Für einige dieser Fälle nimmt dir ein Managed WordPress Hosting viel Arbeit ab. Wie du damit Zeit für deine Projekte mit WordPress und WooCommerce sparen kannst verrät dir unser E-Book 13 Vorteile von Managed WordPress Hosting.

Andere Lösungen?

Freilich ist meine Sicht nur eine von vielen. Es gibt noch andere, meist teurere Lösungen. Zum Beispiel lässt sich, anstatt hinterher ein Backup einzuspielen, vorher eine Kopie der Seite machen (Staging Konzept wie auch bei Raidboxes, zusätzlich zu den WordPress Backups) und damit alle möglichen Updates und Tests durchführen. Falls beim Test alles positiv verläuft, lassen sich die Updates schließlich auf der Live-Seite ebenfalls einspielen. Dann natürlich (meist) komplett automatisch und ohne aufgestellte Nackenhaare.

Eine andere Idee wäre, einfach statische Seiten von WordPress erstellen zu lassen. Dann wäre die Seite etwas unabhängiger vom eigentlichen Kern. Plugins für diesen Zweck existieren schon seit acht Jahren: Zum Beispiel WPStatic. Aber auch hier gilt: Das funktioniert nicht für jeden Anwendungsfall, schon gar nicht für hoch dynamische Seiten wie Onlineshops.

Mein Fazit

Wie man es macht, macht man es falsch, oder? Nein! Letztlich kommt es auf deine eigene Website, auf deine Wünsche und natürlich auf den Geldbeutel an. Wer keine kritischen Seiten betreibt und es mal okay ist, dass eine Website Fehler wirft, der fährt gut mit Auto Updates.

Auch bei Raidboxes hast du mit dem Fully Managed Add-On die Möglichkeit, automatische Plugin- und Theme-Updates zu aktivieren. In den Einstellungen deiner BOX kannst du außerdem einzelne Plugins und Themes, mit denen du bereits Probleme hattest, von den Auto-Updates ausschließen.

Wahrscheinlich gehen automatische Plugin Updates für die meisten, kleinen Seiten aber ohnehin relativ problemlos vonstatten. Wer größere Seiten hat, der hat meist auch mehr finanzielle Mittel zur Verfügung, um entsprechende Maßnahmen zu ergreifen. Alle dazwischen müssen ihre eigene Lösung finden.

Deine Fragen zu Plugin Updates

Du hast Fragen an Florian oder zum Beitrag? Dann nutze gerne die Kommentarfunktion. Du willst über weitere Beiträge zum Thema WordPress und WooCommerce informiert werden? Dann folge uns auf LinkedInFacebookTwitter oder über unseren Newsletter.

Hat dir der Artikel gefallen?

Mit deiner Bewertung hilfst du uns, unsere Inhalte noch weiter zu verbessern.

Schreibe einen Kommentar

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