Dies ist ein Gastartikel von Jan Hoffmann von der Internetagentur Kreativdenker
Seit Version 3.7 installiert WordPress kritische Wartungs- und Sicherheitsupdates völlig automatisch und ganz ohne Zutun des Administrators. Wie man das automatische Update deaktivieren oder auch für Themes und Plugins aktivieren kann, erfahrt ihr in dieser Anleitung.
WordPress 3.7 „Basie“ erblickte, ausgestattet mit einem sicherheitssteigernden Feature, Ende 2013 das Licht der CMS-Welt. Die Rede ist von einer Auto-Update-Funktion für kritische Updates sowie für Übersetzungsdateien. Seither unterscheidet man bei WordPress zwischen vier verschiedenen Arten von automatischen Updates, die im Hintergrund geladen werden: Core-Update, Plugin-Updates, Theme-Updates und Aktualisierungen der Sprachpakete. Standardmäßig aktiviert sind die automatischen Updates allerdings nur für Wartungs- und Sicherheitsupdates der WordPress-Core sowie für die Sprachdateien, für Major-Updates und Entwickler-Versionen können die automatischen Updates aber ebenfalls veranlasst werden. Wer sich für Themes und Plugins ebenfalls um keine Aktualisierungen mehr kümmern möchte, kann diese ganz einfach in der wp-config.php aktivieren.
Automatische Core-Updates
Bei den Core-Updates unterscheidet man wiederum zwischen drei verschiedenen „Update-Arten“: Entwicklungsupdates, Minor Core-Updates (Sicherheitsupdates) und Major Core-Updates, wovon allerdings nur die Minor Core-Updates standardmäßig automatisch im Hintergrund eingespielt werden. Das lässt sich bei Bedarf jedoch auch ganz einfach über die wp-config.php (zu finden im Root-Verzeichnis der WordPress-Installation) steuern.
Mit der Konstante WP_AUTO_UPDATE_CORE können die Hintergrund-Aktualisierungen ganz einfach nach eigenen Belieben konfiguriert werden.
Mit dem Wert „true“ werden alle Entwicklungs-, Minor und Major-Updates aktiviert, weshalb diese Konfiguration ausschließlich für (lokale) Installationen zu Entwicklungszwecken verwendet werden sollte.
define( 'WP_AUTO_UPDATE_CORE', true );
Mit „false“ hingegen werden automatische Core-Updates aller Art vollständig deaktiviert.
define( 'WP_AUTO_UPDATE_CORE', false );
Wer nur Minor-Updates, sprich Aktualisierungen bezüglich Sicherheit und Wartung zulassen möchte, der sollte den Wert „minor“ verwenden (empfohlen).
define( 'WP_AUTO_UPDATE_CORE', 'minor' );
Um eine genaue Einstellung treffen zu können, welche Updates sich nun automatisch einspielen sollen und welche nicht, kann man mit Filtern arbeiten, die ebenfalls in die wp-config.php gehören.
Möchte man beispielsweise nur die Entwicklungsupdates automatisch installieren, muss folgender Filter verwendet werden:
add_filter( 'allow_dev_auto_core_updates', '__return_true' );
Um diese Aktualisierungen zu deaktivieren, kommt der gleiche Filter mit dem Wert „__return_false“ zum Einsatz:
add_filter( 'allow_dev_auto_core_updates', '__return_false' );
Gleiches gilt für Minor-Updates, die ebenfalls per Filter aktiviert oder deaktiviert werden können. Folgender Filter muss dazu in der wp-config.php eingebaut werden:
add_filter( 'allow_minor_auto_core_updates', '__return_true' );
Um nur Major-Updates, sprich große Versionssprünge als Auto-Update zu aktivieren, benötigt man folgenden Filter:
add_filter( 'allow_major_auto_core_updates', '__return_true' );
Automatische Aktualisierung von Themes, Plugins und Sprachdateien
Widmen wir uns nun der automatischen Aktualisierungen von Themes, Plugins und Sprachdateien. Zur automatischen Plugin-Aktualisierung wird folgender Filter in der wp-config.php benötigt:
add_filter( 'auto_update_plugin', '__return_true' );
Wer gleiches für Theme-Updates bezwecken will, muss folgenden Code integrieren:
add_filter( 'auto_update_theme', '__return_true' );
Die standardmäßig aktivierten Auto-Updates für Sprachdateien können auf diesem Wege ebenfalls einfach und schnell abgeschaltet werden. Empfehlenswert ist das allerdings nicht.
add_filter( 'auto_update_translation', '__return_false' );
Um alle automatischen Updates, unabhängig von Core-, Theme-, oder Plugin-Updates zu deaktivieren, kann folgender Snippet in der wp-config.php integriert werden:
add_filter( 'automatic_updater_disabled', '__return_true' );
Tipp: Sollen nur bestimmte WordPress-Plugins ein automatisches Update erfahren, so kann nachstehender Code genutzt werden. Belässt man die Standardeinstellungen für Plugin-Updates, so müssen diese in der Regel automatisch aktualisiert werden. Einzige Ausnahme stellt dabei eine äußerst kritische Sicherheitslücke dar, bei der das WordPress-Security-Team unter Umständen einschreitet und ein Update veranlasst.
function auto_update_specific_plugins ( $update, $item ) { // Array mit Plugins (Slugs), die ein Auto-Update erhalten sollen $plugins = array ( 'akismet', 'buddypress', ); if ( in_array( $item->slug, $plugins ) ) { return true; } else { return $update; } } add_filter( 'auto_update_plugin', 'auto_update_specific_plugins', 10, 2 );
Vor- und Nachteile der Auto-Updates
Wie so vieles im Leben, haben auch die Auto-Updates von WordPress sowohl Vor- als auch Nachteile. Meines Erachtens sollte man die automatischen Sicherheitsupdates stets aktivieren. Bei den Major-Core-Updates sollte man die Entscheidung allerdings nicht auf die leichte Schulter nehmen: Da sowohl Themes als auch Plugins bei einem automatischen Major-Update nicht auf die Kompatibilität mit der WordPress-Core überprüft werden, kann es unter Umständen zu diversen Problemen und Anzeigefehlern oder gar zu einem kompletten Ausfall der Webseite kommen. Gleiches gilt für etwaige Modifikationen an der Core, die mit einem Update überschrieben werden. Wer dann nicht regelmäßig einen Blick auf seine Webseite wirft, merkt im schlimmsten Fall nicht einmal, dass die eigene Webseite oder zumindest Teile davon nicht mehr ordnungsgemäß funktionieren. Meine Empfehlung lautet daher, nur die Sicherheitsupdates, besser bekannt als Minor-Updates, zu aktivieren, alle anderen Arten von Auto-Updates sollten wenn dann nur auf Testsystemen Verwendung finden.
Danke für deinen informativen und hilfreichen Beitrag. Ich habe auch schon einige Erfahrungen damit gemacht und habe schlussendlich auch nur die Minor Updates aktiviert. Ich freue mich auf weitere Beiträge!
Vielen Dank! 🙂
Hallo Jan,
vielen Dank für den recht informativen Blogeintrag. Ein Teil meiner WordPress-Blogs datet automatisch up, bei der anderen Hälfte muss ich selbst eingreifen und schnellstens aktualisieren. Das macht mir nicht viel aus und ich mache es wie auch schon früher. Wenn ich zeitnah auf einem der WordPress-Blogs war, dann aktualisiere ich alles, was es zu aktualisieren gibt. Bei meinem Hauptblog Internetblogger.de haben alle Updates die höchste Priorität und ich mag es nicht, wenn da noch etwas angezeigt wird, dass es ein Update gibt. Das muss ich gleich alles abhaken sowie erledigen.
Hallo Jan,
danke für den Beitrag! Ich muss ehrlich sagen, dass ich nur das automatische Update von WordPress selber nutze. D.h. keine Themes, Plugins oder Ähnliches wird automatisch geupdated.
Grund ist einfach, dass ich damit schon mal schlechte Erfahrung gemacht habe – die Seite funktionierte nicht mehr korrekt, da ein Plugin anscheinend nicht mehr kompatibel war – die komplette rechte Sidebar war dadurch zerschossen.
Noch unglücklicher ist, wenn man das erst später merkt.
Mich würde mal interessieren, wie schnell die meisten Plugins ihre Kompatibilität checken und ggf. updaten bzw. wie viele Fehler bei Plugin-Auto-Updates noch passieren…
Hallo Jan,
vielen Dank für den informativen Text. Ich habe nicht schlecht geguckt, als sich meine WordPress-Blogs irgendwann angefangen haben, sich selber zu aktualisieren!
Dank deiner Tipps konnte ich einige Unwägbarkeiten und Risiken automatischer Updates, die mir seit dem immer mal wieder Probeleme bereitet haben, beseitigen bzw. besser vorbereitet sein.
Das freut mich! 🙂
Hallo,
generell bin ich dagegen, dass meine WordPress Instanzen etwas automatisiert tun. Gerade bei Themes und Plugins habe ich schon erlebt, dass nach dem Update gar nichts mehr ging. Das war dann nicht so schlimm, kurz auf den FTP und dann zurückgeschraubt. Aber dann sitze ich auch davor, mach das Update manuell und bemerke den Fehler sofort.
Da ich aber zum Teil Tage nicht online bin, wären da Fehler natürlich sehr ärgerlich, deshalb mache ich die Updates nur noch manuell.
Gruß
Christian
Das sehe ich ähnlich, automatische Updates finde ich immer grenzwertig.
Zumal die Entwickler ja gar nicht jedes Szenario vor dem Veröffentlichen durchspielen können, so dass ich dabei immer ein Risiko sehe.
Wenn ich zeitnah auf einem der WordPress-Blogs war, dann aktualisiere ich alles, was es zu aktualisieren gibt. Bei meinem Hauptblog Internetblogger.de haben alle Updates die höchste Priorität und ich mag es nicht, wenn da noch etwas angezeigt wird, dass es ein Update gibt. Das muss ich gleich alles abhaken sowie erledigen.
Hallo,
bitte den letzten Kommentar von Hans entfernen, denn es ist erstens Spam und zweitens gehört Internetblogger.de mir und keinem anderem!!!