WordPress: Import von Medien fehlgeschlagen

die häufigste Panikmeldung über WordPress:
Import von Medien … fehlgeschlagen.

Ich habe selbst danach gesucht … panisch, verzweifelt. WordPress gibt ja im Normalfall keine weiteren Fehlermeldungen aus. Einfach nur „fehlgeschlagen“. Und „Alles erledigt. Viel Spaß!“

Das braucht man an dieser Stelle ja wirklich nicht. Und die meisten Erklärungsversuche im Web: falsch und unvollständig.

Ich begebe mich auf Ursachensuche, und erkläre ein wenig, wie der Import funktoniert, und vor allem, wann und warum er nicht funktioniert.

WordPress-importer heisst dieses Plugin, installiert sich selbst oder ist jedenfalls fast überall installiert. Und stellt in der Praxis die schnellste sinnvolle Möglichkeit dar, um WP von einem Server auf den anderen zu transferieren.

Ich schweife ein wenig aus, um die anderen Methoden kurz zu umreißen:

  1. man kann ein kostenpflichtiges Plugin bemühen.
  2. Man kann die Datenbank exportieren, mithilfe von phpmyadmin oder adminer, oder direkt im mysql, und andernorts wieder einspielen. Davor mit einem Editor abändern, oder danach mit SR die Domainnamen, Verzeichnisse und vielleicht auch http/https korrigieren. Und dann alle Daten einspielen, das Cachesystem neu aufsetzen. Insgesamt mühsam und jeder kleine Fehler kann ein Disaster heraufbeschwören …
  3. oder mit WordPress-Importer. WP-exporter erzeugt unter dem Menüpunkt „exporteren“ eine .xml datei, die normalerweise klein genug ist, um am neuen Server hochgeladen zu werden und WordPress-Importer arbeitet das ab, kümmert sich um Korrekturen der Verzeichnise und DOmainnnaamen und holt dieMedien.

Was kann schiefgehen?
Wenn das hochlade-limit zu klein ist, muss man die xmldatei aufteilen. Dann ist beim Hochladen wichtig, dass man die Reihenfolge der Teile einhält.

So, und was ist mit den Bildern?
Diese will WordPress-importer selbt abholen, und zwar direkt vom alten Server.

Und das geht nicht, wenn

  • der alte Server ihr Testserver am Laptop war – da kann keiner von außen ran.
  • wenn der neue Domainhoster irgendwelche Maßnahmen ergriffen hat, um den instalierten Systemen das Laden externer Inhalte zu erschweren, zB mithilfe eines Squid Proxy. Oder die externen Inhalte zu cachen, was ja durchaus Sinn macht, für einen Server, dieser lädt ja nur Programmupdates, und das machen alle Vserver-inhaber gleich und fast gleichzeitig …

dann kann der WordPress-importer die Bilder nicht holen, und sie bekommen das berühmte „have fun“ …

Und nun?

Sie können folgendes machen:

alle Bilder aus wp-content/upload mit ftp auf den neuen Sever kopieren. Da kopiern sie die Thumbnails und die gelöschten Bilder mit, aber egal.

In eine neues Verzeichnis, zum Beispiel /oldmedia.

Und dann die xmldatei anpassen: die Bildnamen, die darin
http://www.alterserver.com/wp-content/uploads …
heissen, werden alle umbenannt auf
http://www.neuerserver.com/oldmedia …

und dann erst den import durchführen.

So einfach.