Note di versione e percorsi del back office verificati su PrestaShop 9 (e stabili anche su 1.7/8). Trasparenza: sviluppiamo moduli PrestaShop su mypresta.rocks; le logiche di migrazione descritte qui sono indipendenti dalla piattaforma.
La maggior parte delle guide sul passaggio da WooCommerce a PrestaShop sono in realtà due articoli sotto un solo titolo: una metà usa lo spazio per discutere di nuovo se convenga davvero migrare, l'altra offre una checklist generica in sette passaggi che suonerebbe identica anche per una migrazione da Magento o Shopify. Questa guida non è nessuna delle due cose. Se hai già deciso che PrestaShop è la destinazione, e se stai ancora valutando, il confronto onesto è in PrestaShop vs WooCommerce. Quello che ti serve davvero è la parte che quasi nessuno mette per iscritto: come i dati di WooCommerce, modellati da WordPress, si mappano sul database di PrestaShop, dove lo strumento di import può rovinare il catalogo in silenzio e quali redirect fanno sì che Google continui a portare traffico il giorno dopo il lancio.
La parte difficile di questa migrazione specifica non è "esporta qui, importa là". È che WooCommerce è un plugin innestato su un CMS nato per il blogging, quindi i prodotti vivono come post WordPress con i dati reali sparsi nella tabella wp_postmeta, mentre PrestaShop è un motore e-commerce progettato per questo scopo, con uno schema normalizzato (ps_product, ps_product_attribute, ps_category_product e tabelle collegate). Tutto ciò che rende complesso questo passaggio nasce dal dover riconciliare queste due visioni. Per questo la guida è organizzata intorno ai quattro punti in cui il disallineamento si fa sentire davvero: varianti, prezzi/IVA, URL e password dei clienti.
Prima di toccare il pulsante di esportazione: fai l'inventario di ciò che WordPress nasconde

