WP-CLI: Die wichtigsten Befehle für den WordPress-Alltag

Wer WordPress nur über das Backend administriert, kennt das Spiel: Plugin installieren, klicken, warten, klicken. Mit WP-CLI mache ich denselben Job in einer Zeile – und nebenbei Sachen, die im Backend gar nicht möglich sind. Hier sind die Befehle, die ich in meinen Projekten ständig brauche, plus ein PDF-Cheatsheet zum Ausdrucken.

Was ist WP-CLI

WP-CLI ist die offizielle Kommandozeile für WordPress. Statt durchs Backend zu klicken, jagst du Befehle wie wp plugin update --all per SSH durch und bist nach drei Sekunden fertig. Für Datenbankaktionen, Migrationen, Bulk-Cleanups oder Debugging gibt es kaum etwas Schnelleres.

Voraussetzung: SSH-Zugang zum Server und WP-CLI installiert. Bei den meisten guten Hostern ist das längst Standard.

Zwei Flags vorab – die rette ich euch zuerst

Bevor wir zu den Befehlen kommen, zwei Flags, die du verstanden haben musst.

–dry-run

Simuliert den Befehl, ohne tatsächlich etwas zu ändern. WP-CLI zeigt dir nur, was passieren würde. Pflicht bei search-replace – einmal vergessen und du hast in der Live-DB Strings ersetzt, die du nicht ersetzen wolltest.

wp search-replace "old.de" "new.de" --dry-run

Erst dry-run, prüfen wie viele Treffer es gibt, dann ohne Flag echt laufen lassen.

–force

Überspringt den Papierkorb und löscht permanent. Standardmäßig landen gelöschte Posts erstmal im Trash und müssten dann nochmal manuell geleert werden. Bei Revisionen, Spam und Trash-Cleanup willst du genau das – bei normalen Posts solltest du zweimal hinschauen, denn rückgängig geht nichts mehr.

wp post delete 123 --force

Backup zuerst – immer

Vor jeder destruktiven Aktion ein DB-Backup ziehen. Mit Timestamp im Dateinamen, damit du später weißt, was wann lief:

wp db export backup-$(date +%Y%m%d-%H%M).sql

Falls etwas schiefgeht, holst du den Stand zurück mit:

wp db import backup-20260429-1430.sql

Das ist mein wichtigster Reflex bei jedem CLI-Job.

Datenbank-Befehle

WP-CLI liest die DB-Credentials automatisch aus der wp-config.php. Du musst dich nicht extra in MySQL einloggen, kein phpMyAdmin, nichts.

wp db cli                          # MySQL-Shell direkt öffnen
wp db size --tables                # Tabellengrößen anzeigen
wp db optimize                     # alle Tabellen optimieren
wp db query "SELECT * FROM wp_options LIMIT 5"

Posts und Pages

Hier liegt der größte Speed-Vorteil gegenüber dem Backend. Beispiel: Revisionen einer einzelnen Seite löschen.

wp post list --post_type=revision --post_parent=123
wp post delete $(wp post list --post_type=revision --post_parent=123 --format=ids) --force

Oder gleich sitewide aufräumen – alle Revisionen, der komplette Papierkorb, sämtliche Spam-Kommentare in drei Befehlen:

wp post delete $(wp post list --post_type=revision --format=ids) --force
wp post delete $(wp post list --post_status=trash --format=ids) --force
wp comment delete $(wp comment list --status=spam --format=ids) --force

Das im Backend zu tun dauert je nach Datenbank-Größe Minuten bis Stunden. Per CLI sind es Sekunden.

Search & Replace nach Domain-Migration

Klassischer Fall: Staging zieht auf Live um, Domain wechselt. Im Backend ein Albtraum, mit WP-CLI ein Einzeiler.

wp search-replace "staging.kunde.de" "www.kunde.de" --skip-columns=guid --all-tables
wp cache flush
wp rewrite flush

--skip-columns=guid ist wichtig – die GUID darfst du nie verändern, sonst springen RSS-Reader und Aggregatoren beim nächsten Crawl an.

Plugins und Themes

Updates per CLI sind nicht nur schneller, sondern auch deutlich verlässlicher als die Backend-Variante. Kein Timeout, keine halb durchgelaufenen Aktualisierungen.

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

Ein neues Plugin installieren und direkt aktivieren:

wp plugin install woocommerce --activate

Media: Thumbnails neu generieren

Wenn du Image-Größen im Theme nachträglich änderst, müssen alle Thumbnails neu erzeugt werden. Im Backend brauchst du dafür ein Plugin – per CLI nicht.

wp media regenerate --yes

Bei Shops mit Tausenden Produktbildern ist das ein echter Lebensretter.

Debugging an- und ausschalten

Statt die wp-config.php per FTP zu bearbeiten:

wp config set WP_DEBUG true --raw
wp config set WP_DEBUG false --raw

Praktisch für die schnelle Fehlersuche bei einem Live-Kunden, ohne Datei-Zugriff zu brauchen.

Cheatsheet als PDF

Damit du das nicht jedes Mal nachschlagen musst, habe ich die wichtigsten Befehle in einem PDF zusammengefasst – mit allen Kategorien von Datenbank über Posts bis WooCommerce.

WP-CLI Cheatsheet als PDF herunterladen

Fazit

WP-CLI gehört zu den Werkzeugen, die du einmal in deinen Workflow integrierst und danach nie wieder missen willst. Wer regelmäßig WordPress-Sites pflegt, spart damit pro Woche Stunden – und macht nebenbei Aktionen möglich, an die das Backend gar nicht herankommt.