Saltare ordini e prodotti WooCommerce

Se usi l’ultima versione di WooCommerce, puoi attivare le tabelle WooCommerce personalizzate (HPOS) e saltare la maggior parte dei passaggi di questo articolo e seguire istruzioni più semplici.

Leggi invece questi due articoli:
– Come trasferire prodotti e clienti WooCommerce dal sito live al sito di staging
– Come escludere gli ordini WooCommerce dalla copia sul sito live con HPOS

Come impedire la sovrascrittura di ordini e prodotti WooCommerce durante il push

Ogni volta che usi WP STAGING per pubblicare dati dal sito di staging al sito live, devi assicurarti che gli ordini, i clienti e i prodotti WooCommerce sul sito live non siano interessati in alcun modo e rimangano intatti.

Quindi qual è il modo migliore per impedire che questi dati vengano sovrascritti durante il processo di push?

La risposta breve è: non puoi escludere che questi dati vengano copiati sul tuo sito di staging e non puoi fondere automaticamente ordini e prodotti WooCommerce dai siti live e di staging. Ma fortunatamente, c’è un modo per non perdere ordini e prodotti sul sito di produzione, ma richiede lavoro manuale.

Importante: alcuni Plugin sostengono di poter unire automaticamente, ma non crederci. Li abbiamo testati tutti, ed è tecnicamente impossibile eseguire una tale fusione automaticamente e in modo affidabile.

 

Ancora peggio, alcuni Plugin sostengono di essere in grado di eseguire tale fusione, solo per scoprire che ordini e prodotti sono stati sovrascritti senza alcun avviso. Quindi, questo può distruggere l’integrità dei dati e non te ne accorgerai nemmeno se non controlli ogni ordine e prodotto dopo una tale fusione.

Per prima cosa, dobbiamo capire dove WooCommerce e WordPress memorizzano ordini, prodotti, dati utente come gli indirizzi dei clienti e tutti gli altri dati come articoli e pagine:

  • Ordini e prodotti sono memorizzati nelle tabelle wp_posts e wp_postmeta separati da un campo custom post type chiamato ‘orders’.
  • Anche WordPress memorizza la maggior parte dei suoi dati come pagine, articoli e persino voci di menu e tutto il resto nelle stesse tabelle wp_posts e wp_postmeta
  • Gli utenti sono memorizzati in wp_users e wp_usermeta

Molte altre tabelle WooCommerce personalizzate contengono dati come aliquote fiscali, voci d’ordine e impostazioni generali di WooCommerce.

Ogni nome di tabella del sito di staging inizia con il prefisso  wpstg(x)_

I nomi delle tabelle WooCommerce iniziano con lo stesso prefisso, ma iniziano anche con _woocommerce come wpstg(x)_woocommerce_

La x nel prefisso della tabella è il numero del tuo sito di staging. Quindi, se hai più siti di staging, quel numero verrà incrementato come wpstg1_, wpstg2_ e così via.

Se vuoi migrare dati specifici dal tuo sito di staging al sito di produzione senza influire sui dati transazionali, hai tre opzioni:

Opzione 1) Esporta ordini, dati utente e altri dati transazionali dal sito live e importali nel sito di staging prima di migrare il sito di staging in produzione.
Questo ti permette di copiare l’intero sito di staging.
Questo è il modo consigliato se non hai conoscenza della struttura interna del database. Spieghiamo qui sotto come si può fare.

Opzione 2) Escludi tutte le tabelle del database tranne la tabella _options e seleziona solo le cartelle dei Plugin e dei Theme che vuoi pubblicare sul sito di staging. Andando su questa strada ti assicuri di non sovrascrivere o perdere mai dati sul sito di produzione generati dopo la creazione del sito di staging. La maggior parte dei Plugin memorizza anche le proprie impostazioni nella tabella _options. Quindi anche questo migrerà le impostazioni del Plugin sul sito live.
Importante: qualsiasi altro dato mancante che è incluso nelle tabelle _posts e _postmeta deve essere creato di nuovo manualmente sul sito live da te dopo il push.

Opzione 3) Escludi tutte le tabelle del database modificate dal processo di push. Andando su questa strada, non migrerai l’intero sito di staging, inclusi i suoi dati!
A seconda delle tabelle escluse (es. _posts, _postmeta), questo può portare a immagini mancanti e persino elementi di layout sul tuo sito di produzione. Questo accade principalmente se usi un editor visuale come WPBakery (precedentemente noto come visual composer)  o Elementor perché questi editor memorizzano i loro design nelle tabelle del database _posts e _postmeta.

Nota: l’opzione 1 è il modo consigliato.

La migliore opzione è esportare i dati di ordini e prodotti usando un Plugin di esportazione/importazione separato sul sito di produzione e poi importare i dati di nuovo nel sito di staging prima di fare il push.

Prima di esportare e importare qualsiasi ordine dal tuo sito live al live, è altamente consigliato creare un altro sito di staging per testare l’intero processo prima di fare l’import e l’export sul sito di staging principale!


