WordPress: Benutzer nicht löschen!

Dieser Tage habe ich eine schmerzliche Erfahrung machen müssen. Auf der Website eines Kunden, die ich bisher betreut hatte, waren er und ich als Benutzer eingetragen. Da ich die Website erzeugt hatte, war ich der Besitzer aller Seiten und Beiträge. Das Ziel war, die Website endgültig zu übergeben, also ohne mich als Benutzer. Also löschte ich mich, dachte mir nichts weiter, fuhrr zum Kunden, wollte ihm alles zeigen – und fiel fast vom Stuhl.

Die Website war leer. Keine Seiten, keine Beiträge, nichts. Ausreden fielen mir gerade nicht ein…

Wichtig war jetzt, dass ich einen Zugang zu phpMyAdmin beim Provider hatte oder es eine eigene Installation gab. Ich setze hier mal die Kenntnisse zur Verwendung dieses Werkzeuges voraus.

Nach einer Analyse der Datenbank-Einträge (ich hatte so einen Fall noch nicht gehabt) sah ich, dass die Inhalte zwar noch da waren, aber als mit „trash“ in der Spalte post_status und dem Anhang „__trashed“ (sowas wie blabla__trashed) in der Spalte post_title gekennzeichnet. Das ließ mich hoffen.

Zunächst änderte ich alle Einträge auf den Besitzer, der noch übrig war. In der Tabelle wp_user stehen alle User, hier war es nur noch einer. Weit vorn steht dessen ID, die merkt man sich. Sind es mehrere User, sollte es einer sein, der wenigstens Redakteur ist. Auch wenn das Ergebnis jetzt sachlich falsch wurde, habe ich also alle Posts dem gleichen User zugeordnet: In phpMyAdmin / SQl also mittels „update wp_posts set id = 3“, wenn 3 die ID des gewünschten Users ist.

Jetzt wurde es mühsam. Bei einem Projekt mit Dutzenden Seiten und Beiträgen hätte ich mich Stunden und Tage damit beschäftigen müssen. Denn wenn Seiten und Beiträge tatsächlich mal gelöscht worden wären, hätten sie sich nicht von den verbliebenen unterscheiden. So aber ist die Website ja von mir erstellt und nicht geändert worden, es gab keine gelöschten Teile. Also änderte ich nun alle Kennungen in der Spalte post_status von „trash“ auf „publish“ und entfernte die Markierungen __trashed.

Jetzt waren zumindest die Seiten und Beiträge alle wieder da! Wenn man bedenkt, dass das ja live passiert, sollte alles recht schnell gehen, damit möglichst wenig Chaos öffentlich sichtbar wird.

Die Bilder fehlten allerdings noch – die waren wohl mit gelöscht worden (wobei?). Zum Glück gab es eine Sicherung von content/upload, die Bilder konnte ich damit auch zurückspielen.

Fazit:

Lösche niemals User in einem einigermaßen lebendigen WordPress-System! Man kann User, die mal Beiträge verfasst haben und nicht nicht mehr da sind, herunterstufen auf Abonnent, dann können sie nichts mehr machen, wenn sie sich noch einloggen.

Und vor allem: Immer fleißig Datensicherungen machen! Vor allem von der Datenbank und von wp_content/upload. Ersteres geht schon mit Bordmitteln über Werkzeuge/Export (und rückwärts bei Bedarf Import)..

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert