WordPress: WXR/XML-Datei richtig importieren

WordPress kann Beiträge, Seiten, Kommentare, Kategorien, Schlagwörter, Autoren und weitere Inhalte über das eigene Exportformat übertragen. Dieses Format heißt WXR – WordPress eXtended RSS und wird als XML-Datei gespeichert. Im ursprünglichen Arbeitsverlauf entstand dabei schnell eine typische Verwirrung: Die Inhalte wurden importiert, erschienen im Block-Editor aber als klassisches HTML beziehungsweise als Classic Block. Außerdem stellte sich die Frage, welches Plugin WXR überhaupt korrekt versteht.

Die wichtigste Unterscheidung lautet: WXR ist zwar XML, aber nicht jede XML-Importsoftware ist ein WXR-Importer. Für einen normalen WordPress-zu-WordPress-Transfer ist der offizielle WordPress Importer die naheliegende erste Wahl.

1. Was steckt in einer WXR-Datei?

Eine WordPress-Exportdatei kann unter anderem enthalten:

  • Beiträge und Seiten
  • Custom Post Types, sofern exportiert
  • Kommentare
  • Kategorien und Schlagwörter
  • Autoreninformationen
  • Custom Fields/Post Meta
  • Verweise auf Medienanhänge

Wichtig: Die XML-Datei enthält bei Medien häufig nicht die komplette Bilddatei selbst, sondern Informationen und URLs, über die der Importer versucht, Anhänge von der Quellseite zu laden.

2. Offizieller Import über Werkzeuge → Daten importieren

WordPress dokumentiert den Import weiterhin direkt im Backend unter:

Werkzeuge → Daten importieren

Dort wählst du WordPress. Falls der WordPress Importer noch nicht installiert ist, bietet WordPress die Installation an. Danach kannst du den Importer starten und die WXR-Datei hochladen.

3. Warum ein normaler XML-Importer nicht dasselbe ist

Plugins wie allgemeine CSV-/XML-Importer sind hervorragend, wenn du fremde XML-Strukturen frei auf WordPress-Felder abbilden möchtest. Eine WXR-Datei besitzt aber bereits WordPress-spezifische Beziehungen: Autoren, Taxonomien, Post-IDs, Kommentare und Metadaten.

Ein allgemeiner XML-Importer kann diese Daten zwar lesen, weiß aber nicht automatisch, wie die WordPress-Beziehungen wiederhergestellt werden sollen.

4. Autoren beim Import zuordnen

Nach dem Upload fragt der WordPress Importer, was mit Autoren aus der Quelldatei passieren soll. Du kannst typischerweise:

  • bestehende Benutzer zuordnen,
  • neue Benutzer für importierte Autoren anlegen oder
  • Inhalte einem vorhandenen Benutzer zuweisen.

Bei einer Migration auf eine private Zielseite ist die Zuordnung zu einem vorhandenen Admin oder Redakteur oft sinnvoller als das automatische Anlegen vieler alter Konten.

5. „Download and import file attachments“

Der Importer kann versuchen, verknüpfte Medien von der alten Website herunterzuladen. Das funktioniert aber nur, wenn die Dateien an der alten URL noch erreichbar sind und der Server den Abruf erlaubt.

Wenn die Quellseite bereits abgeschaltet oder durch Zugangsschutz blockiert wurde, kann der Textimport funktionieren, während Bilder fehlen.

6. Vor der Migration die alte Seite erreichbar lassen

Wenn Anhänge übernommen werden sollen, solltest du die Quellseite nicht zu früh abschalten. Ideal ist:

  1. WXR exportieren.
  2. Ziel-WordPress vorbereiten.
  3. Import inklusive Anhängen durchführen.
  4. Medien stichprobenartig prüfen.
  5. erst danach die alte Installation endgültig entfernen.

7. WXR ist kein vollständiges Website-Backup

Das WordPress-Exportformat ist ein Inhaltsexport, keine vollständige Migration des kompletten Systems. Eine WXR-Datei enthält nicht automatisch:

  • Theme-Dateien
  • Plugin-Dateien
  • sämtliche Plugin-Einstellungen
  • WordPress-Core
  • Serverkonfiguration
  • jede benutzerdefinierte Datenbanktabelle

Wenn eine Website 1:1 geklont werden soll, ist ein vollständiges Backup-/Migrationsverfahren geeigneter.

8. Warum importierte Artikel als klassisches HTML erscheinen

Das war eine Kernfrage im ursprünglichen Chat. Der WordPress Importer importiert den vorhandenen post_content. Wenn der Quellbeitrag aus der Zeit des Classic Editors stammt und keine Gutenberg-Block-Kommentare enthält, wird daraus nicht automatisch eine moderne Blockstruktur.

Der Block-Editor kann solchen Inhalt als Classic Block darstellen. Das ist kein fehlgeschlagener Import. Es bedeutet nur, dass die ursprüngliche Inhaltsstruktur erhalten wurde.

9. Classic Block in normale Blöcke umwandeln

WordPress besitzt im Classic Block aktuell die Funktion „Convert to blocks“ / „In Blöcke umwandeln“. Damit versucht der Editor, Absätze, Überschriften, Listen und andere erkennbare HTML-Elemente in native Blöcke aufzuteilen.

Nach der Konvertierung solltest du den Beitrag im Frontend prüfen. Besonders komplexes HTML kann sich beim Umwandeln verändern.

10. Wenn „In Blöcke umwandeln“ deaktiviert ist

Das kann passieren, wenn der Inhalt nicht als normaler konvertierbarer Classic Block vorliegt, ein Plugin das Bearbeitungsverhalten beeinflusst oder spezielle Shortcodes/Markup enthalten sind.

