↑ ↓ auswählen, Enter öffnen, Esc schließen

WP-CLI

WordPress ohne Backend verwalten: Core, Plugins, Benutzer, Suchen und Ersetzen in der Datenbank, Cron und Cache. Spart bei vielen Installationen Stunden.

50 Einzeiler: 19 harmlos, 26 vorsicht, 5 destruktiv

Abgelaufene Transients aus der Datenbank löschen

$wp transient delete --expired --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Alle Beitragsrevisionen löschen

$wp post list --post_type=revision --format=ids --path=/var/www/vhosts/example.com/httpdocs | xargs -r wp post delete --force --path=/var/www/vhosts/example.com/httpdocs
destruktiv

Alle Plugins deaktivieren und aktive Liste sichern

$wp plugin list --status=active --field=name --path=/var/www/vhosts/example.com/httpdocs > /var/www/vhosts/example.com/aktive-plugins.txt && wp plugin deactivate --all --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Alle Spam-Kommentare endgültig löschen

$wp comment list --status=spam --format=ids --path=/var/www/vhosts/example.com/httpdocs | xargs -r wp comment delete --force --path=/var/www/vhosts/example.com/httpdocs
destruktiv

Alle Websites einer WordPress-Multisite auflisten

$wp site list --fields=blog_id,url,last_updated --path=/var/www/vhosts/example.com/httpdocs
harmlos

Alle WordPress-Administratoren auflisten

$wp user list --role=administrator --fields=ID,user_login,user_email,user_registered --path=/var/www/vhosts/example.com/httpdocs
harmlos

Alle WordPress-Benutzer mit ihrer Rolle auflisten

$wp user list --fields=ID,user_login,user_email,roles --path=/var/www/vhosts/example.com/httpdocs
harmlos

Alle WordPress-Plugins auf einmal aktualisieren

$wp plugin update --all --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Auf ein Standard-Theme umschalten

$wp theme activate twentytwentyfour --skip-themes --skip-plugins --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Automatische Updates für ein Plugin aktivieren

$wp plugin auto-updates enable wordfence --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Beiträge mit einem bestimmten Meta-Feld finden

$wp post list --post_type=any --meta_key=_yoast_wpseo_meta-robots-noindex --fields=ID,post_type,post_title --path=/var/www/vhosts/example.com/httpdocs
harmlos

Deutsche Sprachdatei für WordPress installieren und aktivieren

$wp language core install de_DE --activate --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Domainwechsel: alte Domain in der Datenbank ersetzen

$wp db export /var/www/vhosts/example.com/vor-domainwechsel.sql --path=/var/www/vhosts/example.com/httpdocs && wp search-replace '//alt.example.com' '//example.com' --all-tables --skip-columns=guid --path=/var/www/vhosts/example.com/httpdocs
destruktiv

Einzelnes Plugin trotz PHP-Fatal-Error deaktivieren

$wp plugin deactivate woocommerce --skip-plugins --skip-themes --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Fällige WP-Cron-Aufgaben sofort ausführen

$wp cron event run --due-now --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Fehlende Vorschaubilder neu generieren

$wp media regenerate --only-missing --yes --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Gepackten Dump in die WordPress-Datenbank einspielen

$gunzip -c /var/www/vhosts/example.com/db-backup.sql.gz | wp db import - --path=/var/www/vhosts/example.com/httpdocs
destruktiv

Geplante WP-Cron-Aufgabe löschen

$wp cron event delete old_plugin_daily_event --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Geplante WP-Cron-Aufgaben auflisten

$wp cron event list --fields=hook,next_run_relative,recurrence --path=/var/www/vhosts/example.com/httpdocs
harmlos

Größe der WordPress-Tabellen anzeigen

$wp db size --tables --path=/var/www/vhosts/example.com/httpdocs
harmlos

Größte automatisch geladene Optionen in WordPress finden

$wp option list --autoload=on --orderby=size_bytes --order=desc --fields=option_name,size_bytes --path=/var/www/vhosts/example.com/httpdocs | head -n 20
harmlos

Installierte Plugins mit Status und Updates auflisten

$wp plugin list --fields=name,status,version,update_version --path=/var/www/vhosts/example.com/httpdocs
harmlos

Installierte Themes mit Status und Updates auflisten

$wp theme list --fields=name,status,version,update_version --path=/var/www/vhosts/example.com/httpdocs
harmlos

Neuen WordPress-Administrator anlegen

$wp user create notfalladmin admin@example.com --role=administrator --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Passwort eines WordPress-Benutzers neu setzen

$wp user update admin --user_pass=NeuesSicheresPasswort --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Permalinks und Rewrite-Regeln neu erzeugen

