Wordpress MySQL Bildpfade ändern
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 !!!










































8 Kommentare
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.
Yep vielen Dank für den Hinweis, hat mir auch gerade sehr bei meinem Blogumzug geholfen, das Plugin.
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.
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?
[...] 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, [...]
wdsv glbwx jakesxxx sgujfd d od v ook
Ist zwar nicht das was ich gesucht habe, aber trotzdem interessant. Danke für den Tipp!
Do you use any cache extension on this site?