Revisionato a giugno 2026, il modello gruppo di negozi / negozio / URL del negozio e la schermata Parametri avanzati → Multistore valgono per PrestaShop 1.7, 8 e 9.

PrestaShop Multistore è la funzione a cui i commercianti pensano quando un negozio diventa tre: una vetrina tedesca, una francese, un canale all'ingrosso. La promessa è interessante, gestirli tutti da un unico pannello di amministrazione, condividere un solo catalogo prodotti, accedere una sola volta. E in larga parte la mantiene. Ma Multistore non è un selettore multilingua e non è un modo per incollare tra loro attività senza alcun legame. È un elemento preciso dell'architettura di PrestaShop, con un proprio modello di contesto, le sue insidie e una decisione (che cosa condividere e che cosa tenere separato) che prendi una volta e con cui convivi per anni. Questa guida parla proprio di quell'architettura e della gestione quotidiana, che cosa offre davvero il back office, dove il contesto negozio può metterti nei guai e quando Multistore è semplicemente lo strumento sbagliato.

Che cos'è davvero Multistore dal punto di vista strutturale

Un cruscotto di controllo centrale collegato da linee luminose a diverse vetrine distinte
PrestaShop Multistore: un back office che funge da hub per guidare diverse vetrine distinte.

Sotto la superficie, PrestaShop Multistore è organizzato su tre livelli annidati. Capirli è ciò che distingue un'amministrazione sicura da modifiche accidentali applicate al negozio sbagliato:

  • Gruppi di negozi (la tabella shop_group, id_shop_group). Un gruppo è il perimetro della condivisione. Clienti, ordini, giacenze disponibili e carrelli possono essere condivisi all'interno di un gruppo, ma mai tra gruppi diversi. Se due negozi devono condividere lo stesso accesso cliente, devono appartenere allo stesso gruppo.
  • Negozi (la tabella shop, id_shop). La singola vetrina: tema proprio, selezione di catalogo propria, valori di configurazione propri.
  • URL dei negozi (la tabella shop_url). Ogni negozio viene raggiunto tramite una o più combinazioni dominio/URI fisico, myshop.de, myshop.fr oppure shop.example.com/de. È questo meccanismo che associa una richiesta in ingresso al negozio corretto.

Attivi l'intero sistema da Parametri avanzati → Multistore (nelle installazioni 1.6 più vecchie si trovava in Preferenze → Generali → Abilita Multistore). Una volta attivo, quasi ogni pagina del back office mostra in alto a sinistra un selettore del contesto negozio, e quel selettore è il controllo più importante di tutta un'installazione Multistore: decide se la modifica che stai per fare finirà su Tutti i negozi, su un gruppo di negozi o su un singolo negozio.

Il modello condiviso e sovrascritto

Il modello di condivisione non è un meccanismo unico e universale, funziona in modo diverso per le entità del catalogo e per la configurazione, e questa distinzione conta. Per dati di catalogo come prodotti, categorie e corrieri, PrestaShop mantiene un record di base e aggiunge una tabella di associazione per negozio, product_shop, category_shop, carrier_shop e così via. Che permette a un determinato negozio di sovrascrivere campi specifici (per un prodotto, elementi come prezzo, stato attivo, reindirizzamento, persino il nome) ereditando il resto. Quindi gestisci davvero un solo prodotto, ma il suo prezzo nel negozio francese e la sua visibilità nel negozio all'ingrosso possono essere diversi. Le impostazioni, invece, non sono righe associate: vivono nella tabella configuration con un ambito di negozio e gruppo di negozi, quindi un valore può essere scritto globalmente, per gruppo o per singolo negozio. Questa sovrascrittura a livelli è il vero vantaggio di Multistore rispetto a installazioni separate: modifichi una volta, differenzi in modo intenzionale.

Quando Multistore è lo strumento giusto

Negozi specifici per Paese su domini diversi

È il caso più pulito. myshop.de, myshop.fr e myshop.es come tre negozi in un unico gruppo, con prodotti e clienti condivisi, ciascuno con tema, valuta predefinita, lingua predefinita e regole fiscali propri. Le giacenze sono condivise, quindi non devi riconciliare tre magazzini. Questo è Multistore usato esattamente per ciò per cui è stato progettato, ma nota il confine netto: Multistore gestisce le vetrine, non ti fornisce da solo valute localizzate correttamente, visualizzazione dei prezzi IVA inclusa per Paese o hreflang. Sono attività separate, trattate in vendere in Europa: lingue, valute e imposte e tag hreflang.