$wp rewrite flush --path=/var/www/vhosts/example.com/httpdocs
vorsicht

PHP-Code im WordPress-Kontext schnell ausführen

$wp eval 'echo PHP_VERSION . " / WP " . get_bloginfo("version") . PHP_EOL;' --path=/var/www/vhosts/example.com/httpdocs
harmlos

Plugin auf eine bestimmte Version zurücksetzen

$wp plugin install contact-form-7 --version=5.9.8 --force --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Plugin-Dateien mit den Originalen von wordpress.org vergleichen

$wp plugin verify-checksums --all --path=/var/www/vhosts/example.com/httpdocs
harmlos

Prüfen, ob WordPress Suchmaschinen aussperrt

$wp option get blog_public --path=/var/www/vhosts/example.com/httpdocs
harmlos

Rolle eines WordPress-Benutzers ändern

$wp user set-role redaktion editor --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Suchen und Ersetzen in der Datenbank testen

$wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run --report-changed-only --path=/var/www/vhosts/example.com/httpdocs
harmlos

Suchmaschinen-Sperre in WordPress aufheben

$wp option update blog_public 1 --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Website-Adresse siteurl und home ändern

$wp option update siteurl 'https://example.com' --path=/var/www/vhosts/example.com/httpdocs && wp option update home 'https://example.com' --path=/var/www/vhosts/example.com/httpdocs
vorsicht

Website-Adresse siteurl und home auslesen

$wp option get siteurl --path=/var/www/vhosts/example.com/httpdocs && wp option get home --path=/var/www/vhosts/example.com/httpdocs
harmlos

WordPress-Beiträge nach Status zählen

$wp post list --post_type=post --post_status=any --field=post_status --path=/var/www/vhosts/example.com/httpdocs | sort | uniq -c
harmlos

WordPress-Core aktualisieren inklusive Datenbank

$wp core update --path=/var/www/vhosts/example.com/httpdocs && wp core update-db --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Core auf eine bestimmte Version setzen

$wp core update --version=6.6.2 --force --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Datenbank gepackt sichern

$wp db export - --path=/var/www/vhosts/example.com/httpdocs | gzip > /var/www/vhosts/example.com/db-backup.sql.gz
harmlos

WordPress-Datenbank optimieren

$wp db optimize --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Datenbank von http auf https umstellen

$wp db export /var/www/vhosts/example.com/vor-https.sql --path=/var/www/vhosts/example.com/httpdocs && wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --path=/var/www/vhosts/example.com/httpdocs
destruktiv

WordPress-Debug-Log aktivieren ohne Fehlerausgabe

$wp config set WP_DEBUG true --raw --path=/var/www/vhosts/example.com/httpdocs && wp config set WP_DEBUG_LOG true --raw --path=/var/www/vhosts/example.com/httpdocs && wp config set WP_DEBUG_DISPLAY false --raw --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Kerndateien auf Manipulation prüfen

$wp core verify-checksums --path=/var/www/vhosts/example.com/httpdocs
harmlos

WordPress-Object-Cache leeren

$wp cache flush --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Sicherheitsschlüssel (Salts) neu erzeugen

$wp config shuffle-salts --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WordPress-Wartungsmodus ein- und ausschalten

$wp maintenance-mode activate --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WP-CLI als Plesk-Abo-Benutzer statt als root ausführen

#runuser -u webuser -- wp plugin list --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WP-CLI-Befehl auf allen Sites einer Multisite ausführen

$wp site list --field=url --path=/var/www/vhosts/example.com/httpdocs | xargs -r -I {} wp cache flush --url={} --path=/var/www/vhosts/example.com/httpdocs
vorsicht

WP-CLI-Version und verwendetes PHP anzeigen

$wp --info
harmlos

Zuletzt registrierte WordPress-Benutzer anzeigen

$wp user list --orderby=registered --order=DESC --fields=ID,user_login,user_email,user_registered,roles --path=/var/www/vhosts/example.com/httpdocs | head -n 15
harmlos

Erst lesen, dann ausführen.

Die Befehle auf myline.de greifen direkt in Server, Dateien und Datenbanken ein. Ein falscher Pfad oder Platzhalter kann Daten unwiderruflich löschen oder einen Server unerreichbar machen.

  • Alle Befehle werden ohne Gewähr bereitgestellt und sind nicht auf jedem System getestet.
  • Vor dem Ausführen verstehen, was ein Befehl tut, und jeden Platzhalter prüfen.
  • Vorher ein Backup anlegen und möglichst zuerst auf einem Testsystem ausprobieren.
  • Die Ausführung erfolgt auf eigene Verantwortung. Eine Haftung für Schäden ist ausgeschlossen, soweit gesetzlich zulässig.