
🧹 So löschen Sie WordPress-Benutzer mit einer bestimmten Rolle im Bulk
Zwölfhundert Spam-Registrierungen nach einer Werbekampagne. Dreihundert Test-Accounts, die nach dem Launch niemand gelöscht hat. Hundert Mitwirkende, die vor sechs Monaten gegangen sind. All das liegt als Ballast in der Datenbank der Website und wächst jeden Monat.
Diesen Ballast einzeln zu löschen, ist eine Aufgabe für einen Roboter, nicht für einen Menschen. Die Standardtabelle von WordPress zeigt 20 Benutzer pro Seite. Bei tausend Accounts bedeutet das 50 Klicks auf „Löschen" und 50 Bestätigungen. Beim zweiten Dutzend möchten Sie den Browser schließen und so tun, als gäbe es das Problem nicht.
Dabei können Sie das Problem in fünf Minuten lösen. WordPress bietet vier Werkzeuge für die massenhafte Benutzerbereinigung nach Rolle: vom eingebauten Filter, der keinerlei Plugins erfordert, bis hin zu direktem SQL in phpMyAdmin. Wir behandeln jedes Werkzeug mit Anleitungen, Screenshots und vor allem damit, wie Sie vermeiden, sich selbst von der Website auszusperren.
💡 Kurzüberblick:
- Erstellen Sie ein vollständiges Backup der Datenbank und Dateien; das ist kein Ratschlag, sondern eine Versicherung gegen den Ernstfall
- Filtern Sie Benutzer nach Rolle über die eingebauten Massenaktionen; das funktioniert für ein- bis zweihundert Accounts
- Installieren Sie Bulk Delete, wenn Sie fein granulierte Filter benötigen: nach Registrierungsdatum, Inaktivität oder fehlenden Beiträgen
- Mit WP-CLI erledigen Sie die Aufgabe mit einem einzigen Befehl, bei jedem Volumen, auch bei Zehntausenden
- Direktes SQL gibt Ihnen absolute Kontrolle, erfordert aber Sorgfalt: ein Tippfehler im WHERE kann Sie den Admin-Zugang kosten
Was vor dem Löschen zu tun ist
Drei Maßnahmen, die Sie vor irreversiblen Folgen bewahren. Lassen Sie eine davon aus, riskieren Sie nicht nur Inhalte, sondern die Funktionsfähigkeit der Website.
Vollständiges Backup. Ein Backup der Datenbank und Dateien ist der einzige Weg, eine Massenlöschung rückgängig zu machen. UpdraftPlus funktioniert gut (es sendet Backups an Google Drive, Dropbox oder Ihren S3), ebenso wie WPvivid. Nutzen Sie bei Hosting mit cPanel den eingebauten Backup-Assistenten; das ist schneller und belastet die PHP-Worker nicht.
Export der Benutzerliste. Falls Daten der zu löschenden Accounts für Audits oder Berichte benötigt werden könnten, exportieren Sie sie zuerst. Pfad: „Benutzer" → „Alle Benutzer" → Schaltfläche „Exportieren" oben → CSV-Format. Speichern Sie die Datei lokal. Nach einem DELETE aus der Datenbank können Sie einen Account nicht wiederherstellen, nur aus einem Backup.
Inhaltsprüfung. Filtern Sie Benutzer nach Rolle und sehen Sie sich die Spalte „Beiträge" an, um zu erkennen, wie viele Beiträge und Seiten ohne Autor bleiben werden. Entscheiden Sie vorab: Werden Sie Inhalte beim Löschen einem Administrator zuweisen oder zusammen mit den Accounts löschen? Kommentare gelöschter Benutzer bleiben auf der Website erhalten (der Autor wird als „Gelöschter Benutzer" angezeigt); das hat keine Auswirkungen darauf.
Methode 1: Eingebaute Massenaktionen
Keine Plugins erforderlich. Alles, was Sie brauchen, ist bereits im WordPress-Core enthalten. Das funktioniert für Volumen von bis zu ein paar hundert Accounts in einem Durchgang; darüber hinaus treten Verlangsamungen und Timeouts auf.
Schritt 1: Nach Rolle filtern. Gehen Sie zu „Benutzer" → „Alle Benutzer". Über der Tabelle befindet sich eine Dropdown-Liste der Rollen. Wählen Sie die gewünschte aus (zum Beispiel „Abonnent") und klicken Sie auf „Filtern". WordPress zeigt nur Benutzer mit dieser Rolle an.

Schritt 2: Einträge pro Seite. Standardmäßig sehen Sie 20 Einträge. Für Massenbearbeitungen ist das nicht ausreichend. Die Schaltfläche „Ansicht anpassen" (oben rechts) öffnet ein Panel, in dem Sie das Feld „Anzahl der Einträge pro Seite" auf 200, 500 oder sogar 999 setzen können. Klicken Sie auf „Übernehmen", die Seite lädt neu und zeigt die gesamte Liste in einem Stapel an.

Schritt 3: Massenauswahl. Das Kontrollkästchen im Tabellenkopf (neben der Überschrift „Benutzername") wählt alle auf der Seite auf einmal aus. Entfernen Sie danach manuell die Haken bei denen, die Sie behalten möchten: Administratoren, Redakteure, wichtige Autoren.

Schritt 4: Löschung und Inhaltszuweisung. Wählen Sie im Dropdown „Massenaktionen" über der Tabelle „Löschen" und klicken Sie auf „Übernehmen". WordPress fragt, was mit den Inhalten der zu löschenden Benutzer geschehen soll: Die Option „Alle Inhalte zuweisen an" plus Auswahl eines Administrators im angrenzenden Feld bewahrt Beiträge; „Alle Inhalte löschen" entfernt alles ohne Wiederherstellungsmöglichkeit. Bestätigen Sie, und der Vorgang ist abgeschlossen.

Die eingebaute Methode ist zuverlässig für kleine und mittlere Volumen. Wenn Sie es jedoch mit Tausenden zu tun haben, erzeugt jede Seite dutzende SQL-Abfragen über PHP, und der Server stürzt entweder bei max_execution_time ab oder kommt zum Erliegen. Verwenden Sie für diese Fälle die nachfolgenden Werkzeuge.
Methode 2: Bulk Delete Plugin
Bulk Delete ist ein kostenloses Plugin mit über 300.000 aktiven Installationen. Sein Hauptvorteil gegenüber der Standardmethode liegt in der Stapelverarbeitung. Das Plugin löscht Benutzer in Chargen von 50 bis 100, ohne Spitzenlasten auf der Datenbank zu erzeugen. Zudem bietet es Filter, die im WordPress-Core nicht vorhanden sind.
Die Installation erfolgt standardmäßig: „Plugins" → „Installieren" → nach „Bulk Delete" suchen → „Installieren" → „Aktivieren". Nach der Aktivierung erscheint im Seitenleistenmenü der Bereich „Bulk WP" und darin „Bulk Delete Users".
Hier wählen Sie die zu löschende Rolle aus und konfigurieren einen oder mehrere zusätzliche Filter:
- Registrierungsdatum: vor oder nach einem bestimmten Datum;
- Inaktivität: Benutzer, die sich in den letzten N Tagen nicht angemeldet haben;
- Keine Beiträge: Konten ohne einen einzigen Beitrag;
- Metafeld-Wert: zum Beispiel alle mit
billing_country = 'RU'löschen.

Klicken Sie vor dem Ausführen der Löschung unbedingt auf „Preview Users"; das Plugin zeigt eine Liste der IDs und E-Mails an, die den Filtern entsprechen. Prüfen Sie, dass Sie genau die Benutzer löschen, die Sie löschen müssen. Setzen Sie dann das Bestätigungs-Häkchen und klicken Sie auf „Bulk Delete".
Nennenswerte Alternativen sind WP Bulk Delete, das nicht nur Benutzer, sondern auch Beiträge, Seiten, Kommentare und Taxonomien löschen kann (ein universeller Bereiniger, wenngleich einige Funktionen in der Pro-Version enthalten sind), sowie User Role Editor, das primär ein Werkzeug zum Bearbeiten von Rollen und Erstellen eigener Rollen ist, dessen Oberfläche aber ebenfalls eine Massenlöschung nach Rolle bietet (der Reiter „Users").
Methode 3: WP-CLI
WP-CLI löst die Aufgabe mit einem einzigen Konsolenbefehl. Keine Paginierung, keine Timeouts. Sie benötigen Shell-Zugriff auf den Server (SSH auf einem VPS, dediziertem Hosting oder einer lokalen Entwicklungsumgebung). Auf günstigem Shared Hosting ist WP-CLI in der Regel nicht verfügbar.
Ermitteln Sie zunächst die IDs aller Benutzer mit der gewünschten Rolle:
1 wp user list --role=subscriber --format=ids
Die Ausgabe ist eine Zeichenkette aus durch Leerzeichen getrennten IDs: 12 45 78 134 256. Löschen Sie diese mit Inhaltszuweisung an den Administrator (ID=1):
1 wp user delete 12 45 78 134 256 --reassign=1
Sie können dies auch in einem Befehl ohne die Zwischenliste erledigen:
1 wp user delete $(wp user list --role=subscriber --format=ids) --reassign=1
Der Schalter --delete-posts anstelle von --reassign löscht sowohl die Benutzer als auch deren Inhalte vollständig. Verwenden Sie ihn nur, wenn Sie sicher sind, dass die Inhalte der gelöschten Konten nicht benötigt werden.
WP-CLI arbeitet direkt mit der Datenbank und umgeht PHP. Bei hunderttausend Benutzern wird der Befehl in 2 bis 5 Sekunden ausgeführt. Das ist um Größenordnungen schneller als jedes Plugin und sicherer als manuelles SQL, da wp user delete die Metadatenbereinigung kaskadiert, ohne verwaiste Zeilen zu hinterlassen.
Methode 4: Direktes SQL
Für alle, die absolute Kontrolle über jede Abfrage benötigen. SQL über phpMyAdmin oder die MySQL-Konsole setzt keine Grenzen, verzeiht aber auch keine Fehler.
Zuerst die Datenbank sichern. Das ist keine Empfehlung, sondern eine strikte Voraussetzung. Ein Tippfehler in WHERE (zum Beispiel administrator statt subscriber) und Sie verlieren den Zugriff auf die Site. Eine Wiederherstellung ist nur aus einem Dump möglich.
Melden Sie sich über Ihr Hosting-Panel bei phpMyAdmin an, wählen Sie die WordPress-Datenbank aus und öffnen Sie den Reiter „SQL".
Schritt 1: Die IDs ermitteln. Rollen sind in der Tabelle wp_usermeta gespeichert, Feld meta_key = 'wp_capabilities'. Ersetzen Sie subscriber durch die gewünschte Rolle und passen Sie das Präfix wp_ an, falls es abweicht:
1 SELECT u.ID, u.user_login, u.user_email 2 FROM wp_users u 3 JOIN wp_usermeta um ON u.ID = um.user_id 4 WHERE um.meta_key = 'wp_capabilities' 5 AND um.meta_value LIKE '%subscriber%';
Prüfen Sie die Ausgabe visuell. Kopieren Sie die resultierenden IDs.
Schritt 2: Inhalte neu zuweisen. Ersetzen Sie 1 durch die ID des Nutzers, dem Sie die Beiträge übertragen. Die Liste 123, 456, 789 sollte die IDs aus Schritt 1 enthalten:
1 UPDATE wp_posts 2 SET post_author = 1 3 WHERE post_author IN (123, 456, 789);
Schritt 3: Nutzer und Metadaten löschen. In genau dieser Reihenfolge:
1 DELETE FROM wp_users WHERE ID IN (123, 456, 789); 2 DELETE FROM wp_usermeta WHERE user_id IN (123, 456, 789);
Falls Sie auch Beiträge und Kommentare löschen müssen, bereinigen Sie zuerst die Kindtabellen:
1 DELETE FROM wp_comments WHERE user_id IN (123, 456, 789); 2 DELETE FROM wp_posts WHERE post_author IN (123, 456, 789);
Und erst danach wp_users und wp_usermeta. Die Reihenfolge ist entscheidend: zuerst die Kinddatensätze, dann die Elterndatensätze, sonst erhalten Sie Fremdschlüsselverletzungen.
Überprüfen Sie nach der SQL-Ausführung unbedingt, ob die gelöschten Nutzer tatsächlich aus dem Adminbereich verschwunden sind und ob Beiträge (sofern Sie sie neu zugewiesen haben) unter dem neuen Autor sichtbar sind.
⁉️🤔 Häufig gestellte Fragen
Kann ein gelöschter Nutzer wiederhergestellt werden?
Nein. WordPress speichert gelöschte Konten nicht in einem Papierkorb, anders als Beiträge und Seiten. Die einzige Möglichkeit, sie zurückzuholen, ist die Wiederherstellung aus einem Datenbank-Backup. Genau deshalb ist ein vollständiges Backup vor jeder Massenlöschung unverzichtbar: Es ist Ihre einzige Absicherung.
Was passiert mit den Inhalten eines gelöschten Nutzers?
Das hängt von der bei der Löschung getroffenen Wahl ab. Die Option „Alle Inhalte zuweisen zu" mit einem Administrator bedeutet, dass Beiträge und Seiten erhalten bleiben, nur mit geändertem Autor. Die Option „Alle Inhalte löschen" entfernt Beiträge, Seiten und Mediendateien unwiderruflich. Kommentare gelöschter Nutzer bleiben auf der Site, wobei der Autor als „Gelöschter Nutzer" angezeigt wird; deren Löschung ist ein separater Vorgang.
Was ist die schnellste Methode für über 10.000 Nutzer?
WP-CLI. Ein einziger Befehl
wp user delete $(wp user list --role=subscriber --format=ids) --reassign=1läuft selbst bei hunderttausend Konten in 2 bis 5 Sekunden durch. SQL über phpMyAdmin ist ebenfalls schnell, erfordert aber das manuelle Kopieren von IDs zwischen Abfragen. Plugins und die Bordmethode sind für solche Mengen unbrauchbar: Sie schieben Daten durch PHP und stoßen anmax_execution_time-Grenzen.
Muss ich wp_usermeta zusammen mit den Nutzern löschen?
Ja. Wenn Sie nur
wp_userslöschen, bleiben verwaiste Zeilen mit Metadaten für nicht mehr existierende Konten inwp_usermetazurück. Sie zerstören die Site nicht, blähen aber die Datenbank auf. Das Bulk-Delete-Plugin und WP-CLI (wp user delete) bereinigen Metadaten automatisch. Bei manuellem SQL fügen Sie unbedingt eine zweite Abfrage hinzu:DELETE FROM wp_usermeta.
Kann ich nur Nutzer ohne Beiträge löschen?
Ja. Das Bulk-Delete-Plugin hat einen fertigen Filter „Nutzer ohne Beiträge". In WP-CLI verketten Sie zwei Befehle: zuerst die IDs der Nutzer mit der Rolle abrufen, dann für jeden mit
wp post listprüfen, ob Beiträge existieren. In SQL ergänzen Sie die BedingungAND u.ID NOT IN (SELECT DISTINCT post_author FROM wp_posts).
Nun zur Sicherheit in der Praxis. Das gefährlichste Szenario ist die Löschung per SQL ohne Vorschau. Selbst erfahrenen Admins unterlaufen Fehler in WHERE. Ein Backup vor SQL ist eine Regel, die sich in einem von hundert Fällen auszahlt. Aber in diesem einen Fall rettet sie die Site.
Was Sie für Ihre Aufgabe wählen sollten
Vier Methoden decken jedes Szenario ab, von ein paar Dutzend Spam-Registrierungen bis zu hunderttausend toten Konten. Hier eine kurze Matrix:
- Weniger als 200 Nutzer, keine Plugin-Installation erwünscht → integrierte Massenaktionen. Drei Klicks, und das Problem ist gelöst.
- Bis zu 5.000, Filter nach Datum oder Inaktivität nötig → Bulk-Delete-Plugin. Die sicherste Option für alle, die nicht mit der Konsole arbeiten.
- Beliebige Menge, SSH-Zugang vorhanden → WP-CLI. Ein Befehl, 2 bis 5 Sekunden, erledigt.
- Eigener Server, Kontrolle über jedes DELETE nötig → direktes SQL. Aber nur, wenn Sie genau wissen, was Sie tun, und ein Backup erstellt haben.
Die Hauptregel hängt nicht von der Methode ab: Backup, Backup und nochmals Backup. Die WordPress-Datenbank verzeiht keine versehentlichen Löschungen, und das Hosting bewahrt Kopien nicht ewig auf. Erstellen Sie jetzt ein Backup, und öffnen Sie erst dann die Nutzerliste.