Marchi premium ed economici, un solo magazzino

Stessi prodotti fisici, due vetrine con nomi, temi e fasce di prezzo diversi, alimentate da un unico stock condiviso. La sovrascrittura del prezzo per negozio e del nome prodotto per negozio rende l'operazione questione di pochi clic, invece di duplicare il catalogo.

B2B e B2C affiancati

Un negozio al dettaglio che mostra prezzi IVA inclusa e un negozio all'ingrosso che mostra prezzi netti, quantità minime d'ordine e pagamento tramite fattura, entrambi sulla stessa base dati prodotti. Gruppi clienti più un secondo negozio nello stesso gruppo ti danno giacenze condivise con regole commerciali completamente diverse.

Diversi negozi di nicchia con parziale sovrapposizione dei prodotti

Negozi di giardinaggio, cucina e bagno che condividono una parte del catalogo ma hanno un'identità distinta. È la sovrapposizione a giustificare Multistore; i prodotti condivisi ripagano lo sforzo ogni volta che ne aggiorni uno e la modifica si propaga.

Quando Multistore è lo strumento sbagliato

Vuoi solo aggiungere altre lingue

Questo è l'errore più comune. PrestaShop è multilingua all'interno di un singolo negozio, ogni campo traducibile (nome prodotto, descrizione, CMS, meta) viene salvato per lingua nelle tabelle _lang, e le lingue si aggiungono da Internazionale → Localizzazione → Lingue. Se ti serve solo una versione inglese più una francese agli stessi prezzi, Multistore aggiunge inutilmente la gestione dei contesti. Fallo nel modo standard, vedi configurazione di un negozio multilingua.

I negozi non hanno davvero nulla in comune

Cibo per animali ed elettronica, nessun prodotto condiviso, nessun cliente condiviso, nessuna operatività condivisa. In questo caso Multistore ti dà il costo della complessità senza alcun beneficio di condivisione. Due installazioni separate sono più facili da comprendere, più semplici da salvare con backup indipendenti e impossibili da contaminare con una modifica fatta nel contesto sbagliato. Multistore si giustifica grazie alla sovrapposizione; con sovrapposizione zero è solo peso in più.

Una sola persona, già al limite

Ogni modifica in Multistore porta con sé la domanda "in che contesto mi trovo?". Un gestore solitario che dimentica una volta il selettore può applicare un prezzo o uno stato disattivato a tutti i negozi. Se il team è piccolo e la disciplina operativa non è ancora consolidata, il carico mentale può costare più di installazioni separate.

Il contesto negozio: dove Multistore diventa davvero delicato

Il selettore di contesto non è una comodità. È un ambito attivo che cambia ciò che fa il pulsante Salva:

[SCREENSHOT: Menu a discesa del selettore del contesto negozio in alto a sinistra nel back office, aperto, con "Tutti i negozi", un gruppo di negozi e singoli negozi come ambito selezionabile]
ContestoChe cosa fa un salvataggioQuando usarlo
Tutti i negoziScrive il valore su ogni negozio contemporaneamente (e imposta il record condiviso/predefinito)Una modifica davvero globale, una nuova regola fiscale per tutti i negozi, un'impostazione che vuoi ovunque
Gruppo di negoziSi applica a ogni negozio di quel gruppoImpostazioni che devono essere identiche in un gruppo di mercato, ma non negli altri
Singolo negozioScrive una sovrascrittura per negozio; gli altri negozi mantengono il proprio valoreIl prezzo francese, il tema tedesco, la pagina iniziale di un solo negozio

Nelle pagine prodotto, categoria e configurazione, quando sei nel contesto di un singolo negozio vedrai una piccola casella di spunta accanto a molti campi: è il selettore di sovrascrittura. Se la spunti, il campo si stacca dal valore condiviso solo per questo negozio. Se la lasci vuota, il negozio eredita. La regola pratica che seguiamo sempre: leggi ad alta voce il selettore di contesto prima di fare clic su Salva. Modificare in modalità "Tutti i negozi" quando intendevi intervenire su un solo negozio è l'errore Multistore più costoso, e non genera alcun errore. Fa semplicemente, in silenzio e ovunque, esattamente ciò che gli hai detto di fare.