Guida rapida:

  1. Metti il tuo sito in modalità manutenzione.
  2. Installa il Plugin “WooCommerce Sequential Order Numbers” sui siti di produzione e di staging.
  3. Installa il Plugin “Order Export & Order Import for WooCommerce” sui siti di produzione e di staging.
  4. Esporta gli ordini WooCommerce dal sito di produzione.
  5. Elimina tutti gli ordini sul sito di staging.
  6. Importa gli ordini nel sito di staging.
  7. Pubblica il sito di staging sul sito di produzione.

Guida passo passo

Prima di procedere, dovrai installare due Plugin di terze parti:

Dovrai installare il Plugin “WooCommerce Sequential Order Numbers” per assicurarti che i numeri d’ordine non cambino in un’importazione.

Esportare e importare ordini potrebbe cambiare l’ID dell’ordine degli ordini importati perché l’ID ordine di WooCommerce si basa sul post ID di WordPress, un numero univoco in WordPress. Quindi, se il post ID sul tuo sito di staging è già usato da un articolo o qualsiasi altro elemento, l’ordine importato otterrebbe un nuovo ID. Quindi questo potrebbe risultare in un nuovo ID ordine per un ordine importato.

Quindi, per mantenere l’ID ordine intatto così com’è, dovrai usare il Plugin “WooCommerce Sequential Order Numbers”. 

Questo Plugin aggiunge una nuova voce nel database per memorizzare l’id dell’ordine in un campo separato. Ciò permette al tuo sito di mantenere l’id dell’ordine separato e indipendente dal post id.

  • Accedi al tuo sito di produzione
  • Vai a WebToffee Import Export > Export 
  • Seleziona “Order” come in questo screenshot:

Poi scegli “Quick” nel passo successivo e clicca su “Export”. Questo genererà un file CSV che puoi memorizzare sul tuo computer.

  • Vai sul tuo sito di staging > WooCommerce > Orders.
  • Seleziona lì tutti gli ordini, poi spostali nel cestino. (Questo è importante, dato che li importerai tutti di nuovo nel prossimo passo, dal file che hai esportato sopra dal sito live).
  1. Vai sul tuo sito di staging.
  2. Apri WebToffee Import Export > Import

  3. Poi scegli “Quick”, carica il file .csv esportato sopra e clicca “Import”, come mostrato in questo screenshot:

Dopo questo passo, tutti gli ordini dovrebbero essere importati nel sito di staging e il tuo sito di staging è pronto per essere pubblicato sul sito live seguendo questa guida.

IMPORTANTE: a volte, quando importi ordini nel sito di staging, potrebbe verificarsi un conflitto tra gli ID degli ordini e gli ID di articoli/pagine/allegati. Questo accade perché hai aggiunto nuovi articoli/pagine o qualsiasi altro contenuto sul sito di staging.

Se è successo, vedresti qualcosa come in questo screenshot durante il processo di importazione:

In tal caso, devi modificare il file .csv esportato usando Excel o il software per fogli di calcolo LibreOffice Calc. Vale la pena menzionare che LibreOffice Calc gestisce meglio questi file, ma assicurati di selezionare la codifica UTF-8 mentre apri e salvi il file. Una volta aperto il file, puoi modificare gli ID degli ordini in conflitto con qualsiasi numero più alto non ancora usato dai post ID del tuo sito WordPress, oppure eliminare i loro valori e ne otterranno di nuovi durante l’importazione:

Poi, reimporta il file e tutti gli ordini dovrebbero essere importati con successo. 

Suggerimento: potresti dover fare la stessa cosa con prodotti WooCommerce o utenti. Per farlo, consigliamo di usare questi Plugin:

Un’altra opzione per escludere gli ordini dalla sovrascrittura è saltare tutte le tabelle che contengono ordini e prodotti WooCommerce dal push. Dovresti almeno escludere le tabelle qui sotto prima di pubblicare il sito di staging sul sito di produzione:

  • wpstg1_posts
  • wpstg1_postmeta
  • wpstg1_users
  • wpstg1_usermeta
    Tutte le tabelle che iniziano con:
  • wpstg1_woocommerce_

Sfortunatamente, questa selezione di tabelle escluderebbe articoli e qualsiasi altro dato memorizzato nelle tabelle _posts e _postmeta del nostro sito WordPress. Ad esempio, pagine, articoli, voci di menu e altri dati relativi agli articoli sarebbero esclusi e non copiati sul sito di produzione.

Quindi, segui questo passo solo quando non modifichi alcun dato sul tuo sito di staging che devi migrare sul sito di produzione.

Vedi anche: riferimento alle tabelle del database WooCommerce.

Parole chiave: WooCommerce, Escludere ordini WooCommerce, Escludere prodotti WooCommerce

Articoli correlati

Updated on Maggio 23, 2026

Rene Hermenau

Autore: Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.