I dati di WooCommerce sono ingannevoli perché l'amministrazione WordPress mostra una tabella prodotti ordinata, ma sotto, un singolo "prodotto variabile" è una riga post più una riga post figlia per ogni variante, più decine di righe wp_postmeta (_price, _sale_price, _stock, _weight, _sku, tassonomie degli attributi e qualunque cosa abbiano aggiunto i tuoi plugin). Prima di esportare qualsiasi cosa, annota cosa devi davvero trasferire e cosa invece hai semplicemente accumulato nel tempo:
- Prodotti, nome, descrizione, descrizione breve, prezzo, prezzo scontato, SKU, scorte, peso, immagini e titolo SEO/meta description (spesso salvati da Yoast in
_yoast_wpseo_title/_yoast_wpseo_metadesc, esportali o perderai ogni meta tag scritto a mano). - Varianti, la matrice taglia/colore. È il lavoro di trasformazione più importante; trovi una sezione dedicata più avanti.
- Categorie, WooCommerce le chiama categorie prodotto (una tassonomia WordPress), gerarchiche, con descrizioni e immagini.
- Clienti, account e indirizzi. Lo storico ordini è utile per l'assistenza; le password non migrano in modo pulito tramite l'importazione nativa (lo vediamo più avanti).
- Pagine CMS, informativa sulle spedizioni, resi, condizioni. Diventano pagine CMS PrestaShop, e ognuna conserva un URL che Google ha indicizzato.
- L'elenco degli URL, apri Search Console → Prestazioni → Pagine ed esporta ogni URL che genera impression. Quell'esportazione è la tua specifica dei redirect, non un dettaglio opzionale.
Una nota sullo storico ordini: spesso non è nemmeno necessario migrarlo. La maggior parte dei negozi mantiene il vecchio database WooCommerce in sola lettura come archivio e porta avanti solo gli account cliente attivi. Ricreare migliaia di ordini storici dentro la struttura ps_orders di PrestaShop è laborioso e raramente vale la pena per un negozio che può ancora consultare il vecchio sistema.
Passaggio 1, Prepara uno staging e scegli la versione PrestaShop giusta
Non importare mai direttamente in produzione. Crea un PrestaShop pulito su un sottodominio (per esempio staging.yourstore.com) così puoi eseguire l'importazione, trovare cosa si è rotto, svuotare il database e riprovare, e lo farai diverse volte prima di ottenere un risultato pulito. L'installer di PrestaShop più un database temporaneo rendono il ciclo "azzera e riprova" una questione di cinque minuti.
Per una nuova installazione nel 2026, PrestaShop 9 è la scelta predefinita (ramo corrente, prospettiva migliore di supporto a lungo termine, PHP 8.1+). L'unico motivo per partire invece da 8.x è un modulo indispensabile che non è ancora certificato per la 9, controlla prima la tua lista ristretta. Qualunque versione tu scelga, le logiche di migrazione qui sotto sono identiche; lo strumento di import e la gestione degli URL di PrestaShop sono rimasti stabili tra 1.7, 8 e 9.
Passaggio 2, Esporta da WooCommerce senza perdere i meta
WooCommerce include un esportatore CSV integrato in WooCommerce → Prodotti → Esporta. È sufficiente per cataloghi semplici e, soprattutto, permette di selezionare quali colonne includere, assicurati che SKU, scorte, peso e colonne dei meta SEO siano spuntati. Per clienti e ordini, gli esportatori equivalenti si trovano nel menu WooCommerce, oppure puoi interrogare direttamente wp_users / wp_usermeta se hai dimestichezza con il database.
Per le immagini prodotto, l'esportazione fornisce gli URL delle immagini, non i file. Hai due strade: lasciare le immagini sul vecchio dominio finché non viene dismesso (così l'import di PrestaShop le recupera via HTTP), oppure scaricare interamente wp-content/uploads e riospitarlo altrove. La strada via HTTP è più semplice, ma funziona solo finché il vecchio sito è ancora online, pianifica il passaggio di conseguenza.
Se il catalogo dipende da pacchetti, abbonamenti o plugin per campi personalizzati, il CSV nativo perderà quei dati perché vivono in chiavi meta specifiche del plugin. A quel punto un servizio di migrazione dedicato (Cart2Cart, LitExtension) giustifica il costo leggendo quelle tabelle per te, ma per un catalogo standard, CSV costruiti a mano offrono molto più controllo su come i dati arrivano a destinazione.
Passaggio 3, Le trasformazioni che contano davvero
Varianti → combinazioni (quella che rompe le importazioni)
È qui che la maggior parte delle migrazioni fai da te si blocca. WooCommerce modella una t-shirt come prodotto variabile con varianti, ogni variante come un post figlio quasi indipendente. PrestaShop modella la stessa t-shirt come un prodotto con attributi (Taglia, Colore) e combinazioni (Taglia: M / Colore: Blu → con SKU, differenza di prezzo, scorte e peso propri). Concettualmente i dati sono gli stessi; il formato di importazione no.
L'importazione CSV di PrestaShop gestisce le combinazioni tramite un tipo di import dedicato Combinazioni (Parametri avanzati → Importa, poi scegli "Combinazioni" come entità), in cui ogni riga contiene il riferimento del prodotto padre più il gruppo attributo e il valore (per esempio una colonna Attributo (Nome:Tipo:Posizione) con Size:select:0 insieme a un Valore pari a M), quindi una riga equivale a una combinazione. Approccio pratico: importa prima i prodotti padre con il prezzo base e una combinazione predefinita, poi esegui un secondo import Combinazioni basato sul riferimento prodotto (SKU) per agganciare la matrice taglia/colore con il corretto impatto sul prezzo e le scorte per combinazione. Cercare di comprimere tutto in un unico CSV prodotti è il modo più rapido per ritrovarsi con prodotti duplicati e giacenze orfane.
Prezzi e IVA, il bug silenzioso dello scarto fiscale
WooCommerce salva un prezzo regolare e un eventuale prezzo scontato per prodotto. PrestaShop li separa: il prezzo base vive sul prodotto, mentre gli sconti sono modellati come prezzi specifici (ps_specific_price), quindi un prezzo scontato WooCommerce dovrebbe diventare una regola di prezzo specifico, non un prezzo base riscritto, se vuoi che PrestaShop mostri correttamente il prezzo barrato.
La trappola fiscale è quella costosa. WooCommerce può salvare i prezzi IVA inclusa o IVA esclusa in base a un'impostazione che molti proprietari hanno dimenticato di aver toccato. L'importazione di PrestaShop si aspetta per impostazione predefinita prezzi IVA esclusa e applica sopra la regola fiscale. Se i prezzi WooCommerce erano comprensivi di IVA e li importi come se fossero al netto, ogni prodotto diventa improvvisamente più caro della tua aliquota IVA, oppure più economico, se sbagli ipotesi. Verifica l'impostazione di WooCommerce in WooCommerce → Impostazioni → Imposte ("Prezzi inseriti con imposte") prima di importare una sola riga, e configura regole fiscali corrispondenti in PrestaShop (Internazionale → Imposte / Regole fiscali) in modo che i calcoli tornino.
Descrizioni, rimuovi gli shortcode
Le descrizioni WooCommerce sono contenuto WordPress, quindi possono contenere shortcode ([product_page id="123"], blocchi galleria, markup di costruttori di pagine) che in PrestaShop non producono nulla e lasciano brutte parentesi letterali sulla pagina. Esegui una ricerca e sostituzione sulla colonna delle descrizioni prima dell'importazione per rimuovere gli shortcode e convertire eventuali commenti dei blocchi Gutenberg in HTML semplice.
Passaggio 4, Importa in PrestaShop, nell'ordine giusto
L'importatore di PrestaShop si trova in Parametri avanzati → Importa e legge CSV per tipo (Categorie, Prodotti, Combinazioni, Clienti, Indirizzi e altro). L'ordine non è opzionale, i prodotti fanno riferimento alle categorie, le combinazioni fanno riferimento ai prodotti, quindi per qualsiasi catalogo sopra qualche centinaio di SKU:
- Prima le categorie. L'albero deve esistere prima che i prodotti possano essergli assegnati. Mappa i nomi delle categorie WooCommerce alle categorie PrestaShop in un foglio di calcolo; gli ID non coincideranno e va bene così. Le chiavi di importazione sono nome/riferimento.
- Prodotti senza immagini. Importa prima il catalogo lasciando vuote le colonne immagini, verifica conteggi e prezzi, poi occupati delle immagini. Così separi i problemi sui dati dai problemi di recupero immagini.
- Combinazioni. La matrice taglia/colore, collegata tramite SKU, come passaggio di importazione separato.
- Immagini. PrestaShop recupera e rigenera le miniature durante l'importazione, operazione lenta per cataloghi grandi, eseguila fuori orario, e se va in timeout aumenta
max_execution_timeo importa a lotti. - Clienti e indirizzi per ultimi, una volta stabilizzata la struttura del negozio.
Disattiva "Forza ID" e lascia che PrestaShop assegni i propri ID; provare a preservare gli ID WooCommerce significa combattere con l'importatore senza alcun vantaggio. Mantieni però una colonna con l'ID o lo slug WooCommerce originale, ti servirà per i redirect nel passaggio successivo.
Passaggio 5, Mappatura URL e redirect 301 (il passaggio su cui le migrazioni falliscono)
Questa è la differenza tra una migrazione che conserva il traffico Google e una che lo fa crollare per tre mesi. WooCommerce e PrestaShop generano URL strutturalmente diversi:
| Contenuto | WooCommerce (tipico) | PrestaShop (tipico) |
|---|---|---|
| Prodotto | /product/blue-widget/ | /en/123-blue-widget.html |
| Categoria | /product-category/widgets/ | /en/45-widgets |
| Pagina CMS | /shipping-policy/ | /en/content/8-shipping-policy |
Ogni vecchio URL che Google ha indicizzato deve fare un redirect 301 al nuovo equivalente. Salta questo passaggio e ti ritrovi tre problemi insieme: 404 per i clienti abituali che avevano salvato un prodotto, perdita di autorevolezza dai link di ogni sito esterno che puntava ai vecchi URL e cali di posizionamento proprio sulle pagine che ti portavano traffico gratuito. PrestaShop ha impostazioni native per SEO e URL (Parametri negozio → Traffico e SEO) per definire schemi URL puliti, e puoi costruire redirect manualmente, ma per un catalogo di qualsiasi dimensione serve un livello di gestione redirect, così la mappa vecchio→nuovo resta manutenibile invece di diventare mille righe di .htaccess che hai paura di toccare. Costruisci la mappa dall'esportazione Search Console recuperata nella fase di inventario. Quella lista è l'insieme degli URL che contano davvero, ordinati per il traffico che generano.
Passaggio 6, Tema: non viene con te
Il tuo tema WooCommerce è specifico per WordPress e non può essere trasferito; i temi sono vincolati alla piattaforma. Tre strade realistiche: usare così com'è il tema moderno predefinito di PrestaShop (Hummingbird) per il lancio più rapido; creare un tema child su Hummingbird per adattarlo al marchio senza separarti dal core; oppure ricostruire l'aspetto attuale pixel per pixel se il riconoscimento da parte dei clienti è importante (un acquirente abituale che arriva su un sito radicalmente diverso a volte pensa di essere nel posto sbagliato). Qualunque scelta tu faccia, questo è un buon momento per non ricreare ogni plugin che avevi. PrestaShop fa nativamente molte cose che in WooCommerce richiedevano una pila di plugin, quindi reintroduci le funzionalità con criterio, non per riflesso. Quali moduli servano davvero per primi a un nuovo negozio è un tema a parte: i moduli che ogni nuovo negozio PrestaShop dovrebbe installare per primi.
Passaggio 7, Il test completo prima del lancio
Prima di cambiare DNS, percorri su staging ogni flusso visibile al cliente come se fossi un acquirente:
- Naviga, filtra per categoria, esegui una ricerca, conferma che le combinazioni mostrino prezzo e scorte corretti.
- Aggiungi al carrello, modifica la quantità, rimuovi, verifica i calcoli del carrello rispetto al vecchio negozio.
- Completa l'acquisto sia come ospite sia come cliente registrato.
- Esegui una transazione reale in modalità test con ogni metodo di pagamento (carta, PayPal, bonifico bancario).
- Conferma che le e-mail di conferma ordine e spedizione vengano effettivamente inviate e siano coerenti con il marchio. I modelli transazionali di PrestaShop sono diversi da quelli di WooCommerce.
- Testa su un telefono reale; il traffico da dispositivi mobili rappresenta la maggioranza delle visite per molti negozi e il layout sarà diverso da WordPress.
- Controlla a campione i redirect dai principali vecchi URL, incollali in un browser e conferma un 301 pulito, non un 404.
- Reintegra strumenti di analisi e tracciamento e verifica che gli eventi vengano registrati; genera la sitemap e mettila in coda per l'invio a Search Console alla messa online.
Le quattro cose che vanno storte dopo il lancio
- Le password dei clienti non migrano in modo pulito, comunicalo. WooCommerce usa l'hashing delle password di WordPress; PrestaShop usa il proprio. Le password non migrano in modo pulito tramite l'importazione nativa; senza un meccanismo ponte personalizzato, i clienti devono reimpostarle. Ogni cliente esistente deve usare "password dimenticata" al primo accesso, quindi invia un'e-mail di avviso durante il passaggio spiegandolo, il silenzio in questo caso sembra un account violato e fa impennare le richieste di assistenza.
- L'IVA non torna. Il disallineamento tra prezzi IVA inclusa e IVA esclusa del passaggio 3 riemerge qui se lo hai ignorato. Prendi dieci prodotti e confronta il totale finale del carrello, IVA inclusa, con quello del vecchio negozio prima di andare online.
- I gateway di pagamento vanno riconfigurati, non sottoscritti di nuovo. Il tuo account Stripe/PayPal funziona su entrambe le piattaforme, ma devi installare i moduli di pagamento PrestaShop e inserire da zero le tue chiavi API. L'account resta; l'integrazione no.
- La recapitabilità delle e-mail riparte da zero. Nuova piattaforma, nuova configurazione di invio, conferma che SPF/DKIM coprano ancora il dominio mittente e che la posta di PrestaShop sia configurata correttamente (SMTP, non PHP mail, per qualsiasi uso serio).
Domande frequenti sulla migrazione da WooCommerce
Perché questa migrazione è più difficile di un generico "esporta qui, importa là"?
Perché WooCommerce è un plugin innestato su un CMS nato per il blogging, quindi i prodotti vivono come post WordPress con i dati reali sparsi nella tabella wp_postmeta, mentre PrestaShop è un motore e-commerce progettato per questo scopo con uno schema normalizzato (ps_product, ps_product_attribute, ps_category_product). L'intero lavoro consiste nel riconciliare queste due visioni, e la difficoltà si concentra in quattro punti: varianti, prezzi/IVA, URL e password dei clienti. Sistemati correttamente quei quattro, il resto è meccanico.
Qual è il bug dello scarto IVA di cui tutti parlano?
WooCommerce può salvare i prezzi IVA inclusa o IVA esclusa in base a un'impostazione che molti proprietari hanno dimenticato di aver toccato. L'importazione di PrestaShop si aspetta per impostazione predefinita prezzi IVA esclusa e applica sopra la regola fiscale. Importa prezzi comprensivi di IVA come se fossero al netto e ogni prodotto risulta improvvisamente sfalsato della tua aliquota IVA, più caro, o più economico se hai indovinato male. Conferma l'impostazione in WooCommerce → Impostazioni → Imposte ("Prezzi inseriti con imposte") prima di importare una sola riga, configura regole fiscali corrispondenti in PrestaShop, poi prendi dieci prodotti e confronta il totale finale del carrello con IVA inclusa rispetto al vecchio negozio prima della messa online.
I miei clienti conservano le loro password?
No. WooCommerce usa l'hashing delle password di WordPress e PrestaShop usa il proprio; senza un meccanismo ponte personalizzato, le password non migrano in modo pulito tramite l'importazione nativa. E-mail, nomi, indirizzi e (se decidi di portarli) storico ordini si spostano correttamente, il segreto di accesso no. Ogni cliente esistente deve usare "password dimenticata" al primo accesso, quindi invia un'e-mail di avviso durante il passaggio spiegandolo. Il silenzio sembra un account violato e fa aumentare le richieste di assistenza.
Come converto le varianti WooCommerce in combinazioni PrestaShop?
È qui che la maggior parte delle migrazioni fai da te si blocca. Un prodotto variabile WooCommerce (un post padre più un post figlio per ogni variante) diventa un prodotto PrestaShop con attributi e combinazioni. L'approccio affidabile prevede due passaggi in Parametri avanzati → Importa: importa prima i prodotti padre con il prezzo base e una combinazione predefinita, poi esegui un'importazione separata Combinazioni collegata tramite riferimento prodotto (SKU) per agganciare la matrice taglia/colore con l'impatto prezzo corretto e le scorte per combinazione. Cercare di comprimere tutto in un unico CSV prodotti è il modo in cui si ottengono prodotti duplicati e giacenze orfane.
Perderò il mio posizionamento su Google?
Solo se salti i redirect. WooCommerce e PrestaShop generano URL strutturalmente diversi, quindi ogni vecchio URL che Google ha indicizzato deve fare un redirect 301 al nuovo equivalente. Costruisci la mappa dall'esportazione Pagine di Search Console (quella lista è l'insieme degli URL che contano, ordinati per traffico), usa un livello di gestione redirect invece di mille righe fragili di .htaccess, e controlla a campione i redirect prima e dopo il lancio. Salta questo passaggio e ti ritrovi 404, perdita di autorevolezza dai link e cali di posizionamento proprio sulle pagine che ti portavano traffico gratuito.
Tempistiche: metti in conto un mese, non un weekend
Per un negozio rappresentativo, circa 500 prodotti con varianti e alcune migliaia di clienti, la migrazione tecnica (esportazione, trasformazione, importazioni ripetute su staging) richiede realisticamente 1-2 settimane di lavoro concentrato. La mappatura URL e il test completo aggiungono un'altra settimana. Metti in conto un mese pieno dall'inizio alla messa online per assorbire le sorprese che ogni catalogo reale nasconde. La tentazione di correre è forte e sempre sbagliata: una migrazione fatta male costa molto di più in vendite perse e mesi di recupero SEO rispetto a una settimana extra. I motivi per cui i negozi scelgono questo passaggio, possedere il proprio stack invece di affittarlo, una piattaforma costruita per l'e-commerce invece che per il blogging, sono trattati in perché abbiamo scelto PrestaShop e perché possedere il proprio codice conta; questa guida riguarda come arrivarci con i dati e il posizionamento intatti. Sistema bene i quattro punti di disallineamento, varianti, IVA, URL, password, e il resto della migrazione è meccanico.
Continua a leggere
- PrestaShop vs WooCommerce, il confronto onesto, se stai ancora decidendo se migrare.
- Passare da Magento a PrestaShop, la stessa disciplina di migrazione applicata a una piattaforma più pesante.
- I moduli che ogni nuovo negozio dovrebbe installare per primi, cosa aggiungere con criterio, invece di ricreare ogni plugin WooCommerce.