Condivisione dei dati: la decisione che prendi una volta

Per ogni tipo di dato scegli se condividere o separare quando crei il negozio, e cambiare idea in seguito significa fare una migrazione. I valori predefiniti più realistici sono questi:

  • Prodotti, di solito condivisi. Un catalogo, con sovrascritture per negozio su prezzo, nome e visibilità. È il vantaggio principale in termini di efficienza.
  • Clienti e carrelli, condivisi all'interno di un gruppo quando la stessa persona deve poter accedere in tutti i tuoi mercati; separati (gruppi diversi) per marchi realmente distinti, dove un'unica identità non avrebbe senso.
  • Ordini, mantengono sempre il negozio di origine (ogni ordine porta il proprio id_shop). Se il gruppo di negozi è configurato per condividere gli ordini, questi possono essere visibili e condivisi all'interno di quel gruppo; altrimenti un ordine resta limitato al proprio negozio. In entrambi i casi puoi visualizzare e gestire gli ordini di tutti i negozi da un'unica lista Ordini, ed è qui che si concretizza il vantaggio dell'evasione centralizzata.
  • Quantità disponibili (giacenze). Possono essere condivise all'interno di un gruppo di negozi quando l'opzione "condividi le quantità disponibili" del gruppo è attiva: è ciò che rende praticabili gli scenari con un solo magazzino. In caso contrario, le giacenze restano separate per negozio.
  • Categorie e CMS, condivisibili, ma spesso conviene separarli: un albero prodotti condiviso, ma pagine legali localizzate e una pagina iniziale specifica per Paese.

Il problema della compatibilità dei moduli

Questo è il rischio pratico più grande, ed è reale. La compatibilità di un modulo con Multistore non è automatica. Deve essere sviluppata esplicitamente. Un modulo che ignora Multistore:

  • Ignora il contesto negozio e applica ogni modifica a tutti i negozi, perché legge e scrive la configurazione con Configuration::get() / Configuration::updateValue() senza passare l'id del negozio o rispettare Shop::CONTEXT_SHOP.
  • Salva le impostazioni globalmente, quindi non puoi dare valori diversi a due negozi, il secondo sovrascrive il primo.
  • Crea le proprie tabelle di database senza una colonna id_shop, rendendo i suoi dati inevitabilmente condivisi anche quando dovrebbero essere per negozio.
  • Funziona bene sul negozio principale e si rompe, o lascia filtrare dati in silenzio, in qualsiasi altro contesto negozio.

Un modulo ben costruito legge le impostazioni con l'id del negozio (Configuration::get('MY_KEY', null, $id_shop_group, $id_shop) tramite il contesto negozio), aggiunge id_shop alle proprie tabelle e registra gli hook per negozio. Prima di adottare Multistore, verifica ogni modulo da cui dipendi su questi punti. Controlla la documentazione, chiedi direttamente allo sviluppatore e, non negoziabile, fai un test in un'installazione di staging con almeno due negozi prima di costruire l'ambiente reale. Scoprire che un modulo critico non è compatibile con Multistore dopo aver configurato tre negozi in produzione è davvero un brutto pomeriggio.

È esattamente per questo che sviluppiamo nel modo in cui sviluppiamo. Le nostre suite di moduli sono pensate per rispettare il contesto negozio fin dal livello dati, così un'impostazione modificata nel negozio francese resta nel negozio francese e le tabelle di un modulo portano il loro id_shop, invece di distribuire dati indistintamente su ogni negozio. È la differenza tra un'installazione Multistore di cui ti puoi fidare e una in cui ogni salvataggio di configurazione è una piccola scommessa, che tu gestisca gestione SEO, fatturazione o contenuti nel negozio su più negozi. Verifica sempre modulo per modulo, ma il punto di acquistare da uno sviluppatore che testa scenari con più negozi è proprio non ereditare il problema di compatibilità descritto sopra.

Valute, bandiere e dettagli della vetrina per singolo negozio

