In diesem Artikel zeige ich euch, wie ihr das Tabellenpräfix bei WordPress manuell ändert. Dazu braucht ihr Zugriff auf die Datenbank mittels phpmyadmin.
Tabellenpräfix ändern?! Wieso?
Warum soll man das Präfix der WordPress Tabellen ändern?
Früher hat man das oft als Tip in Sicherheitstutorials gelesen. Die ganzen Bots und Toolkits haben immer nur auf die Standardtabellennamen geprüft. Also wp_user usw. Heute sind die Hackingmethoden weitaus komplexer und hinterhältiger und lassen sich durch solche Mätzchen nicht mehr abwehren. Schaden kann es dennoch nicht.
Der Hauptgrund für diese Änderung heute ist folgender: Wenn ihr mehrere WordPress Installation in ein und derselben Datenbank betreiben wollt, können die Tabellen nicht alle mit dem Standardpräfix wp_ beginnen.
Nun könnte man einwenden, dass die ganzen Billighoster mit Angeboten für unendliche Anzahl an Datenbanken, FTP Nutzern, Subdomains und ähnlichem locken – aber bei den Premiumanbietern sieht das je nach Tarif schon anders aus. Da kann man aufgrund verschiedener Einschränkungen und technischer Gegebenheiten nur 2 oder 5 Datenbanken nutzen.
Was müsst ihr tun?
Nehmen wir an, ihr habt bereits eine Standard-WordPress-Installation, wo alle Tabellen das Präfix wp_ vorangestellt haben. Das wollt ihr auf zum Beispiel wp123_ ändern. Es gibt im WordPress Backend leider keine Einstellungsmöglichkeit dafür und zu einem Plugin will ich an dieser Stelle nicht raten, weil ihr auch mal verstehen sollt, was da genau passiert.
Der erste Schritt: Die wp-config.php ändern
Es wird oft vergessen, dass in der Datei wp-config.php das gültige Tabellenpräfix gespeichert ist. Aus diesem Grund kümmern wir uns darum als Erstes: Datei herunterladen, bearbeiten und nach dem Abspeichern wieder hochladen. Was ihr beim Bearbeiten machen sollt: Ändert in der Zeile xxx wp_ zu wp123_
Der zweite Schritt: Tabellen umbenennen
Ruft die phpmyadmin Oberfläche auf. Über diese Software habt ihr Zugriff auf die Tabellen der jeweiligen Datenbank und könnt diese bearbeiten.
In der Standardansicht werden auch die Tabellen aufgelistet und ihr müsst diese über Alle auswählen markieren.
In derselben Zeile gibt es ein Auswahlfeld markierte:, in dem ihr Tabellenprefix ersetzen auswählt.
Das bringt euch zu folgenden zwei Feldern:
Da tragt ihr analog zu unseren Beispielpräfixen dies hier ein (ja, mit Unterstrich) und danach Abschicken. Wenn ihr alles richtig gemacht habt, sind die Tabellen jetzt in einem Rutsch umbenannt worden.
Der dritte Schritt: In den Tabellen alte Präfixe suchen und aktualisieren
In zwei Tabellen (options und usermeta) werden von Haus aus Einträge gespeichert, die noch auf das alte Tabellenpräfix verweisen. Die müsst ihr anpassen.
In phpmyadmin in den Bereich SQL wechseln und als erstes nach den Einträgen in der options Tabelle suchen. Dazu gebt ihr diesen SQL Befehl dort ein und lasst ihn mit OK ausführen:
SELECT * FROM wp123_options WHERE option_name LIKE '%wp_%'
Diese Abfrage listet euch alle Einträge der Tabelle wp123_options auf, die noch Verweise auf das Tabellenpräfix wp_ haben. Zum Beispiel wp_user_roles.
Mit einem Klick auf das Bleistift-Editiersymbol gelangt ihr zur folgenden Ansicht, wo ihr das betreffende wp_ durch wp123_ ersetzt und durch OK abspeichert. Fertig.
Im Normalfall ist bei einer frischen WordPress-Installation in der options Tabelle nur der Eintrag der wp_user_roles abzuändern. In der nächsten Tabelle usermeta ist es schon etwas mehr.
SELECT * FROM wp123_usermeta WHERE meta_key LIKE '%wp_%'
Tauscht durch Bearbeiten in den aufgelisteten Einträgen nach und nach die Tabellenpräfixe aus. Standardmäßig dürfte es sich nur um diese Werte handeln:
- wp_user_level
- wp_capabilities
- wp_dashboard_quick_press_last_post_id
- wp_user-settings
- wp_user-settings-time
Je nachdem, wieviele User bereits auf der Seite eingerichtet sind, kann das umfangreich werden – da diese Einträge für jeden User vorhanden sind.
Seid ihr aber damit durch, war es das aber.
Wozu ist der Spaß noch zu gebrauchen?
Einen großen Vorteil habe ich euch gleich zu Beginn genannt. Ich finde das Arbeiten mit individuellen Präfixen aber auch auf Datenbankebene übersichtlicher. Habe ich eine Datenbank, in der 10 verschiedene WordPress-Webseiten laufen, kann ich schon am vorangestellten Kürzel erkennen, welche Tabellen zu welcher Seite gehören. Wenn man das konsequent durchzieht (also z.B. portfolio_, meinblog_, shop_, garten_ …) trägt das alles zur Übersichtlichkeit bei und ich weiß sofort, dass ich Tabelle garten_options bearbeiten muss, wenn ich an der „Garten“-Seite etwas ändern muss.
Hallo,
ich musste meine wp Seite neu aufsetzen. Nun habe ich user in 2 verschiedenen Ordnern (Präfix). wie kann ich diese zusammenführen?
Ich verzweifle Dr Google kann ich nichts finden.
Vielen Dank
Manfred
Hallo Manfred,
wenn Du noch Zugriff auf die erste WordPress Installation hast, hilft Dir eventuell so ein Plugin weiter: https://de.wordpress.org/plugins/export-user-data/
Vielen Dank!
Ich hatte die Änderungen in usermeta nicht gemacht (fehlte wohl in der Anleitung, die ich hatte) und kam daher nicht mehr ins Dashboard 🙁
Nach einem DB-Rollback (immer gut, wenn man Backups macht) und mit deiner Anleitung hat es endlich funktioniert – nach zwei Tagen googlei …
Grüße, René