EmDash migriert Inhalte von WordPress. Importieren Sie Ihre Beiträge, Seiten, Medien und Taxonomien über das Admin-Dashboard.
Bevor Sie beginnen
Exportieren Sie Ihre Inhalte
Gehen Sie in WordPress zu Tools → Exportieren und laden Sie eine vollständige Exportdatei (.xml) herunter.
Sichern Sie Ihre Website
Lassen Sie Ihre WordPress-Website laufen, bis Sie überprüft haben, dass die Migration erfolgreich war.
Import-Methoden
EmDash unterstützt drei Methoden zum Importieren von WordPress-Inhalten:
| Methode | Am besten für | Enthält Entwürfe | Erfordert Auth |
|---|---|---|---|
| WXR-Datei-Upload | Vollständige Migrationen | Ja | Nein |
| WordPress.com | WordPress.com gehostete Websites | Ja | OAuth |
| REST API (probe) | Inhalte vor dem Export überprüfen | Nein | Optional |
Der WXR-Datei-Upload wird für die meisten Migrationen empfohlen. Er erfasst alle Inhalte, einschließlich Entwürfe, benutzerdefinierte Felder und private Beiträge.
WXR-Datei-Import
-
Export aus WordPress
Gehen Sie in Ihrem WordPress-Admin zu Tools → Exportieren → Alle Inhalte → Exportdatei herunterladen.
-
Öffnen Sie den Import-Assistenten
Gehen Sie in EmDash zu Admin → Einstellungen → Importieren → WordPress.
-
Laden Sie Ihre Exportdatei hoch
Ziehen Sie Ihre
.xml-Datei per Drag & Drop oder klicken Sie zum Durchsuchen. Die Datei wird in Ihrem Browser geparst. -
Überprüfen Sie erkannte Inhalte
Der Assistent zeigt, was gefunden wurde:
Found in export: ├── Posts: 127 → posts [New collection] ├── Pages: 12 → pages [Add fields] └── Media: 89 attachments -
Konfigurieren Sie Zuordnungen
Schalten Sie um, welche Beitragstypen importiert werden sollen. EmDash macht automatisch:
- Erstellt neue Sammlungen für nicht zugeordnete Beitragstypen
- Fügt fehlende Felder zu bestehenden Sammlungen hinzu
- Warnt vor Feldtypenkonflikten
-
Führen Sie den Import aus
Klicken Sie auf Inhalt importieren. Der Fortschritt wird angezeigt, während jedes Element verarbeitet wird.
-
Medien importieren (optional)
Nach dem Import von Inhalten wählen Sie aus, ob Mediendateien heruntergeladen werden sollen. EmDash:
- Lädt von Ihren WordPress-URLs herunter
- Dedupliziert nach Inhalts-Hash
- Schreibt URLs in Ihren Inhalten automatisch um
Inhaltskonvertierung
Gutenberg zu Portable Text
EmDash konvertiert Gutenberg-Blöcke in Portable Text, ein strukturiertes Inhaltsformat.
| Gutenberg-Block | Portable Text | Hinweise |
|---|---|---|
core/paragraph | block style=“normal” | Inline-Markierungen beibehalten |
core/heading | block style=“h1-h6” | Ebene aus Block-Attributen |
core/image | image block | Medienreferenz aktualisiert |
core/list | block with listItem type | Geordnet und ungeordnet |
core/quote | block style=“blockquote” | Zitat enthalten |
core/code | code block | Sprachattribut beibehalten |
core/embed | embed block | URL und Anbieter gespeichert |
core/gallery | gallery block | Array von Bildreferenzen |
core/columns | columns block | Verschachtelter Inhalt erhalten |
| Unbekannte Blöcke | htmlBlock | Rohes HTML zur Überprüfung erhalten |
Unbekannte Blöcke werden als htmlBlock mit dem ursprünglichen HTML und Block-Metadaten gespeichert. Sie können diese manuell überprüfen und konvertieren oder benutzerdefinierte Portable Text-Komponenten erstellen, um sie zu rendern.
Classic Editor-Inhalte
HTML aus dem Classic Editor wird in Portable Text-Blöcke konvertiert. Inline-Stile (<strong>, <em>, <a>) werden zu Markierungen auf Spans.
Status-Zuordnung
| WordPress-Status | EmDash-Status |
|---|---|
publish | published |
draft | draft |
pending | pending |
private | private |
future | scheduled |
trash | archived |
Taxonomie-Import
Kategorien und Tags werden als Taxonomien mit erhaltener Hierarchie importiert:
WordPress: EmDash:
├── Categories (hierarchical) ├── taxonomies table
│ ├── News │ ├── category/news
│ │ ├── Local │ ├── category/local (parent: news)
│ │ └── World │ ├── category/world (parent: news)
│ └── Sports │ └── category/sports
└── Tags (flat) └── content_taxonomies junction
├── featured ├── tag/featured
└── breaking └── tag/breaking
Benutzerdefinierte Felder und ACF
WordPress-Post-Meta und ACF-Felder werden während des Imports analysiert:
-
Analysephase
Der Assistent erkennt benutzerdefinierte Felder und schlägt EmDash-Feldtypen vor:
Custom Fields: ├── subtitle (string, 45 posts) ├── _yoast_wpseo_title → seo.title (string, 127 posts) ├── _thumbnail_id → featuredImage (reference, 89 posts) └── price (number, 23 posts) -
Feldzuordnung
Interne WordPress-Felder (beginnend mit
_edit_,_wp_) sind standardmäßig ausgeblendet. SEO-Plugin-Felder werden einemseo-Objekt zugeordnet. -
Typinferenz
EmDash leitet Feldtypen aus Werten ab:
- Numerische Zeichenfolgen →
number "1","0","true","false"→boolean- ISO-Daten →
date - Serialisiertes PHP/JSON →
json - WordPress-IDs (z.B.
_thumbnail_id) →reference
- Numerische Zeichenfolgen →
URL-Weiterleitungen
Nach dem Import generiert EmDash eine Weiterleitungskarte:
{
"redirects": [
{ "from": "/?p=123", "to": "/posts/hello-world" },
{ "from": "/2024/01/hello-world/", "to": "/posts/hello-world" },
{ "from": "/category/news/", "to": "/categories/news" }
],
"feeds": [
{ "from": "/feed/", "to": "/rss.xml" },
{ "from": "/feed/atom/", "to": "/atom.xml" }
]
}
Wenden Sie diese Weiterleitungen an auf:
- Cloudflare-Weiterleitungsregeln
- Die Weiterleitungskonfiguration Ihrer Hosting-Plattform
- Astros
redirects-Option inastro.config.mjs
Konzept-Zuordnungsreferenz
Verwenden Sie diese Tabelle, wenn Sie WordPress-Muster an EmDash anpassen:
| WordPress | EmDash | Hinweise |
|---|---|---|
register_post_type() | Sammlung in Admin-UI | Erstellt über Dashboard oder API |
register_taxonomy() | Taxonomie oder Array-Feld | Abhängig von Komplexität |
register_meta() | Feld im Sammlungsschema | Typisiert, nicht Key-Value |
WP_Query | getCollection(filters) | Laufzeitabfragen |
get_post() | getEntry(collection, id) | Gibt Eintrag oder null zurück |
wp_insert_post() | POST /_emdash/api/content/{type} | REST API |
the_content | <PortableText value={...} /> | Portable Text-Rendering |
add_shortcode() | Portable Text Custom Block | Benutzerdefinierter Komponenten-Renderer |
register_block_type() | Portable Text Custom Block | Wie Shortcodes |
add_menu_page() | Plugin-Admin-Seite | Unter /_emdash/admin/ |
add_action/filter() | Plugin-Hooks | hooks.content:beforeSave |
wp_options | ctx.kv | Key-Value-Speicher |
wp_postmeta | Sammlungsfelder | Strukturiert, nicht Key-Value |
$wpdb | ctx.storage | Direkter Speicherzugriff |
| Categories/Tags | Taxonomien | Hierarchieunterstützung erhalten |
API-Import (Erweitert)
Der WordPress-Import ist über das Admin-Dashboard und die REST API verfügbar. Verwenden Sie den Import-Assistenten im Admin-Dashboard für die beste Erfahrung — er bietet Feldzuordnung, Konfliktlösung und Fortschrittsverfolgung.
Die Import-API-Endpunkte befinden sich unter /_emdash/api/import/wordpress/ für programmatischen Zugriff.
Fehlerbehebung
”XML-Parsing-Fehler”
Die Exportdatei ist möglicherweise beschädigt oder unvollständig. Exportieren Sie erneut aus WordPress.
Medien-Download-Fehler
Einige Bilder befinden sich möglicherweise hinter Authentifizierung oder wurden verschoben. Der Import wird fortgesetzt und fehlgeschlagene URLs werden zur manuellen Behandlung protokolliert.
Feldtypenkonflikte
Wenn eine bestehende Sammlung ein Feld mit einem inkompatiblen Typ hat, zeigt der Import-Assistent den Konflikt an. Entweder:
- Benennen Sie das EmDash-Feld um
- Ändern Sie die WordPress-Feldzuordnung
- Löschen und erstellen Sie die Sammlung neu
Große Exporte
Für Exporte über 100 MB erwägen Sie:
- Exportieren Sie Beitragstypen in WordPress separat
- Importieren Sie jede Datei nacheinander
- Verwenden Sie die CLI mit
--resumefür Zuverlässigkeit
Nächste Schritte
- Inhaltsimport — Andere Importquellen und -methoden
- Plugin-Portierung — WordPress-Plugin-Funktionalität migrieren
- Arbeiten mit Inhalten — Importierte Inhalte abfragen und rendern