EmDash migra i contenuti da WordPress. Importa i tuoi post, pagine, media e tassonomie tramite il pannello di amministrazione.
Prima di iniziare
Esporta i tuoi contenuti
In WordPress, vai su Strumenti → Esporta e scarica un file di esportazione completo (.xml).
Fai un backup del tuo sito
Mantieni il tuo sito WordPress attivo finché non verifichi che la migrazione sia riuscita.
Metodi di importazione
EmDash supporta tre metodi per importare contenuti WordPress:
| Metodo | Ideale per | Include bozze | Richiede auth |
|---|---|---|---|
| Caricamento file WXR | Migrazioni complete | Sì | No |
| WordPress.com | Siti ospitati su WordPress.com | Sì | OAuth |
| REST API (probe) | Verificare contenuti prima dell’esportazione | No | Opzionale |
Il caricamento del file WXR è consigliato per la maggior parte delle migrazioni. Cattura tutti i contenuti, inclusi bozze, campi personalizzati e post privati.
Importazione file WXR
-
Esporta da WordPress
Nel tuo amministratore WordPress, vai su Strumenti → Esporta → Tutti i contenuti → Scarica file di esportazione.
-
Apri la procedura guidata di importazione
In EmDash, vai su Admin → Impostazioni → Importa → WordPress.
-
Carica il tuo file di esportazione
Trascina e rilascia il tuo file
.xmlo clicca per sfogliare. Il file viene analizzato nel tuo browser. -
Rivedi i contenuti rilevati
La procedura guidata mostra cosa è stato trovato:
Found in export: ├── Posts: 127 → posts [New collection] ├── Pages: 12 → pages [Add fields] └── Media: 89 attachments -
Configura le mappature
Attiva quali tipi di post importare. EmDash automaticamente:
- Crea nuove collezioni per tipi di post non mappati
- Aggiunge campi mancanti alle collezioni esistenti
- Avvisa dei conflitti di tipo di campo
-
Esegui l’importazione
Clicca su Importa contenuti. Il progresso viene visualizzato mentre ogni elemento viene elaborato.
-
Importa media (opzionale)
Dopo l’importazione dei contenuti, scegli se scaricare i file multimediali. EmDash:
- Scarica dai tuoi URL WordPress
- Deduplica per hash di contenuto
- Riscrive automaticamente gli URL nei tuoi contenuti
Conversione dei contenuti
Gutenberg a Portable Text
EmDash converte i blocchi Gutenberg in Portable Text, un formato di contenuto strutturato.
| Blocco Gutenberg | Portable Text | Note |
|---|---|---|
core/paragraph | block style=“normal” | Marcature inline preservate |
core/heading | block style=“h1-h6” | Livello dagli attributi del blocco |
core/image | image block | Riferimento media aggiornato |
core/list | block with listItem type | Ordinate e non ordinate |
core/quote | block style=“blockquote” | Citazione inclusa |
core/code | code block | Attributo lingua preservato |
core/embed | embed block | URL e provider memorizzati |
core/gallery | gallery block | Array di riferimenti immagine |
core/columns | columns block | Contenuto annidato preservato |
| Blocchi sconosciuti | htmlBlock | HTML grezzo preservato per revisione |
I blocchi sconosciuti vengono memorizzati come htmlBlock con l’HTML originale e i metadati del blocco. Puoi rivederli e convertirli manualmente o creare componenti Portable Text personalizzati per renderizzarli.
Contenuto dell’editor classico
L’HTML dell’editor classico viene convertito in blocchi Portable Text. Gli stili inline (<strong>, <em>, <a>) diventano marcature su span.
Mappatura degli stati
| Stato WordPress | Stato EmDash |
|---|---|
publish | published |
draft | draft |
pending | pending |
private | private |
future | scheduled |
trash | archived |
Importazione tassonomie
Categorie e tag vengono importati come tassonomie con gerarchia preservata:
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
Campi personalizzati e ACF
I meta dei post WordPress e i campi ACF vengono analizzati durante l’importazione:
-
Fase di analisi
La procedura guidata rileva i campi personalizzati e suggerisce i tipi di campo EmDash:
Custom Fields: ├── subtitle (string, 45 posts) ├── _yoast_wpseo_title → seo.title (string, 127 posts) ├── _thumbnail_id → featuredImage (reference, 89 posts) └── price (number, 23 posts) -
Mappatura dei campi
I campi interni di WordPress (che iniziano con
_edit_,_wp_) sono nascosti per impostazione predefinita. I campi dei plugin SEO vengono mappati a un oggettoseo. -
Inferenza dei tipi
EmDash inferisce i tipi di campo dai valori:
- Stringhe numeriche →
number "1","0","true","false"→boolean- Date ISO →
date - PHP/JSON serializzato →
json - ID WordPress (es.
_thumbnail_id) →reference
- Stringhe numeriche →
Reindirizzamenti URL
Dopo l’importazione, EmDash genera una mappa di reindirizzamento:
{
"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" }
]
}
Applica questi reindirizzamenti a:
- Regole di reindirizzamento Cloudflare
- La configurazione di reindirizzamento della tua piattaforma di hosting
- L’opzione
redirectsdi Astro inastro.config.mjs
Riferimento mappatura concetti
Usa questa tabella quando adatti i pattern di WordPress a EmDash:
| WordPress | EmDash | Note |
|---|---|---|
register_post_type() | Collezione nell’UI admin | Creato tramite dashboard o API |
register_taxonomy() | Tassonomia o campo array | Dipende dalla complessità |
register_meta() | Campo nello schema della collezione | Tipizzato, non chiave-valore |
WP_Query | getCollection(filters) | Query a runtime |
get_post() | getEntry(collection, id) | Restituisce voce o null |
wp_insert_post() | POST /_emdash/api/content/{type} | REST API |
the_content | <PortableText value={...} /> | Rendering Portable Text |
add_shortcode() | Blocco personalizzato Portable Text | Renderer componente personalizzato |
register_block_type() | Blocco personalizzato Portable Text | Come gli shortcode |
add_menu_page() | Pagina admin plugin | Sotto /_emdash/admin/ |
add_action/filter() | Hook plugin | hooks.content:beforeSave |
wp_options | ctx.kv | Archivio chiave-valore |
wp_postmeta | Campi collezione | Strutturato, non chiave-valore |
$wpdb | ctx.storage | Accesso diretto allo storage |
| Categories/Tags | Tassonomie | Supporto gerarchico preservato |
Importazione API (Avanzato)
L’importazione WordPress è disponibile tramite il pannello di amministrazione e l’API REST. Usa la procedura guidata di importazione del pannello di amministrazione per la migliore esperienza — fornisce mappatura dei campi, risoluzione dei conflitti e tracciamento del progresso.
Gli endpoint dell’API di importazione si trovano sotto /_emdash/api/import/wordpress/ per l’accesso programmatico.
Risoluzione dei problemi
”Errore di analisi XML”
Il file di esportazione potrebbe essere corrotto o incompleto. Riesporta da WordPress.
Errori di download dei media
Alcune immagini potrebbero essere dietro autenticazione o essere state spostate. L’importazione continua e gli URL falliti vengono registrati per la gestione manuale.
Conflitti di tipo di campo
Se una collezione esistente ha un campo con un tipo incompatibile, la procedura guidata di importazione mostra il conflitto. O:
- Rinomina il campo EmDash
- Cambia la mappatura del campo WordPress
- Elimina e ricrea la collezione
Esportazioni grandi
Per esportazioni superiori a 100MB, considera:
- Esportare i tipi di post separatamente in WordPress
- Importare ogni file in sequenza
- Usare la CLI con
--resumeper affidabilità
Passaggi successivi
- Importazione contenuti — Altre fonti e metodi di importazione
- Porting plugin — Migrare le funzionalità dei plugin WordPress
- Lavorare con i contenuti — Interrogare e renderizzare i tuoi contenuti importati