Probleme beim Daten Export und Import mit ausgewählten Artikeln unter WordPress

WordPress 3.x hat eine gute Daten Export- und Import- Funktion mit der man unter anderem in regelmäßigen Abständen ein komplettes Backup seiner bisher erstellten Artikel anlegen könnte.

Benutzt man die Export Option „Alle Inhalte“ zum exportieren der Daten, so funktioniert dies auch ganz gut. Der Export enthält dann alle Artikel, Seiten, Kommentare, Benutzerdefinierte Felder, Kategorien, Tags, Navigationsmenüs und benutzerdefinierte Inhaltstypen. Im Export sind dann auch die zugeordneten Medieninformationen (Attachment-Seiten) der einzelner Artikel enthalten.

Diesen kompletten Export könnte man nun zum Beispiel beim Umzug eines kompletten Weblogs nutzen. Aus Erfahrung würde ich mich aber nicht auf diese Art von Backup eines umfangreichen Blogs mit vielen Inhalten verlassen, ich würde dort immer ein Backup direkt über die Datenbank vorziehen, da der XML-Datei-Backup beim Import bei mir nicht immer komplett durchgelaufen ist.

Möchte man jedoch nur bestimmte Artikel oder Seiten exportieren und auf einen zweiten Blog danach wieder importieren, so macht WordPress mit seinen Standard Bordmitteln jedoch Probleme mit Medienanhängen wie zum Beispiel zugeordneten Bildern einzelner Artikeln.

Wie man dieses Problem mit relativ kleinem händischem Aufwand lösen kann habe ich hier kurz zusammen gefasst.

Probleme beim Daten-Export und -Import mit Artikel-Filter

Für mich ist der komplette Export aller Inhalte nicht so interessant, da ich einen Umzug eines kompletten Weblogs immer direkt über die Datenbank vornehmen würde.

Für mich stand aber aktuell ein Umzug ausgewählter Artikel in einen zweiten Blog an. Die Artikel sollten natürlich mit den dazugehörigen Medieninhalten, speziell den darin enthaltenden Bildern auf den zweiten Weblog überführt werden. Dazu wollte ich die Daten-Export Funktion von WordPress verwenden. Die zu exportierenden Artikel habe ich dazu einer bestimmten Transfer-Kategorie zugeordnet.

Leider klappte der anschließende Artikel Import mit den Bilder Mediendaten nicht, auch nicht, wenn man bei dem Standard WordPress Import-Plugin die richtigen Optionen ausgewählt hat (siehe weiter unten „Schritt 2. WordPress Importeinstellungen wählen“).

Ich habe mir daraufhin die WordPress XML-Exportdatei einmal genauer angeschaut und musste dabei feststellen, wenn  man gefilterte Artikel oder Seiten exportiert, dann werden die Medieninformationen bzw. Anhänge der entsprechenden Artikel nicht mit in die erstelle Exportdatei übernommen. Die Zuordnung zw. original Artikel und verwendeter Medien geht also völlig verloren.

Man hat also mit den Standard Mitteln von WordPress keine Möglichkeit mit ausgesuchten Artikeln und den Mediendaten auf einen zweiten Blog umzuziehen, es sei denn man legt selber Hand an und ändert die XML-Dateien für den Import entsprechende ab.

Ich habe dies getan und ca. 70 Artikel entsprechend nach und nach exportiert, die XML-Export angepasst und dann inklusive Medieninformationen auf meinem neuen Weblog Die Alltagskiste – Online Magazin und Testblog rund um diverse Alltagsthemen importiert.

Mit ausgesuchten Artikeln auf einen zweiten Blog umziehen

Folgende Schritte musste ich dazu durchführen:

  1. Ausgesuchte Artikel einer extra angelegten Transfer Kategorie zuordnen
  2. Zuerst „Alle Inhalte“ in eine Exportdatei exportieren
  3. Danach Artikel aus der speziellen Transfer Kategorie exportieren
  4. Beide Exportdateien in einem Texteditor öffnen

Nun müssen die Mediendaten für die jeweiligen Artikel in dem Gesamtexport gesucht werden. Dazu benötigt man jeweils die post_id eines bestimmten Artikels. Diese findet man in der XML-Exportdatei in einem sogenannten Item-Element zum Beispiel unter <wp:post_id>5035</wp:post_id>.

Sind diesem Artikel nun bestimmte Mediendaten wie Bilder zugeordnet, dann muss man die exportierten Items über die ermittelte post_id finden. Dazu sucht man in dem Gesamtexport nach der post_id (hier 5035).

Findet man im Gesamtexport einen Item-Eintrag mit <wp:post_parent>5035</wp:post_parent> so hat man ein Medieneintrag gefunden und muss nun das gesamte Parent Item-Element in die zweite Kategorie XML-Exportdatei ans Ende kopieren, indem man diesen hinter den letzten Item-Eintrag in der Datei kopiert.

Am Ende dieses Artikels findest du noch ein kleines Video wo die oben genannten IDs in den Exportdateien zu finden sind.

Hat man alles Änderungen vorgenommen, können die Artikel inklusive Mediendaten auf dem neuen Weblog importiert werden. Dazu öffnet man die Administrationsseite „Werkzeuge/Daten importieren„. Hier muss man (falls noch nicht geschehen) das dort angebotene WordPress Import-Plugin installieren. Danach kann man die XML-Importdatei mit den Artikeln importieren. Dies erfolgt in zwei Schritten.

Schritt 1. WordPress Importdatei auswählen.

Schritt 2. WordPress Importeinstellungen wählen.

Hier war wichtig den Hacken bei „Download and Import file attachments“ zu setzen. Führt man diesen Schritt aus, werden die Artikel inklusive Artikelanhänge importiert. Bei mir wurden dabei die vorhandenen Bilder importiert und auch die Links in den Artikeln dazu auf den neuen Blog angepasst.

Mein Fazit

Insgesamt ist es sehr unschön, das der Import und Export bei gefilterten Artikeln mit Mediendatein (Attachments) nicht wirklich gut funktioniert. Leider hat der Importprozess sogar manchmal überhaupt nicht korrekt funktioniert. Manchmal ist der Prozess ohne Fehlermeldung abgebrochen und es waren nicht alle Bilder richtig importiert worden. Da musste ich dann doch noch einiges per Hand in den Artikeln nachbessern. Meistens ist jedoch alles bestens übernommen worden. Ich empfehle nicht zu viele Artikel auf einmal zu überführen, so ca. 10 Stück reichen pro Durchlauf.

Insgesamt finde ich sollten die Entwickler von WordPress die Export- und Importfunktionen doch mal dahingehend verbessern, das auch die Attachments bei selektiv gefilterten Artikeln mit ausgegeben werden und dann auch auf einem anderen Blog richtig importiert werden können. Gerade in Hinblick darauf, dass ständig der Willkommens-Bereich überarbeitet wir, sollten solch grundlegende Dinge auch mal verbessert werden, da die echt viel Zeil in Anspruch nehmen. Was meint Ihr dazu? Vielleicht habt Ihr auch einen besseren Weg wie man Exporte und Importe besser erledigen kann.