Prüfe zuerst:

  • Ist wirklich der Classic Block ausgewählt?
  • Ist der Classic Editor als Plugin aktiv und erzwingt den alten Editor?
  • Enthält der Beitrag Shortcodes oder alte Builder-Strukturen?
  • Stammt der Inhalt aus einem Plugin wie GeneratePress Sections oder einem Page Builder?

11. Alte Page-Builder-Inhalte nicht blind konvertieren

Wenn ein Artikel oder eine Seite früher mit Shortcodes, Sections oder einem Page Builder aufgebaut wurde, ist eine automatische HTML-zu-Block-Konvertierung riskant. Ein Shortcode kann optisch funktionieren, obwohl er im Editor wie unverständlicher Text aussieht.

In solchen Fällen solltest du zunächst eine Kopie beziehungsweise Revision sichern und dann abschnittsweise in native Blöcke oder GenerateBlocks übertragen.

12. Import-Datei zu groß

Der Upload kann an PHP-Grenzen scheitern. Typische Limits sind:

  • upload_max_filesize
  • post_max_size
  • Ausführungszeit
  • Speicherlimit

Wenn die WXR-Datei größer als das erlaubte Uploadlimit ist, kann der Hoster die Limits anheben oder die Exportdatei muss sinnvoll aufgeteilt werden.

13. Große WXR-Dateien besser aufteilen

Bei sehr großen Blogs ist ein Import in kleineren Einheiten oft stabiler. WordPress kann beim Export beispielsweise nach Inhaltstyp, Datum oder Autor filtern. So lassen sich mehrere kleinere WXR-Dateien erzeugen.

Das erleichtert auch die Fehlersuche: Wenn ein Teilimport scheitert, musst du nicht die gesamte Migration wiederholen.

14. Doppelte Beiträge bei wiederholtem Import

Wenn ein Import teilweise lief und anschließend noch einmal gestartet wird, solltest du prüfen, welche Inhalte bereits übernommen wurden. Je nach Daten und Importer-Logik können Dubletten oder bereits vorhandene Anhänge entstehen.

Vor großen Wiederholungsimporten ist eine saubere Staging- oder Backup-Strategie deshalb sinnvoll.

15. Permalinks und alte URLs

Der Inhalt wird importiert, aber die exakten alten URLs müssen nicht automatisch erhalten bleiben. Wenn sich Domain oder Permalink-Struktur ändern, solltest du nach dem Import:

  • Permalink-Einstellungen prüfen,
  • alte und neue Slugs vergleichen,
  • notwendige 301-Weiterleitungen anlegen.

Das ist besonders wichtig, wenn die alte Website bereits bei Google indexiert war.

16. Interne Links im importierten Inhalt

Alte Beiträge können weiterhin auf die alte Domain verlinken. Ein WXR-Import ersetzt solche URLs nicht in jedem denkbaren Inhalt automatisch.

Nach einer Domainmigration sollte daher gezielt nach der alten Domain gesucht werden. Ein Search-and-Replace muss dabei serialisierte Daten respektieren; rohe SQL-Ersetzungen sind nicht die beste erste Wahl.

17. Bilder nach dem Import kontrollieren

Prüfe nicht nur, ob Bilder im Beitrag sichtbar sind. Kontrolliere auch:

  • Sind sie wirklich in der neuen Mediathek gespeichert?
  • Verweisen src-URLs noch auf die alte Domain?
  • Wurden Beitragsbilder übernommen?
  • Fehlen Alt-Texte oder Beschriftungen?

18. Kategorien und Schlagwörter prüfen

Ein WXR-Import kann Taxonomien übernehmen. Bei jahrelang gewachsenen Blogs lohnt es sich aber, die Gelegenheit zum Aufräumen zu nutzen. Doppelte oder sehr ähnliche Kategorien sollten nicht ungeprüft weitergeführt werden.

19. Erst Staging, dann Live

Bei einer größeren WXR-Migration ist ein Testimport auf Staging sehr sinnvoll. Dort siehst du:

  • ob die Datei vollständig verarbeitet wird,
  • wie alte Inhalte im Block-Editor erscheinen,
  • ob Medien übernommen werden,
  • welche Plugins für die Darstellung noch benötigt werden.

20. Sinnvolle Reihenfolge

  1. Quellseite sichern und erreichbar lassen.
  2. WordPress-Export als WXR erstellen.
  3. Zielseite sichern.
  4. Werkzeuge → Daten importieren → WordPress öffnen.
  5. offiziellen WordPress Importer installieren/starten.
  6. Autoren zuordnen.
  7. Anhangimport aktivieren, wenn gewünscht.
  8. Import vollständig durchlaufen lassen.
  9. Beiträge, Seiten, Kategorien und Medien prüfen.
  10. Classic Blocks nur kontrolliert in Blöcke konvertieren.
  11. alte URLs und interne Links kontrollieren.

Fazit

Eine WXR-Datei ist das native WordPress-Format für den Transfer von Inhalten. Der offizielle WordPress Importer ist deshalb die richtige erste Wahl. Dass alte Artikel nach dem Import als Classic Block erscheinen, ist normal: Der Importer bewahrt den vorhandenen Inhalt und erfindet nicht automatisch eine Gutenberg-Struktur. Die Blockkonvertierung ist ein eigener Schritt und sollte bei komplexem HTML oder alten Page-Builder-Inhalten mit Vorsicht erfolgen.

Aktuell geprüft

Der Importweg über „Tools/Werkzeuge → Import“ und die Unterstützung von Beiträgen, Seiten, Kommentaren, Custom Fields und Kategorien wurden mit der aktuellen WordPress.org-Dokumentation abgeglichen. Auch die aktuelle Classic-Block-Dokumentation bestätigt weiterhin die Funktion „Convert to blocks“.