Multistore assegna a ogni negozio una propria valuta predefinita e un proprio insieme di lingue abilitate, ma gli elementi visibili al cliente, il selettore di valuta, le bandiere delle lingue, il modo in cui un visitatore di ritorno arriva al negozio corretto. Sono lavoro di front office costruito sopra Multistore, non dentro Multistore. Curare questi piccoli dettagli è ciò che evita la fuga di un visitatore internazionale; ne parliamo in selettore valuta e bandiere lingua, mentre la meccanica completa dei prezzi in più valute è trattata nella guida alla configurazione multi-valuta.

Consigli pratici di gestione

  • Leggi il selettore di contesto prima di ogni salvataggio. È l'abitudine che previene l'errore Multistore più costoso. Considera "Tutti i negozi" un'impostazione da maneggiare con estrema attenzione.
  • Dai alle risorse specifiche un nome legato al negozio. banner-myshop-de.jpg, non banner.jpg. Quando carichi loghi e immagini del tema per singolo negozio, il nome del file è l'unico promemoria del negozio in cui ti trovi.
  • Testa nel contesto di ogni negozio. Una modifica al tema che appare corretta sul Negozio A può rompere il Negozio B con un tema o una configurazione modulo diversa. Dopo una modifica, guarda il front office in produzione di ogni negozio, non solo quello principale.
  • Fai un backup prima delle modifiche strutturali. Una modifica nel contesto sbagliato può propagarsi a tutti i negozi in una volta; un dump recente del database è il tuo pulsante Annulla.
  • Documenta la mappa dei negozi. Quali negozi stanno in quale gruppo, che cosa è condiviso e che cosa è sovrascritto, quali moduli sono specifici per negozio. Quando qualcosa si rompe o arriva una nuova persona nel team, questo è il documento che salva la giornata.
  • Controlla la mappatura shop_url. Impostazioni SSL, flag dell'URL principale e URI fisico/virtuale per negozio sono facili da configurare male e possono generare loop di reindirizzamento o caricare il negozio sbagliato. Verificali in Parametri avanzati → Multistore → URL di ciascun negozio.

Considerazioni sulle prestazioni

Ogni query Multistore porta con sé un filtro negozio, PrestaShop effettua join con le tabelle di associazione _shop e filtra per id_shop nella maggior parte delle letture di catalogo e configurazione. Per due o tre negozi con cataloghi normali, questo costo è trascurabile. Con più di dieci negozi e cataloghi ampi diventa misurabile, e la soluzione è la normale igiene del database: assicurati che esistano indici sulle colonne id_shop delle tabelle di associazione più pesanti, tieni sotto controllo il numero di categorie e prodotti e sfrutta la cache a pagina intera, così il front office non deve rieseguire query filtrate per negozio a ogni richiesta. Misura sulla tua installazione, abilita Multistore, poi osserva i tempi delle query nel profiler di debug prima di dare per scontato che ci sia un problema.

Domande frequenti

Multistore è il modo giusto per aggiungere altre lingue?

No. Questo è l'errore più comune. PrestaShop è multilingua all'interno di un singolo negozio: ogni campo traducibile viene salvato per lingua nelle tabelle _lang, e le lingue si aggiungono da Internazionale → Localizzazione → Lingue. Se ti serve solo lo stesso catalogo agli stessi prezzi in inglese e francese, Multistore aggiunge inutilmente la gestione dei contesti. Usa i campi multilingua integrati, vedi configurazione di un negozio multilingua. Scegli Multistore solo quando i mercati richiedono cataloghi, strutture di prezzo o branding realmente diversi.

Qual è l'errore Multistore più costoso?

Salvare nel contesto "Tutti i negozi" quando intendevi un solo negozio. Il selettore di contesto (in alto a sinistra) è un ambito attivo: in modalità "Tutti i negozi", un salvataggio scrive il valore su ogni negozio contemporaneamente e non produce alcun errore. Fa semplicemente, in silenzio e ovunque, esattamente ciò che gli hai detto di fare. L'abitudine che lo evita è semplice: leggi ad alta voce il selettore di contesto prima di fare clic su Salva, e considera "Tutti i negozi" un'impostazione da maneggiare con estrema attenzione.

I miei negozi possono condividere clienti e giacenze?

