Benutzer-Werkzeuge

Webseiten-Werkzeuge


sql:praktische_anwendung_von_sql-statements_bei_wordpress

Dies ist eine alte Version des Dokuments!


Praktische Anwendung von SQL-Statements bei Wordpress

Alte Revisionen von WordPress-Einträgen löschen

Wenn man im WYSIWYG-Editor einen Beitrag bearbeitet, so erzeugt WordPress standardmäßig alle 60 Sekunden eine neue Revision. Auf Dauer kann dies zu überflüssigen Einträgen führen, welche die Datenbank sehr stark anwachsen lässt und in ihrer Performance beeinträchtigt. Im WordPress selber gibt es aber leider keine Möglichkeit, dies einzustellen und zu begrenzen.

Eine Möglichkeit als Lösung ist es, die Revisionen aus der Datenbank nachträglich heraus zu löschen.:

DELETE FROM wp_posts WHERE post_type="revision";

Unmoderierte Spam-Kommentare als Spam zuordnen oder löschen

Nach längerer Zeit sammeln sich bei aktivierten Kommentaren sehr viele Spam-Kommentare an. Dies lassen sich im Wordpress händisch als Spam markieren oder in den Papierkorb löschen. Ab einem bestimmten Grad von mehreren hundert oder tausend Einträgen wird dies aber sehr langwierig und umständlich. Einfacher ist es daher, die unmoderierten Spam-Kommentaren mit einem einzelnen SQL-Statement zu zuordnen. Der Name der Datenbank ist in dem Beispiel 'Wordpress_b.:

UPDATE wordpress_b.wp_comments SET comment_approved='spam' WHERE comment_approved=0;

Man könnte statt 'spam' auch 'trash' für den Papierkorb wählen, oder die unmoderierten Einträge mit dem Statement 'DELETE' direkt löschen, aber …

Ein Shell-Script mit SQL-Befehlen

SQL-Statements lassen sich natürlich auch wunderbar in Shell-Skripte integrieren. In dem Beispiel-Skript werden also alle als Spam oder im Papierkorb abgelegte Kommentare gelöscht.

#!/bin/sh
mysql <<EOF
use wordpress_b;
DELETE FROM wp_comments WHERE comment_approved="trash";
DELETE FROM wp_comments WHERE comment_approved="spam";
EOF

Dies lässt sich natürlich weiter automatisiert steigern indem das Skript mit einem Cronjob periodisch zu einem bestimmten Zeitpunkt ausgeführt wird.

sql/praktische_anwendung_von_sql-statements_bei_wordpress.1589126260.txt.gz · Zuletzt geändert: 2024/05/16 20:29 (Externe Bearbeitung)