Jeder WordPress-Nutzer der das Verzeichnis der WordPress-Installation auf dem Webserver nachträglich verändert kennt das Problem: die in Artikel und Seiten eingebettten Bilder werden nicht mehr angezeigt. Grund: in der Datenbank wird der Pfad zum jeweiligen Bild abgespeichert und dieser stimmt nach dem Verzeichniswechsel natürlich nicht mehr.

Man kann nun natürlich bei allen Bilder manuell den neuen Bildpfad einstellen, bei großen Blogs aufgrund der Vielzahl von Bildern natürlich unmöglich. Schneller geht es die Pfade direkt in der Datenbank zu ändern.

Wir bedienen uns dazu einer Datenbankabfrage um den Pfad zu aktualisieren. Dazu müssen wir uns zunächst im Webfrontend der Datenbank (oftmals phpMyAdmin) anmelden und eine SQL-Query ausführen.

Erstellt vorher aber unbedingt eine Sicherung der Datenbank. Sollte doch mal etwas daneben gehen, kann die Datenbank wieder zurückgesichert werden. Wie die Datenbank gesichert wird, beschreibe ich in diesem Artikel.

Habt ihr die Sicherung erstellt und euch im Webfrontend angemeldet, müsst ihr zunächst eure Datenbank auswählen

Wählt dann in der oberen Symbolleiste SQL und gebt dort im Feld SQL-Befehl in der Datenbank… folgende Abfrage ein:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.einBeispiel.de/blog/wp-content/uploads/', 'http://www.einBeispiel.de/wp-content/uploads/');

In diesem Beispiel wurde das Verzeichnis ‚/blog‘ entfernt.

Vorher:

http://www.einBeispiel.de/blog/wp-content/uploads/

nachher:

http://www.einBeispiel.de/wp-content/uploads/

Nachdem die Abfrage ausgeführt wurde, sollten die Bilder wieder korrekt dargestellt werden.

Aber nochmal der Hinweis: Mit einer falschen Abfrage kann die Datenbank zerstört werden. Sichert vorher die Datenbank und achtet penibel auf die Schreibweise der Abfrage.