Hier starte ich meine Sammlung nützlicher SQL Befehle für WordPress …
Bei allen Befehlen ist immer zu bedenken, dass das jeweilige Tabellen Prefix angepasst werden muss. In diesem Thread wird das Standart Prefix wp_ für die Beispiele verwendet. Die SQL Statements können bspw. mit einer Software wie dem MySQL-Backend PHPMyAdmin, ausgeführt werden. Ich persönlich bevorzuge die MySQL Shell.
- 1 WordPress Admin Password zurücksetzen
- 2 Domain (URL) in WordPress ändern
- 3 Revisionen löschen
- 4 Alle WordPress Tags anzeigen
- 5 Ungenutzte Tags finden und löschen
- 6 Alle WordPress Plugins deaktivieren
- 7 Tipp: eMail Adresen aller Kommentatoren ausgeben
- 8 Kommentare in alten Artikeln deaktivieren
- 9 Autor eines Beitrags (post) ändern
- 10 Alte und unbenötigte Post Meta Daten anzeigen und löschen
- 11 Spam Kommentare endgültig löschen
- 12 WordPress Pingbacks löschen
WordPress Admin Password zurücksetzen
Admin Passwort vergessen. Welchem Admin ist das noch nicht passiert? Um das Passwort des Admin-Kontos zurückzusetzen, kann man folgendes SQL-Statement benutzen.
UPDATE wp_users SET user_pass = MD5('NEUES_PASSWORT') WHERE user_login ='admin' LIMIT 1;
Domain (URL) in WordPress ändern
Beim Umzug einer WordPress Installation auf einen neuen Server können die Daten des WorpdPress Core problemlos angepasst werden.
WordPress URL Grundeinstellungen anpassen
So werden die Grundeinstellungen des WordPress Systems angepasst:
UPDATE `wp_options` SET option_value = 'http://www.DOMAIN_NEU.de' WHERE option_name = 'siteurl' or option_name = 'home';
URL in Beiträgen (posts) ändern
So werden die Beiträge (posts) angepasst:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.DOMAIN_ALT.de', 'http://www.DOMAIN_NEU.de');
URL in Zusatzfeldern (custom fields, post meta) ändern
So werden die Custom Fields URL auf eine neue Domain angepasst:
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.DOMAIN_ALT.de','http://www.DOMAIN_NEU.de');
Per SQL in WordPress: Protokoll von HTTP auf HTTPS in URL anpassen
Wer eine Umstellung von HTTP auf HTTPS ausführt, kann die Befehle analog auch entsprechend nutzen:
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.domain.de', 'https://www.domain.de');
UPDATE wp_posts SET guid = replace(guid, 'http://www.domain.de','https://www.domain.de');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.domain.de', 'https://www.domain.de');
Revisionen löschen
Mit der Zeit entstehen auf einem Blog bzw. einer Webseite viele Beiträge. Beim Schreiben der Beiträge werden alte Versionen (Revisionen) gespeichert, so dass man später darauf zurückgreifen kann. Wer diese nicht mehr benötigt, kann sie löschen und damit die Datenbank für bessere Zugriffsgeschwindigkeit (Performance-Steigerung) optimieren. Um überflüssige Revisionen in der Datenbank zu löschen, benutzt man dieses SQL Snippet:
DELETE P, TR, PM FROM wp_posts P LEFT JOIN wp_postmeta PM ON (P.ID = PM.post_id) LEFT JOIN wp_term_relationships TR ON (P.ID = TR.object_id) WHERE P.post_type = 'revision'
Alle WordPress Tags anzeigen
Dieser SQL-Befehl zeigt alle Tags an:
SELECT DISTINCT name FROM wp_terms T INNER JOIN wp_term_taxonomy TT ON T.term_id=TT.term_id WHERE TT.taxonomy='post_tag';
Ungenutzte Tags finden und löschen
Dieser SQL-Befehl findet alle ungenutzten Tags der WordPress Webseite:
SELECT * FROM wp_terms T INNER JOIN wp_term_taxonomy TT ON T.term_id=TT .term_id WHERE TT.taxonomy='post_tag' AND TT.count=0;
Dieser SQL-Befehl löscht ungenutzte WordPress Tags:
DELETE FROM wp_terms T INNER JOIN wp_term_taxonomy TT ON T.term_id=TT .term_id WHERE TT.taxonomy='post_tag' AND TT.count=0;
Alle WordPress Plugins deaktivieren
Beim Testen und Probieren einer WordPress Installation kann es schnell auch mal passieren, das WordPress nur noch eine leere Seite auswirft. Das kann passieren, wenn ein Plugin Fehler verursacht und damit das komplette WordPress lahmlegt. Um in einem solchen Fall schnell alle Plugins zu deaktivieren kann folgender SQL-Befehl verwendet werden. Die Plugins können anschließend wieder schrittweise und einzeln über das Backend aktiviert werden, um heruas zu finden, welches Plugin die Probleme verursacht.
UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';
Tipp: eMail Adresen aller Kommentatoren ausgeben
Der SQL-Befehl gibt alle eMail-Adressen der Kommentatoren der WordPress Webseite aus. Hierbei sorgt DISTINCT dafür, dass jede eMail wirklich auch nur einmal ausgegeben wird.
SELECT DISTINCT comment_author_email FROM wp_comments;
Kommentare in alten Artikeln deaktivieren
Um Spam auf der WordPress Webseite zu reduzieren, kann man die Kommentarfunktion in allen bestehenden Beiträgen deaktivieren.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_status = 'publish';
Es gibt natürlich auch die Möglichkeit nur Kommentare bei Artikeln vor einem bestimmten Datum zu deaktivieren.
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2011-04-01' AND post_status = 'publish';
Umgekehrt kann man die Kommentarfunktrion auch wieder anschalten:
UPDATE wp_posts SET comment_status='open' WHERE post_status = 'publish' AND post_type = 'post';
Autor eines Beitrags (post) ändern
Mit diesem Befehl können alle Beiträge eines bestimmten Autors einem anderen Autor zugewiesen werden. Um die jeweiligen IDs der Autoren zu bestimmen, hier ein Tipp …
UPDATE wp_posts SET post_author=NEUE_AUTOR_ID WHERE post_author=ALTE_AUTOR_ID;
Alte und unbenötigte Post Meta Daten anzeigen und löschen
Plugins installieren und deinstallieren ist eine häufig anfallende Arbeit bei WordPress Webseiten. Einige dieser Plugins benutzen Post Meta Felder um Daten zu sichern. Beim Deinstallieren des Plugins werden diese nicht gelöscht und verbleiben in der entsprechenden Tabelle. Um die Größe der Tabelle zu reduzieren und damit die Zugriffsgeschwindigkeit der Datenbank zu erhöhen, kann man diese Daten löschen.
Mit folgendem Befehl kann man die Summe der meta_key im WordPress anzeigen:
SELECT count(*) FROM wp_postmeta;
So werden die vorhandenen Post Meta angezeigt:
SELECT DISTINCT meta_key FROM wp_postmeta;
Mit folgendem Befehl kann man beliebige meta_key löschen:
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';
Spam Kommentare endgültig löschen
Wer einmal mit größeren Mengen Spam konfrontiert wurde, weiß den folgenden Befehl zu schätzen. Dieser löscht alle als Spam identifizierte Kommentare auf einen Schlag:
DELETE FROM wp_comments WHERE comment_approved = 'spam';
Der Befehl alternativ auch dazu verwendet werden, zu moderierende Kommentare eines bestimmten Kommentators zu löschen
DELETE FROM wp_comments WHERE comment_approved = '0' AND comment_author='SpamKommentatorXY';
Kommentatoren mit bestimmter eMail Adresse
DELETE FROM wp_comments WHERE comment_approved = '0' AND comment_author_email='nervender@spammer.com';
Kommentatoren mit bestimmter URL
DELETE FROM wp_comments WHERE comment_approved = '0' AND comment_author_url='spammer.com';
Kommentatoren mit bestimmter IP
DELETE FROM wp_comments WHERE comment_approved = '0' AND comment_author_IP='xxx.xxx.xxx.xxx';
comment_approved kann folgende Werte annehmen:
- 0 = Kommentar erwartet Moderation (nicht freigegeben)
- 1 = Bestätigter und freigegebener Kommentar
- spam = Kommentar wurde als Spam markiert
WordPress Pingbacks löschen
Populäre Webseiten kriegen mit der Zeit viele Pingbacks auf ihre Artikel. Das kann die Datenmenge in der Datenbank nicht unerheblich erhöhen und die Zugriffsgeschwindigkeit und damit die Performance der Seite herunter ziehen. Der folgende Befehl löscht die Pingbacks der WordPress Seite:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
Wird fortgesetzt … Fragestellungen und Vorschläge einfach in den Kommentaren posten.
1 thought on “WordPress: Die ultimative WordPress SQL-Befehle Sammlung”