Wordpress MySQL Bildpfade ändern

Dienstag, 31.März 2009

Wordpress legt ja standardmässig alle Bilder in den Ordner “uploads”, welcher sich in “wp-content” befindet. Wenn man dann ein Bild in einen Bericht einfügt erstellt Wordpress jeweils den absoluten Pfad zum Bild. Der absolute Pfad zu einem Bild sieht dann in etwa so aus:
http://www.hausblog14.ch/wp-content/uploads/isketches.jpg

Problematisch wird das ganze aber dann, wenn man einen bestehenden Blog von einem Server auf einem anderen kopieren will. Klar, alle Daten in die neue Hostingumgebung kopieren, anschliessend ein Backup der alten Datenbank auf den neuen Server laden, … aber was wenn man auf dem alten Hosting die Wordpress-Installation löschen will? Folglich sind dann alle Bilder weg, und Wordpress kann sie nicht mehr finden unter dem absoluten Bildpfad.

Um in der Wordpress MySQL-Datenbank alle Pfade manuell zu ändern würde je nach Grösse des Blogs ewig lange dauern, da man jedem einzelnen Bild eine neue Adresse zuweisen müsste.

Um das zu umgehen gibt es zwei Varianten.

Variante 1 (für den erfahrenen Nutzer):
In der Datenbank folgender Code ausführen:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://conquest-creatives.com/blog/wp-content/uploads/', 'http://www.hausblog14.ch/wp-content/uploads/');

Dieser Code bedeutet, dass die ganze Tabelle “wp_post” nach dem Bildpfad abgesucht wird (hier: http://conquest-creatives.com/blog/wp-content/uploads/) und durch den neuen absoluten Pfad (hier: http://www.hausblog14.ch/wp-content/uploads/) ersetz wird.

Variante 2 (für alle dies einfach mögen):
Ich habe ein Plugin gefunden welches genau dies wirklich hervorragend erledigt hat.
-> Search and Replace Plugin

!!! nicht vergessen ein Datenbank Backup zu machen bevor man sich an einer Datenbank zu schaffen macht !!!

Teile diesen Beitrag:
  • Twitter
  • Facebook
  • MySpace
  • del.icio.us
  • MisterWong.DE
  • Digg
  • StumbleUpon
  • BlinkList
  • Technorati
  • Reddit
  • Google Bookmarks
  • email

Möglicherweise ähnliche Artikel

5 Kommentare

Marc

Vielen Dank! Genau das habe ich seit langer Zeit gesucht. Ich hab sogar extra die alte Installation noch laufen lassen damit die Bilder nicht alle geändert werden mussten. Mit diesem Plugin war es wirklich einfach alle Pfade zu ersetzen.

geschrieben am 03.4.2009 um 09:31

Yep vielen Dank für den Hinweis, hat mir auch gerade sehr bei meinem Blogumzug geholfen, das Plugin.

geschrieben am 06.6.2009 um 16:25
Thorsten

Vor der Installation des S+R-Plugins muss man sich jedoch zunächst erstmal einloggen können. Daher mußte ich zunächst direkt in der Datenbank in der Tabelle wp_options, Spalte woption_name, den Wert von siteurl mit der neuen URL austauschen.

geschrieben am 03.7.2009 um 19:13

Ich selbst benutze auch oft das Search&Replace Plugin, was eigentlich ne tolle Sache ist, allerdings finde ich das auch etwas umständlich, weil ich ja nach dem Umzug sowieso in PhpMyAdmin die ’siteurl’ ändern muss, um wieder ins Backend zu kommen, daher wäre es das einfachste, die Pfade in der kompletten Datenbank in einem Schwung zu ersetzen.

Ich kenne mich mit MySQl sehr wenig aus. Ist es möglich in der kompletten Datenbank einen String (also eine URL) zu ersetzen, ohne das man jede Tabelle einzelnd anspricht?

geschrieben am 10.9.2009 um 21:05

[...] müsst ihr noch an die Datenbank ran. Dort gebt ihr im SQL-Feld folgenden Code ein (übernommen vom Hausblog14): UPDATE wp_posts SET post_content = REPLACE(post_content, [...]

geschrieben am 25.5.2010 um 19:19

Schreibe einen Kommentar

copyrights © 2010 by blog14 | design and xhtml/css by rhodesign | powered by wordpress