Komfortables Theme und Plugin Update von mehreren WordPress Seiten

9. Oktober 2025

Wordpress Black Friday PlugIn und Theme Angebote

Das Updaten von PlugIns und Themes ist finde ich immer ein leidiges Thema, insbesondere wenn man sehr viele Seiten verwaltet, auch wenn es nur Test und Stagingseiten sind.

Dieser Tipp richtet sich also nicht an WordPress Nutzer, die ein oder zwei Seiten verwalten, sondern eher 20 oder mehr und diese u.U. noch auf diverse Hosting Accounts verteilt.

Natürlich kann man inzwischen bei vielen PlugIns die automatische Aktualisierung einstellen, aber leider nicht bei allen.

Zudem bieten sich Tools wie MainWP an, mit denen man komfortabel viele Seiten über eine zentrale Oberfläche verwalten kann.

Ich fand aber auch das immer sehr mühsam, gerade wenn es um Staging- oder Testseiten geht, deren Aktualisierung keine große Aufmerksamkeit erfordert, aber aus Sicherheitsgründen trotzdem erforderlich ist.

Lösung per WP-CLI und Cron Job

WP-CLI ist eine schnelle Möglichkeit bestimmte Aktionen in WordPress auszuführen. Das kann die Installation von WordPress sein, aber auch z.B. das Update aller Plugins oder Themes. Ggf. muss WP-CLI beim Hoister gesondert installiert werden. Mein Hoster Hetzner bietet dafür einen Installationsbefehl an.

Mit Befehlen wie wp theme update –all und wp plugin update –all habe ich dann per SSH meine Installationen geupdatet. Aber auch das zieht sich hin, da man immer wieder manuell in die Verzeichnisse der Installationen wechsel muss.

Manuelle Lösung per Script

Im ersten Schritt habe ich mir dann dieses Script erstellt, dass automatisch alle WordPress Installationen eines Accounts aufruft und dort die WP-CLI Befehle automatisch ausführt.

	!/bin/bash
	
	cd public\_html`
	`
	`# Führe eine Schleife über alle Unterverzeichnisse aus`
	
	for dir in \*/; do
	
	
	if [ -f "$dir/wp-config.php" ]; then
	    echo "=================================================="
	    echo "Starte Updates für: $dir"
	    echo "=================================================="
	
	    cd "$dir"
	
	    # WP-CLI-Befehle
	    wp theme update --all --quiet
	    wp plugin update --all --quiet
	
	    echo "Fertig: $dir"
	
	    cd ..
	fi
	
	done
	
	echo "Alle WP-Installationen wurden überprüft."

Das war schon mal eine enorme Zeitersparnis.

Automatisierung per Cron Job

Im zweiten Schritt habe ich das Script modifiziert, sodass es auch per Cron Job täglich einmal ausgeführt wird.

!/bin/bash

# Das Shebang muss die allererste Zeile sein

# Setze den ABSOLUTEN PFAD zum Verzeichnis, das alle WP-Installationen enthält
# PASSE DIESEN PFAD UNBEDINGT AN DEINE SERVERSTRUKTUR AN!
BASE\_DIR="Pfad eintragen" # BEISPIEL: Ersetze dies durch Ihren tatsächlichen Pfad

# Setze den ABSOLUTEN PFAD zur WP-CLI-Ausführungsdatei
# Dies ist notwendig, da Cron in einer minimalen Umgebung läuft und den Pfad zu 'wp' nicht kennt
WP\_CLI\_PATH="Pfad zu wp-cli" # BEISPIEL: Überprüfe den tatsächlichen Pfad

# Wechsel in das übergeordnete Verzeichnis (mit absolutem Pfad)
cd "$BASE\_DIR"

# Führe eine Schleife über alle Unterverzeichnisse aus
for dir in \*/; do
	# Überprüfen, ob wp-config.php existiert (bestätigt WP-Installation)
	if [ -f "$dir/wp-config.php" ]; then
	    echo "=================================================="
	    echo "Starte Updates für: $dir"
	    echo "=================================================="
	
	    cd "$dir"
	
	    # WP-CLI-Befehle mit ABSOLUTEM PFAD
	    "$WP_CLI_PATH" theme update --all --quiet
	    "$WP_CLI_PATH" plugin update --all --quiet
	
	    echo "Fertig: $dir"
	
	    cd .. # Zurück in den BASE_DIR wechseln
	fi
done

echo "Alle WP-Installationen wurden überprüft."

Sicher gibt es noch bessere Lösungen, aber diese funktioniert bei mir. Trotzdem übernehme ich keine Gewähr und jeder nutzt die Scripte auf eigene Gefahr.

Fragen zum Artikel?

Fragen