# Migrazione da WooCommerce a PrestaShop — Guida completa

> Panoramica Migrazione WooCommerce (dfmigratewoocommerce) migra un negozio WooCommerce completo su PrestaShop 8 o 9: categorie, tag, attributi globali, prodotti semplici e variabili (variazioni convertite in combinazioni), immagini, metadati personalizzati, clienti…

- Pagina: <https://www.datafirefly.com/it/documentation/dfmigratewoocommerce/>
- Lingua: it
- Aggiornato il: 2026-07-01
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfmigratewoocommerce/index.md), [en](https://www.datafirefly.com/en/documentation/dfmigratewoocommerce/index.md), [es](https://www.datafirefly.com/es/documentation/dfmigratewoocommerce/index.md), [de](https://www.datafirefly.com/de/documentation/dfmigratewoocommerce/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfmigratewoocommerce/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfmigratewoocommerce/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfmigratewoocommerce/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

Migrazione WooCommerce (`dfmigratewoocommerce`) migra un negozio WooCommerce completo su PrestaShop 8 o 9: categorie, tag, attributi globali, prodotti semplici e variabili (variazioni convertite in combinazioni), immagini, metadati personalizzati, clienti con indirizzi e ordini. Il modulo si collega direttamente al database MySQL di WordPress, lavora a lotti AJAX senza timeout e mantiene un mapping Woo ↔ PS nel database che rende ogni fase rilanciabile senza duplicati.

Il database WooCommerce di origine viene solo **letto**, mai modificato. Tutte le scritture avvengono lato PrestaShop.

## Installazione

1. Nel back office PrestaShop, apri **Moduli > Gestore moduli > Carica un modulo** e seleziona il file `dfmigratewoocommerce.zip`.
2. Il modulo crea tre tabelle tecniche: `df_woomig_mapping` (corrispondenze Woo ↔ PS), `df_woomig_log` (log) e `df_woomig_progress` (avanzamento delle fasi).
3. Clicca su **Configura** per aprire l'interfaccia di migrazione.

## Connessione a WooCommerce

Nella scheda **Connessione**, inserisci:

- **Host / Porta**: server MySQL del database WordPress (porta 3306 di default);
- **Database, Utente, Password**: credenziali del database WordPress;
- **Prefisso tabelle**: di solito `wp_` — verifica in `wp-config.php` ($table_prefix);
- **URL del sito**: l'indirizzo pubblico del negozio WooCommerce, usato per scaricare le immagini (modalità HTTP), o un percorso del filesystem in modalità locale.

Clicca su **Testa connessione**: il modulo mostra il numero di prodotti, categorie, tag, attributi globali, clienti e ordini rilevati nell'origine.

Se il tuo hosting blocca le connessioni MySQL remote, importa un dump del database WordPress in uno schema dedicato sul server PrestaShop (es. `wp_source`) e collega il modulo a quello schema in `localhost`. Funziona anche un tunnel SSH.

## Parametri

- **Lingua predefinita**: lingua PrestaShop in cui verranno scritti i contenuti Woo (monolingue);
- **Gruppo di imposte predefinito**: applicato a tutti i prodotti migrati — i prezzi Woo vengono copiati così come sono nel prezzo IVA esclusa di PrestaShop;
- **Attributi come caratteristiche**: attiva il doppio mapping (ogni attributo globale diventa anche una caratteristica, visibile sui prodotti semplici) e l'importazione dei postmeta personalizzati come caratteristiche `meta:*`;
- **Dimensione del lotto**: numero di entità elaborate per richiesta AJAX (25 di default; riducilo su hosting condiviso lento);
- **Modalità immagini**: `http` (download dall'URL del sito) o `local` (l'URL del sito viene trattato come percorso filesystem contenente `wp-content/uploads`);
- **Dry-run**: modalità simulazione — tutto viene registrato, niente viene scritto;
- **Corriere predefinito**: assegnato agli ordini migrati.

## Eseguire la migrazione

Nella scheda **Migrazione**, esegui le fasi **in ordine** — ognuna si basa sul mapping creato dalle precedenti:

1. **Attributi** — ogni attributo globale Woo (`pa_*`) diventa un gruppo di attributi PS (i gruppi colore vengono rilevati) e, se l'opzione è attiva, una caratteristica. Tutti i valori vengono creati su entrambi i lati.
2. **Categorie** — l'albero completo viene ricostruito; i genitori mancanti vengono risolti ricorsivamente, gli orfani agganciati alla radice con un avviso.
3. **Tag** — deduplicati per nome.
4. **Prodotti** — prodotti semplici e variabili: prezzi, prezzi scontati (SpecificPrice), SKU, peso, dimensioni, stock, stato, prodotti virtuali, collegamenti a categorie/tag, caratteristiche, metadati personalizzati. Le variazioni diventano combinazioni con impatto sul prezzo, stock e riferimento propri. Le immagini del prodotto vengono migrate al volo.
5. **Immagini** — fase di recupero: scorre i prodotti già migrati e importa le immagini mancanti (immagine principale + galleria), rigenerando tutte le miniature.
6. **Clienti** — account con indirizzi di fatturazione e spedizione. Password rigenerate in bcrypt: i clienti usano «password dimenticata» al primo accesso. Le email già presenti in PS vengono riutilizzate, mai duplicate.
7. **Ordini** — rilevamento automatico HPOS (WooCommerce 8+, tabelle `wc_orders`) o legacy (`wp_posts`). Righe, totali, valuta e stati mappati sugli stati ordine PrestaShop. Nessuna email viene inviata.

Ogni fase mostra una barra di avanzamento in diretta e può essere interrotta e rilanciata: riprende esattamente da dove si era fermata.

Fai prima un passaggio completo in **dry-run** per validare il perimetro nel log, poi disattiva il dry-run e rilancia.

## Mapping e rilanci

La scheda **Mapping** mostra il numero di corrispondenze per tipo di entità. Ogni entità presente nel mapping viene saltata nei rilanci: puoi rilanciare una fase completa senza creare duplicati. Il pulsante di reset cancella il mapping di un tipo (o di tutto) — le entità già create lato PrestaShop restano al loro posto.

## Log

La scheda **Log** elenca gli eventi per fase e livello (info, successo, avviso, errore): prodotti creati, variazioni saltate per mancanza di attributo globale, immagini non trovate, ordini senza cliente... Pulizia con un clic.

## Dopo la migrazione

- Lancia una reindicizzazione della ricerca: **Parametri negozio > Ricerca > Indicizza tutti i prodotti**;
- Verifica un campione di prezzi se il tuo negozio Woo salvava prezzi IVA inclusa (PrestaShop si aspetta IVA esclusa);
- Controlla il gruppo di imposte, i corrieri e i metodi di pagamento;
- Elimina la configurazione di connessione (o disinstalla il modulo): le credenziali MySQL sono memorizzate nella configurazione PrestaShop.

## Limiti noti

- Gli attributi **locali** (definiti su un singolo prodotto, non `pa_*`) usati nelle variazioni non possono diventare combinazioni — PrestaShop richiede attributi globali. Queste variazioni vengono saltate e segnalate nel log. Convertili in attributi globali lato Woo prima della migrazione se necessario.
- Gli ordini vengono migrati come storico: le imposte non vengono ricalcolate, i totali Woo vengono copiati così come sono.
- Coupon, recensioni prodotto e abbonamenti non vengono migrati in questa versione.

## Risoluzione dei problemi

### «Connessione fallita» al test

Verifica che l'utente MySQL possa connettersi dall'IP del server PrestaShop (`GRANT ... ON db.* TO 'user'@'ip'`) e che la porta 3306 sia aperta. In alternativa, usa un dump locale o un tunnel SSH.

### Immagini mancanti in modalità HTTP

Il sito WooCommerce deve essere raggiungibile via HTTP/HTTPS dal server PrestaShop. Se il sito di origine è offline, usa la modalità `local` copiando `wp-content/uploads` sul server PrestaShop e indicando il suo percorso come URL del sito.

### Variazioni assenti su un prodotto

Consulta il log: se le variazioni usavano attributi locali (non globali), vengono saltate per progettazione. Il prodotto padre viene migrato con i suoi dati di base.
