Come esportare e importare gli ordini e i prodotti di WooCommerce senza plugin

Come esportare e importare gli ordini e i prodotti di WooCommerce senza plugin

La guida ideale per chi vuole esportare e importare gli ordini e i prodotti di WooCommerce da uno store a un altro in modo semplice e pulito.

Pubblicato il Scritto da Matteo Feduzi Sito Web, WordPress 15 commenti

Stavo lavorando al sito di un cliente quando mi trovo nella situazione di esportare e importare gli ordini e i prodotti di WooCommerce da un vecchio store a un nuovo store.

Semplice, no? Basta che scarico uno dei tanti plugin e il gioco è fatto.

E invece no, perché nella maggior parte dei casi sono dei plugin orrendi, a pagamento o che generano più casino che altro.

Dunque in questa guida ti mostro come esportare e importare gli ordini e i prodotti di WooCommerce da uno store a un altro senza alcuna fatica direttamente utilizzando il database e dunque senza scaricare alcun plugin, ma specialmente effettuando un procedimento il più pulito possibile.

Sei pronto? Si parte, eureka! 😉

Come esportare gli ordini WooCommerce del vecchio store

Per prima cosa andiamo nel database del vecchio store.

Se hai vari database e non conosci quale database stai utilizzando vai sul sito in questione all’interno della bacheca WordPress, poi seleziona “Strumenti” > “Salute del sito (Site Health)”, clicca “informazioni” e qui apri il pannello “Database”. Alla voce “Nome del database” troverai il nome del database utilizzato dal sito.

Ora torna nel gestionale che utilizzi per gestire i database (molto probabilmente phpMyAdmin).

Puoi raggiungere phpMyAdmin o il programma analogo che utilizza il tuo hosting direttamente entrando sul pannello di controllo grafico (solitamente cPanel o Plesk) e selezionando sotto la categoria “DATABASE” l’apposita voce.

Ora sei correttamente su phpMyAdmin, seleziona il database del vecchio store che abbiamo trovato prima e seleziona la voce SQL. Ti dovresti trovare davanti alla schermata seguente.

Inserisci la seguente query e clicca sul bottone “Esegui” in basso a destra.

SELECT * FROM wp_posts WHERE post_type="shop_order"

Assicurati di cambiare il prefisso “wp” di “wp_posts” con il tuo prefisso. Puoi capire quale sia il prefisso delle tue tabelle guardando il prefisso della maggior parte delle altre tue tabelle, direttamente su WordPress sotto il “Nome del database”, dal file wp-config.php e altro ancora.

Assicurati in tutti i casi che il nome della tabella del vecchio sito sia diversa da quella del nuovo sito nel caso in cui esista già. Se così non fosse cambia il nome della tabella nel vecchio sito.

Così facendo riporterai tutti gli ordini. Esportali selezionando la voce “Esporta” sotto “Operazioni sui risultati della query”.

Assicurati di cliccare la voce corretta. Se clicchi qualsiasi altro “esporta” esporterai tutto ciò che è contenuto all’interno della tabella “wp_posts”.

Poi seleziona “Personalizzato”, imposta la compressione nel formato gzip, scorri fino alla fine della pagina e fai clic su esporta come nell’immagine che segue.

Ora abbiamo il file che contiene tutti gli ordini, ma dobbiamo esportare anche i metadati dei vari ordini. Per farlo eseguiamo la seguente query ed esportiamo come per il metodo precedente:

SELECT * FROM wp_postmeta WHERE post_id in(SELECT ID FROM wp_posts WHERE post_type="shop_order")

Come sempre ricordati di cambiare il prefisso delle tabelle. Potresti anche avere solamente “wp” come prefisso, ma molti hosting per rafforzare la sicurezza aggiungono qualcos’altro come “wpo7”. Considera che non ripeterò questa cosa nei passaggi successivi, ma dovrai sempre farlo.

