Weihmann.Webdesign & Online-Marketing
Menü

WordPress: Wartung und Rettung

WP-CLI: WordPress auf der Kommandozeile

Updates, Backups und Benutzerverwaltung ohne Klickerei im Backend. Eine Einführung in WP-CLI für alle, die WordPress betreuen.

WP-CLI ist eine Sammlung von Kommandozeilen-Werkzeugen für WordPress. Damit erledigst du auf der Konsole in Sekunden, was im Backend viele Klicks kostet: Updates einspielen, Datenbanken sichern, Texte in der ganzen Datenbank ersetzen, Benutzer anlegen, Plugins installieren.

Ich bin dazu gekommen, als ich von eigenen Servern zum Hosting bei All-Inkl gewechselt bin. In den größeren Paketen ist SSH dabei, und da ich ohnehin gern auf der Konsole arbeite, war der Schritt naheliegend.

Ein Update, das ich früher in jeder Installation einzeln durchgeklickt habe, läuft heute in einer Zeile. Bei zwanzig Seiten ist das der Unterschied zwischen einem Nachmittag und einer Kaffeepause.

Daniel Weihmann

WP-CLI einrichten

Hier am Beispiel von All-Inkl, das läuft bei anderen Hostern mit SSH-Zugang ähnlich. Zuerst im Kundenmenü SSH aktivieren, dann per SSH-Client einloggen. Das Passwort ist dasselbe wie beim Haupt-FTP-Zugang des Accounts.

Anmeldung per SSH-Client

Nach dem Login liegst du im Hauptverzeichnis, etwa /www/htdocs/w1234567. Dort:

mkdir wp-cli
cd wp-cli
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar

Damit du nicht jedes Mal den vollen Pfad tippen musst, legst du eine Abkürzung an. Ersetze dabei w1234567 durch deinen Accountnamen:

echo "alias wp='/www/htdocs/w1234567/wp-cli/wp-cli.phar'" >> ~/.user_bashrc
source ~/.user_bashrc

Ein kurzer Test zeigt, ob es sitzt:

wp help
wp cli update

Die Hilfeausgabe von WP-CLI auf der Konsole

Eine neue Installation aufsetzen

Wechsel ins Verzeichnis der Domain und hol dir die aktuelle Version:

wp core download --locale=de_DE

Danach die Verbindung zur Datenbank einrichten. Der Befehl legt die wp-config.php an und erzeugt gleich die Sicherheitsschlüssel:

wp config create --dbname=DATENBANK --dbuser=BENUTZER --dbpass='PASSWORT' --locale=de_DE

Anlegen der Datenbank beim Hoster

Die Installation selbst ließe sich mit wp core install ebenfalls in einer Zeile erledigen. Ich mache diesen Schritt trotzdem im Browser, weil ich vorher noch von Hand in die wp-config.php schreibe, etwa einen eigenen Tabellen-Präfix, ein anderes Upload-Verzeichnis und ein paar Grenzwerte.

Die Willkommensseite der WordPress-Installation

Du willst WP-CLI nutzen, aber der Server macht nicht mit?

Erzähl mir, welchen Hoster du hast. Ich richte den Zugang ein oder übernehme die Arbeiten für dich, die du lieber nicht selbst auf der Kommandozeile machen willst.

Anfrage stellen 0176 53908409

Die Befehle, die ich täglich brauche

Plugins installieren und direkt aktivieren, auch mehrere hintereinander:

wp plugin install antispam-bee --activate
wp plugin list
wp plugin update --all

Alles auf einen Stand bringen, WordPress selbst, Plugins, Themes und die Datenbankstruktur:

wp core update
wp core update-db
wp plugin update --all
wp theme update --all

Ein Datenbank-Backup, bevor irgendetwas davon passiert:

wp db export sicherung-$(date +%F).sql

Und der Befehl, der die meiste Zeit spart: Texte in der gesamten Datenbank ersetzen, etwa beim Umzug von einer Testadresse auf die richtige Domain. Erst mit --dry-run ansehen, was passieren würde, dann ohne ausführen:

wp search-replace 'https://alt.example.de' 'https://www.example.de' --dry-run
wp search-replace 'https://alt.example.de' 'https://www.example.de'

Das erledigt auch serialisierte Daten korrekt, an denen ein einfaches Suchen und Ersetzen in der SQL-Datei scheitert. Genau dafür lohnt sich WP-CLI schon allein.

WP-CLI fragt nicht nach. Was du eintippst, passiert sofort und in der ganzen Datenbank. Deshalb kommt vor jedem verändernden Befehl ein Export.

Daniel Weihmann

Wenn du ausgesperrt bist

Ein Fall, der öfter vorkommt, als man denkt: Das Administratorpasswort ist weg, die Wiederherstellung per Mail funktioniert nicht, weil der Mailversand klemmt. Über die Konsole ist das in zwei Zeilen erledigt:

wp user list
wp user update 1 --user_pass='NeuesPasswort'

Ähnlich hilfreich, wenn die Seite nach einem Update weiß bleibt: Alle Plugins auf einmal deaktivieren, dann einzeln wieder einschalten, bis der Übeltäter feststeht.

wp plugin deactivate --all
wp plugin activate NAME

Wo es Grenzen gibt

WP-CLI braucht SSH-Zugang. Bei einfachen Hostingpaketen gibt es den nicht, dann bleibt nur das Backend. Außerdem läuft nicht bei jedem Anbieter dieselbe PHP-Fassung auf der Konsole wie im Web, was zu Fehlermeldungen führen kann, die im Browser nie auftreten. Wenn dir das begegnet: Der Hoster stellt meist eine eigene Aufrufvariante für die richtige Version bereit.

Nachschlagen kannst du alles unter wp-cli.org und in der Befehlsübersicht von WordPress.

Wenn du das alles lieber jemanden machen lässt, der es täglich tut: Ich übernehme bestehende Installationen und halte sie sauber, siehe WordPress: Wartung und Rettung.

WordPress: Wartung und Rettung

Mehr zum Thema

08/2026

WordPress gehackt: die ersten Stunden

Abschalten, sichern, Passwörter tauschen, dann erst suchen. Die Reihenfolge, die den Befall wirklich beendet, und warum Aufräumen der falsche erste Schritt ist.

09/2018

Die robots.txt in WordPress

WordPress erzeugt eine robots.txt selbst, und die ist selten die, die du willst. Wie du sie richtig setzt, ohne dich auszusperren.

Alles zu WordPress: Wartung und Rettung

Lieber machen lassen?

Wenn du das nicht selbst umsetzen willst, übernehme ich es. Ein Telefonat reicht, um zu klären, ob sich das für dich lohnt.