All'interno di un gruppo di negozi, sì. Un gruppo di negozi è il perimetro della condivisione. Clienti, carrelli e giacenze disponibili possono essere condivisi all'interno di un gruppo, ma mai tra gruppi diversi. Quindi, se due negozi devono condividere lo stesso accesso cliente, devono stare nello stesso gruppo, e lo stock condiviso (quando l'opzione "condividi le quantità disponibili" del gruppo è attiva) è ciò che rende praticabili gli scenari con un solo magazzino. Gli ordini mantengono sempre l'id_shop del negozio di origine, ma puoi elaborare gli ordini di tutti i negozi da un'unica lista Ordini.

Come faccio a sapere se un modulo è sicuro da usare su più negozi?

Devi verificarlo. La compatibilità con Multistore non è automatica, lo sviluppatore deve costruirla. Un modulo che ignora il contesto negozio applicherà ogni modifica a tutti i negozi, salverà le impostazioni globalmente impedendo a due negozi di differire, oppure creerà tabelle senza una colonna id_shop, rendendo i suoi dati inevitabilmente condivisi. Un modulo ben costruito legge le impostazioni con l'id del negozio (Configuration::get('MY_KEY', null, $id_shop_group, $id_shop)), aggiunge id_shop alle proprie tabelle e registra gli hook per negozio. Testa ogni dipendenza in un'installazione di staging con almeno due negozi prima di costruire l'ambiente reale. Le nostre suite di moduli sono scritte per rispettare il contesto negozio fin dal livello dati, che tu gestisca gestione SEO, fatturazione o contenuti nel negozio sui tuoi negozi.

Multistore gestisce per me valute, imposte e hreflang per Paese?

No, Multistore gestisce le vetrine. Ogni negozio ottiene una propria valuta predefinita e un proprio insieme di lingue abilitate, ma visualizzazione della valuta localizzata correttamente, prezzi IVA inclusa per Paese e hreflang tra domini separati sono attività distinte costruite sopra Multistore. Vedi vendere in Europa per valute e imposte, e tag hreflang per la segnalazione SEO tra domini che PrestaShop non assembla automaticamente tra negozi.

Letture correlate

In sintesi

Multistore è la risposta giusta quando i tuoi negozi si sovrappongono davvero, prodotti condivisi, clienti condivisi, stock condiviso, e vuoi differenziare intenzionalmente vetrina, prezzi e branding sopra quel nucleo comune. È la risposta sbagliata per "mi servono solo più lingue" (usa i campi multilingua integrati) e per attività realmente separate (usa installazioni separate). Prendi correttamente fin dall'inizio la decisione tra condividere e separare, rispetta sempre il selettore di contesto, verifica che i moduli siano consapevoli del negozio prima di costruire l'ambiente, e Multistore trasforma l'amministrazione equivalente a tre installazioni in una sola. La disciplina di configurazione è il prezzo; la semplicità operativa quotidiana è ciò che acquisti.

Per una procedura passo passo sulla creazione del tuo primo gruppo di negozi e del primo negozio, consulta la nostra guida della base di conoscenza Come configurare PrestaShop Multistore.

Condividi questo articolo:
David Miller

David Miller

Fondatore, mypresta.rocks

David Miller è uno specialista PrestaShop con oltre dieci anni di esperienza sul campo e fondatore di mypresta.rocks, uno studio di sviluppo con sede a Tychy, in Polonia. Progetta e mantiene un catalogo di 152 moduli PrestaShop, tra cui 21 suite « Revolution » dedicate a SEO, checkout, sicurezza, performance, marketing, ricerca, supporto e gestione del magazzino, che ogni giorno migliorano negozi reali, testati su PrestaShop 1.7.8, 8.x e 9.x. Si occupa inoltre della gestione di negozi in produzione che generano milioni di fatturato annuo, perciò il suo lavoro si misura sulle vendite reali, non sulle demo. La sua esperienza abbraccia l'intero e-commerce, performance, sicurezza, SEO e marketing, e va oltre PrestaShop, fino a WooCommerce, Shopify e sistemi su misura. Sul blog scrive del lato tecnico di PrestaShop: cosa fa davvero la piattaforma, cosa si rompe in produzione e quali soluzioni reggono nel tempo.

Commenti

Ancora nessun commento. Sii il primo!
Ti è piaciuto questo articolo?

Ricevi i nostri ultimi consigli, guide e aggiornamenti dei moduli nella tua casella di posta.

Puoi annullare l'iscrizione in ogni momenti. A questo scopo, cerca le info di contatto nelle note legali.

Caricamento...
Torna su