WEBDESIGN

WordPress Datenbank aufräumen!

Im Laufe der Zeit kann es schon mal vorkommen, dass die Datenbank ein wenig voller wird, als sie eigentlich sollte. Komische Zeichen durch fehlerhafte Codierung und unzählige Post Revisions die nur Platz wegnehmen, aber sowieso nicht mehr gebraucht werden sind da nur 2 Beispiele. In diesem Artikel stelle ich ein paar SQL Queries vor, mit denen man die Datenbank ein wenig aufräumen kann.

Komische Zeichen in der Datenbank

Wer kennt sie nicht diese komischen Zeichen von denen man nicht weiß wo sie herkommen, ‘, ”, ’, •, … nur um mal einige zu nennen. Solche Codierungsfehler treten auf, wenn man irgendwo eine Inkonsistenz bei der Zeichencodierung hat.

UPDATE wp_posts SET post_content = REPLACE(post_content, '“', '“');
UPDATE wp_posts SET post_content = REPLACE(post_content, '”', '”');
UPDATE wp_posts SET post_content = REPLACE(post_content, '’', '’');
UPDATE wp_posts SET post_content = REPLACE(post_content, '‘', '‘');
UPDATE wp_posts SET post_content = REPLACE(post_content, '—', '–');
UPDATE wp_posts SET post_content = REPLACE(post_content, '–', '—');
UPDATE wp_posts SET post_content = REPLACE(post_content, '•', '-');
UPDATE wp_posts SET post_content = REPLACE(post_content, '…', '…');

UPDATE wp_comments SET comment_content = REPLACE(comment_content, '“', '“');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '”', '”');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '’', '’');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '‘', '‘');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '—', '–');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '–', '—');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '•', '-');
UPDATE wp_comments SET comment_content = REPLACE(comment_content, '…', '…');

Dies ist wenn man so will die Holzhammer search & replace Methode, doch sie funktioniert. Wer mehr zu diesem Thema erfahren will, findet unter http://digwp.com/ einen Artikel, von dem ich auch dieses SQL Query habe.

Post Revisions löschen und Platzschaffen

WordPress legt beim Schreiben eines Artikels unzählige Revisions an, d.h. ältere Versionen von dem Artikel. Die Revisions verbrauchen am Ende viel mehr Speicherplatz als der Artikel selbst. Dieser Speicherplatz ist zwar jetzt nicht extrem, dennoch ist es zusätzlicher Overhead, wenn man die Revisions sowieso nicht mehr braucht.

Mit folgenden SQL Query kann man ganz einfach alte Revision löschen

DELETE a,b,c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

User Agent von Kommentaren löschen

WordPress speichert bei jedem Kommentar das abgegeben wird, den User Agent des Kommentators. Dies mag zwar für manche Statistikfreaks ganz nett sein, ist aber für einen Großteil der Blogger völlig irrelevant und kostet dazu noch Speicherplatz.

update wp_comments set comment_agent ='' ;

Man kann die Spalte zwar nicht gänzlich löschen, ohne auch tiefer in die Coredateien einzudringen und das ganze System darauf anzupassen, aber durch das setzen auf einen leeren String gewinnt man wenigstens Speicherplatz. Wobei man dazu sagen muss, dass die Semantik ein wenig darunter leidet, denn das Kommentar wurde eben nicht von einem Browser mit leerem User Agent abgegeben.



Schreib einen Kommentar