Ottimo, ora abbiamo due file. Il file SQL degli ordini e dei metadati degli ordini. Ci mancano solamente altri due file e poi possiamo importare il tutto sul nuovo store.

Eseguiamo dunque la seguente query ed esportiamo i risultati come per le altre due esportazioni:

SELECT * FROM wp_woocommerce_order_items

E infine eseguiamo questa ed esportiamo sempre come per i punti precedenti:

SELECT * FROM wp_woocommerce_order_itemmeta

Ottimo, that’s it! Adesso non ci resta altro che passare all’importazione.

Come importare gli ordini WooCommerce nel nuovo store

Se lo store è completamente nuovo e non hai ancora apportato nessuna aggiunta come transazioni, nuove pagine o articoli e altro, è molto semplice importare tutto. Non dovrai far altro che andare su phpMyAdmin > database del nuovo store > importa.

Qui scegli ed esegui uno ad uno i 4 file di esportazione in tuo possesso.

Se esistono già queste 4 tabelle rimuovile prima dell’importazione.

Ottimo, anche qui il gioco è fatto!

Ma cosa succede nel caso tu stia facendo l’importazione su uno store già live o che ha già varie modifiche? In questo caso dovrai unire le tabelle importare con le tabelle già esistenti. Per farlo importa le 4 tabelle e poi per ognuna vai sulla tabella in questione > Operazioni e nel box alla voce “Copia la tabella in (database.tabella)” indica la tabella in cui vuoi portare i dati e indica che vuoi portare “Solo i dati”.

Ottimo, hai appena completato l’importazione.

Come esportare i prodotti WooCommerce del vecchio store

Abbiamo appena finito di importare gli ordini, ma cosa ne è dei prodotti? Vediamo subito come recuperarli. Per prima cosa eseguiamo questa query:

SELECT * FROM wp_posts WHERE post_type="product"

Le query che escono fuori dovrebbe corrispondere al numero dei prodotti che hai sul vecchio store, esporta il risultato con il classico metodo.

Come per gli ordini ora però abbiamo bisogna di esportare anche i metadati dei prodotti:

SELECT * FROM wp_postmeta WHERE post_id in(SELECT ID FROM wp_posts WHERE post_type="product")

Ottimo, ora esporta anche le seguenti tabella: wp_wc_order_product_lookup, wp_wc_product_meta_lookup e wp_woocommerce_downloadable_product_permissions.

Questo serve a riprendere le transazioni avvenute con i relativi prodotti, i loro meta dati e i permessi di download.

Ora dovresti possedere 5 file di esportazione e siamo pronti per importarli sul nuovo store.

Come importare i prodotti WooCommerce nel nuovo store

Per le ultime tre tabelle che abbiamo esportato l’importazione è molto più semplice. Basta andare nel pannello “importa” e importare uno a uno il file di esportazione.

Per le prime due tabelle invece bisognerà seguire il procedimento di unificazione della tabella già esistente con quella da importare.

Fatto. Semplice, vero?

Conclusioni

Questa guida per esportare e importare gli ordini e i prodotti di WooCommerce è nata dal momento in cui, cercando in rete, non sono riuscito a trovare delle informazioni precise che portassero al risultato mostrato.

In tutti i casi ogni articolo consigliava un plugin, ma testandoli mi rendevo conto di quanto andassero a riempire il database duplicando a volte alcune informazioni.

È così che ho deciso di creare una guida il più pulita possibile che mostra come esportare e importare solo i dati essenziali.

Se hai trovato utile questa guida condividila con chi come te potrebbe trovarla utile e non dimenticare di lasciare un commento semplicemente anche solo per fare un saluto 😉

15Commenti
Lascia un commento
  1. Riccardo

    Molto chiaro e utile, io personalmente ho risolto facendo uso di Connecteed, che mi consente di unificare listini e formattare i csv. Molto utile sapere come funziona il workflow dietro a questi feed manager.

    1. Matteo Feduzi

      Ciao Riccardo, grazie mille, sono contento che hai trovato utile il post! 😉

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *