DataFirefly Staging Pro — Guida completa
Creare, proteggere e pubblicare in produzione uno staging PrestaShop 8 e 9: procedura guidata in 4 passaggi, controllo dello spazio su disco, avanzamento in tempo reale, backup e annullamento.
Staging Pro crea una copia completa del tuo negozio (file e database) per testare moduli, temi e aggiornamenti senza rischi, e poi pubblicare le modifiche in produzione. Dalla versione 2.0.0 lo spazio su disco viene verificato prima e durante la copia: la copia non può più riempire il disco del tuo hosting. Questa guida copre l’installazione, la procedura guidata di creazione, la sicurezza dello spazio su disco, la protezione dello staging, la pubblicazione in produzione, i backup e la risoluzione dei problemi.
Installazione e aggiornamento
- Scarica
dfstagingpro-2.0.0.zipdal tuo account DataFirefly. - Back office di PrestaShop → Moduli → Gestione moduli → Carica un modulo, quindi carica il file ZIP.
- Apri Parametri avanzati → Staging Pro.
Per aggiornare dalla versione 1.x, carica semplicemente il nuovo file ZIP. L’aggiornamento aggiunge le nuove colonne, i nuovi hook e le impostazioni predefinite, e rimuove dai vecchi log le password HTTP che vi comparivano in chiaro. I tuoi staging esistenti restano elencati, con un badge «1.x», e restano gestibili: aggiornare, pubblicare in produzione, annullare, eliminare.
Compatibile con PrestaShop dalla 8.0 alla 9.x. PHP deve poter scrivere nella cartella del negozio e l’utente MySQL deve avere i diritti CREATE, DROP, ALTER e INSERT, come avviene in un’installazione standard. Nessuna dipendenza Composer.
La dashboard
In alto, la pagina del modulo mostra cinque indicatori: numero di ambienti, spazio usato dagli staging, spazio libero su disco, durata dell’ultima copia e backup di pubblicazione. Le schede danno accesso agli ambienti, alla procedura guidata di creazione, ai backup e alle impostazioni.
Ogni ambiente è presentato in una scheda: indirizzo dello staging, cartella, prefisso delle tabelle, dimensione (file e database), data e durata dell’ultima copia, badge di protezione, utente e password HTTP (nascosta, con i pulsanti Mostra e Copia) e link di accesso privato. Le azioni disponibili sono Apri, Aggiorna, Pubblica in produzione, Annulla ultima pubblicazione, Log ed Elimina.

Una copia non riuscita resta visibile con il motivo dell’errore, ad esempio la mancanza di spazio su disco, e la conferma che la copia parziale è stata eliminata. Il pulsante Riprova rilancia i controlli preliminari e poi la copia.
Creare uno staging: la procedura guidata in 4 passaggi
Passaggio 1: posizione
Inserisci un nome (lettere minuscole, cifre e trattini, ad esempio v2). L’indirizzo dello staging viene mostrato in tempo reale. Scegli poi:
- Sottocartella del negozio (consigliato): lo staging viene creato in
/staging-nome/, nulla da configurare. - Cartella e indirizzo personalizzati (sottodominio): per un sottodominio come
staging.example.com, creato prima nel pannello dell’hosting e puntato a una cartella vuota. - Stesso database, prefisso delle tabelle dedicato (
dfs1_,dfs2_…), oppure Database separato sullo stesso server, da creare in anticipo e da rendere accessibile all’utente MySQL del negozio.

Passaggio 2: dati e protezione
- Escludere i dati statistici (selezionato per impostazione predefinita): visite, connessioni e log non vengono copiati, le tabelle vengono create vuote.
- Escludere i dati dei clienti (GDPR): clienti, indirizzi, ordini, carrelli e messaggi non vengono copiati.
- Condividi le immagini con il negozio in produzione: la cartella
img/viene collegata invece di essere copiata. Si risparmia molto spazio, ma un’immagine modificata sullo staging cambia anche nel negozio in produzione. - Password HTTP (Apache, LiteSpeed), Link di accesso privato (tutti i server, nginx compreso) e Modalità manutenzione.
- Pagamenti: i moduli di pagamento online vengono disattivati sullo staging. I metodi offline (bonifico, assegno, contrassegno) restano disponibili per effettuare ordini di prova.
- Moduli sensibili: i moduli attivi dell’elenco (attività cron, sincronizzazioni ERP o newsletter, tracciamento, fatturazione ricorrente) vengono proposti per la disattivazione, solo sullo staging.
Tre protezioni sono sempre attive: noindex, blocco di tutte le e-mail e banner STAGING.

Passaggio 3: controlli preliminari
Il modulo analizza il tuo negozio: i file vengono misurati senza essere letti, il che richiede pochi secondi anche per un negozio di grandi dimensioni, poi la dimensione del database viene letta da information_schema. Il rapporto mostra:
- lo spazio su disco necessario e disponibile, con un indicatore (dimensione della copia, margine di sicurezza, spazio lasciato libero per il negozio);
- lo spazio del disco del database, quando il server MySQL è locale e misurabile;
- la dimensione stimata (file e database) e, se una copia è già stata misurata sul tuo negozio, la durata stimata;
- le verifiche: nome, permessi di scrittura, diritti MySQL, limiti PHP, estensioni, server web;
- le cartelle più grandi, che puoi escludere con un clic, e alcuni suggerimenti per risparmiare spazio.

Passaggio 4: copia
Fai clic su Crea lo staging. La copia parte e l’avanzamento viene mostrato nella scheda dell’ambiente (vedi «Seguire la copia in tempo reale»).
Spazio su disco: come il modulo protegge il tuo negozio
Lo staging viene creato sullo stesso disco del negozio. Un disco pieno può bloccare il negozio in produzione: cache, sessioni, caricamento di file, fatture. Staging Pro applica quindi tre protezioni.
- Prima della copia: lo spazio necessario viene calcolato così: dimensione dei file da copiare (esclusi cache, log, sessioni, backup e altri staging) + dimensione del database + margine di sicurezza (10 %, minimo 50 MB) + spazio sempre lasciato libero per il negozio (500 MB per impostazione predefinita). Se lo spazio libero non basta, la copia viene rifiutata con tre valori: necessario, disponibile, mancante. Il controllo viene ripetuto all’avvio della copia.
- Durante la copia: lo spazio libero viene misurato di continuo. La copia si interrompe prima di scendere sotto lo spazio riservato al negozio. Ogni scrittura è controllata: un disco pieno, lato file o lato MySQL, interrompe la copia con un messaggio chiaro.
- Dopo un errore o un’interruzione: la copia parziale (cartella e tabelle) viene eliminata automaticamente. Non resta nulla sul disco né nel database, e il negozio in produzione non viene mai modificato.

Quando manca spazio, il rapporto propone soluzioni quantificate: condividere le immagini, escludere le statistiche o i dati dei clienti, escludere una cartella grande, svuotare la cache (pulsante), eliminare i vecchi log in var/logs, eliminare vecchi staging o vecchi backup di pubblicazione.
Su alcuni hosting condivisi la funzione PHP disk_free_space è disattivata e lo spazio libero non può essere misurato. Il modulo lo segnala chiaramente, mostra la dimensione approssimativa della copia e ti chiede di selezionare una casella di conferma dopo aver verificato lo spazio nel pannello dell’hosting. Gli errori di scrittura vengono comunque rilevati e ripuliti.
Seguire la copia in tempo reale
Durante la copia, la scheda dell’ambiente mostra:
- i passaggi: controlli preliminari, preparazione, file, database, URL, protezione, verifica;
- una barra di avanzamento;
- il numero di file e di byte copiati;
- le tabelle clonate;
- il tempo trascorso e il tempo rimanente stimato in base all’avanzamento reale;
- le ultime righe del log.
Il pulsante Stop interrompe la copia ed elimina la copia parziale.

La copia procede a batch di pochi secondi: nessun timeout, anche con un valore basso di max_execution_time. Se chiudi la pagina, la copia si mette in pausa e riprende alla riapertura della dashboard, esattamente dove si era fermata.
Protezione dello staging
- Noindex: l’header
X-Robots-Tagviene inviato da PHP su tutte le pagine (funziona anche senzamod_headerse con nginx), insieme al meta tagnoindexe arobots.txt. - Nessuna e-mail in uscita:
PS_MAIL_METHOD = 3e blocco di qualsiasi invio da parte del modulo, anche se qualcuno riattiva SMTP sullo staging. Il banner del back office dello staging mostra il numero di e-mail bloccate. - Password HTTP (utente
staging), generata o scelta da te, nel formato APR1 letto da Apache e LiteSpeed. Un’autoverifica al termine della copia controlla che il server risponda 401 in assenza di credenziali. - Link di accesso privato: senza il link segreto, i visitatori vedono una pagina «staging privato». Il link imposta un cookie valido 30 giorni.
- Pagamenti online e moduli sensibili disattivati, e banner STAGING nel front office e nel back office.
Aggiornare, riprovare, eliminare
- Aggiorna: ricostruisce lo staging a partire dallo stato attuale del negozio. Una finestra mostra prima i controlli preliminari. Lo spazio liberato dall’eliminazione della vecchia copia viene preso in considerazione. Se manca spazio, l’aggiornamento non viene avviato e la copia attuale viene conservata.
- Riprova: rilancia una copia non riuscita, dopo nuovi controlli preliminari.
- Elimina: elimina la cartella e le tabelle dello staging. Fuori dalla cartella del negozio viene eliminata solo una cartella che contiene il marcatore dell’ambiente.
Pubblicazione in produzione
Il pulsante Pubblica in produzione apre l’elenco delle tabelle dello staging, raggruppate per categoria: catalogo, contenuti e design, moduli, clienti e ordini, altre. Per ogni tabella vedi il numero di righe nello staging e nel negozio. Una ricerca e il filtro «Solo tabelle diverse» semplificano la selezione.

Le tabelle scelte vengono prima copiate a parte, con la riscrittura degli URL dallo staging al negozio. Vengono poi scambiate in una sola operazione atomica (RENAME TABLE): il negozio non vede mai una tabella vuota o riempita a metà. Le tabelle sostituite vengono conservate come backup (dfbak…). Se la pubblicazione fallisce prima dello scambio, le tabelle temporanee vengono eliminate e il negozio non viene toccato.
Evita di pubblicare le tabelle dei clienti e degli ordini se il negozio ha continuato a ricevere ordini dopo la copia: sostituirebbero gli ordini recenti. Le tabelle critiche (shop_url, configuration, shop, sessioni) non possono mai essere pubblicate.
Backup e annullamento
La scheda Backup elenca i backup creati dalle pubblicazioni, con data, numero di tabelle, dimensione e ambiente interessato. Il pulsante Annulla ultima pubblicazione, nella scheda dell’ambiente, ripristina le tabelle originali. Elimina i backup che non ti servono più per liberare spazio nel database.

Log
Ogni ambiente ha il proprio log, nella lingua dell’utente del back office: controlli preliminari, passaggi, avvisi, errori e pulizie. Un filtro mostra solo gli avvisi e gli errori. Il pulsante Scarica (.txt) esporta il log completo con un’intestazione utile al supporto (versioni, indirizzi, spazio libero). Le password non compaiono mai nel log.

Impostazioni
- Spazio libero da mantenere sempre per il negozio in produzione (500 MB per impostazione predefinita): la copia viene rifiutata, o interrotta, prima di scendere sotto questo valore.
- Margine di sicurezza aggiunto alla stima (10 %, minimo 50 MB).
- Durata di un batch (6 secondi per impostazione predefinita, da 2 a 25).
- Cartelle mai copiate: cartelle da escludere in aggiunta alle esclusioni automatiche (cache, log, sessioni, backup del back office, altri staging).
- Moduli sensibili proposti per la disattivazione sullo staging.

Staging senza dati dei clienti
Con l’opzione Escludere i dati dei clienti (GDPR), le tabelle di clienti, ordini, carrelli, messaggi, ospiti, newsletter e log GDPR vengono create vuote. Gli indirizzi di fornitori, produttori e magazzini vengono conservati, così come le tabelle di configurazione degli ordini (stati, modelli di messaggio, stati di reso) e l’intero catalogo. È la scelta consigliata quando si affida uno staging a un fornitore di servizi. Su uno staging di questo tipo, le tabelle dei clienti e degli ordini vengono rimosse dall’elenco di pubblicazione e rifiutate dal server: una tabella vuota non può mai sovrascrivere la produzione.
Diritti e sicurezza
- Le azioni seguono i diritti della scheda Parametri avanzati → Staging Pro: visualizzare, aggiungere (creare), modificare (copiare, pubblicare, annullare, impostazioni) ed eliminare. Un utente con accesso in sola lettura non vede né le password né i pulsanti di azione.
- Tutte le azioni sono bloccate se il negozio corrente è esso stesso uno staging.
- I file
parameters.php,.enve.htpasswddello staging non sono accessibili dal web.
FAQ e risoluzione dei problemi
Che cosa succede se il mio disco non ha abbastanza spazio? La copia viene rifiutata prima di iniziare, con lo spazio necessario, disponibile e mancante, e alcune soluzioni per recuperare spazio. Se lo spazio scompare durante la copia, questa si interrompe prima di riempire il disco e la copia parziale viene eliminata automaticamente.
Il mio hosting disattiva disk_free_space, posso usare il modulo? Sì. Il modulo mostra la dimensione approssimativa della copia e chiede una conferma. Gli errori di scrittura vengono comunque rilevati e ripuliti.
La copia si è interrotta (pagina chiusa, interruzione di rete). Riapri la dashboard: la copia riprende da dove si era fermata.
Il mio server usa nginx: la password HTTP non funziona. nginx ignora i file .htaccess. Usa il link di accesso privato, che funziona su tutti i server. L’autoverifica segnala il caso nel log.
Lo staging può inviare e-mail ai miei clienti? No. Le e-mail sono sempre bloccate sullo staging, anche se qualcuno riattiva SMTP.
Posso provare un ordine sullo staging? Sì: i pagamenti online sono disattivati, ma bonifico e assegno restano disponibili.
Dopo una pubblicazione in produzione, come posso tornare indietro? Usa Annulla ultima pubblicazione nella scheda dell’ambiente, poi elimina i vecchi backup nella scheda Backup.
I miei staging creati con la 1.x vengono conservati? Sì. Restano elencati dopo l’aggiornamento e possono essere aggiornati, pubblicati in produzione o eliminati.
Lo staging risponde 404 ovunque su un hosting cPanel / LiteSpeed. Aggiorna il modulo e poi aggiorna l’ambiente: la password viene generata nel formato APR1, compatibile con LiteSpeed, e la pagina 401 è integrata nel file .htaccess.
Cronologia delle versioni
2.0.0 (1 novembre 2026)
- Verifica dello spazio su disco prima della copia (file, database, margine, spazio riservato al negozio), monitoraggio durante la copia, rilevamento del disco pieno lato file e MySQL, pulizia automatica della copia parziale.
- Procedura guidata in 4 passaggi con rapporto dei controlli preliminari, esclusione delle cartelle più grandi e suggerimenti.
- Avanzamento in tempo reale per passaggi, interruzione manuale, ripresa dopo un’interruzione, log tradotto e scaricabile.
- Pubblicazione in produzione atomica, scheda Backup.
- Sottodominio (cartella e indirizzo personalizzati) e database separato.
- Link di accesso privato,
noindexinviato da PHP, e-mail sempre bloccate, moduli sensibili disattivati, metodi di pagamento offline conservati. - Diritti verificati per azione, password rimosse dal log, multinegozio, traduzioni in 8 lingue.
1.1.0 (4 settembre 2026)
- Opzione «Senza dati dei clienti».
1.0.1 (3 settembre 2026)
- Password HTTP nel formato APR1-MD5, pagina 401 integrata,
ErrorDocumentriscritto, autoverifica al termine della copia.
1.0.0 (11 giugno 2026)
Prima versione pubblica.