Ambiente di test per PrestaShop: come allestire una copia che non disturbi nessuno
Una copia di test allestita male può inviare e-mail a clienti reali, incassare sul gateway vero o comparire su Google. Passiamo in rassegna tutto ciò che va scollegato e come verificarlo prima di iniziare a lavorarci.
Provare le modifiche su una copia del negozio prima di portarle in produzione è una delle cose più sensate che tu possa fare. Ma una copia è, per definizione, un negozio completo: ha gli stessi clienti, la stessa configurazione della posta, le stesse chiavi dei gateway e le stesse attività pianificate. Se non la scolleghi bene, fa esattamente le stesse cose del negozio reale, e questo include scrivere ai tuoi clienti.
Questo articolo è un elenco di ciò che va neutralizzato in una copia di test, nell'ordine in cui conviene farlo.
Dove allestirla
Ci sono tre opzioni comuni, ognuna con i suoi vantaggi:
- In locale, sul computer dello sviluppatore o su un server interno. È la più sicura, perché non è accessibile da Internet, ma è più difficile condividerla con chi deve controllarla.
- In un sottodominio dello stesso hosting. È comoda, ma condivide il server con il negozio reale: un test pesante (un'importazione, una rigenerazione delle immagini) sottrae risorse alla produzione.
- Su un server separato, con la stessa versione di PHP e la stessa configurazione della produzione. È l'ideale per provare gli aggiornamenti, perché le differenze di ambiente non ti ingannano.
Qualunque sia, la copia deve avere la stessa versione di PHP del negozio reale, a meno che tu non stia proprio testando un cambio di PHP.
Passo 1: la posta, per prima cosa
Ancora prima di aprire la copia nel browser, blocca la posta. Una copia appena importata ha la configurazione SMTP della produzione e il database con clienti reali. Un cambio di stato di un ordine, un carrello abbandonato che un modulo decide di ricordare o un'attività pianificata che invia newsletter bastano per scrivere a una persona vera dal tuo ambiente di test.
Opzioni, dalla più alla meno consigliata:
- Intercettare la posta con un server SMTP di test che riceve tutti i messaggi e li mostra in una casella web senza consegnarli. Così puoi controllare l'aspetto delle e-mail senza rischi.
- Disattivare l'invio in Parametri avanzati → E-mail, con l'opzione di non inviare mai e-mail. È rapido, ma non ti permette di vedere le e-mail.
Passo 2: dati personali anonimizzati
Una copia di test non ha bisogno dei nomi, delle e-mail, dei telefoni e degli indirizzi reali dei tuoi clienti. E tenerli in un ambiente meno protetto della produzione è un rischio per la protezione dei dati. Sostituisci, come minimo:
- Le e-mail dei clienti con indirizzi fittizi di un dominio inesistente o che controlli tu.
- Nomi, cognomi, telefoni e indirizzi dei clienti e degli indirizzi di spedizione.
- Messaggi dei clienti, note interne e dati aziendali come la partita IVA.
- Iscritti alla newsletter e qualsiasi tabella di moduli che conservi dati personali: moduli di contatto, recensioni, liste dei desideri.
Conserva ordini, importi e prodotti: sono quelli che ti servono per i test. E cambia le password dei dipendenti con altre diverse da quelle della produzione.
Passo 3: pagamenti in modalità di test
Ogni gateway ha una modalità di test con le proprie chiavi. Sulla copia, passale tutte a quella modalità prima di fare il primo ordine. Controlla in particolare:
- Chiavi di produzione del gateway: sostituiscile con quelle di test, non limitarti a spuntare una casella se il modulo usa le chiavi che ha salvato.
- Webhook e notifiche: il gateway vero continua a inviare i suoi avvisi all'URL di produzione, ed è giusto così. Ciò che non deve succedere è che la copia registri sull'account reale un nuovo webhook che punta a se stessa.
- Bonifico e contrassegno: non incassano, ma generano e-mail al cliente con le istruzioni. Sono già coperti se la posta è intercettata.
Passo 4: che nessuno la trovi
Una copia accessibile da Internet finisce indicizzata se non lo impedisci, e a quel punto compete su Google con il tuo stesso negozio, con gli stessi contenuti.
- Protezione con password sul server web (autenticazione di base). È la più efficace: né motori di ricerca né curiosi vanno oltre la prima schermata.
- Intestazione
noindexin tutte le risposte, come secondo livello. - Modalità manutenzione di PrestaShop con il tuo IP autorizzato, se non puoi mettere una password.
Non affidarti solo al robots.txt: chiede ai motori di ricerca di non scansionare, ma non impedisce che un URL linkato da qualche parte compaia nei risultati.
Passo 5: i collegamenti con l'esterno
Qui ci sono più sorprese, perché ogni negozio ha i suoi:
- Attività pianificate. Se copi anche il crontab, la copia eseguirà le stesse attività: esportazioni all'ERP, sincronizzazioni con i marketplace, invii di newsletter. Disattivale e riattivale una alla volta solo se devi testarle.
- ERP e magazzino. Un connettore che crea ordini o aggiorna lo stock nell'ERP reale è pericoloso da una copia: può duplicare ordini o sovrascrivere lo stock con dati di test.
- Marketplace e feed. Un modulo che pubblica prodotti o sincronizza lo stock con un marketplace userà le credenziali reali.
- Pixel di tracciamento e analisi. Le visite alla copia sporcano le statistiche del negozio reale e possono inviare conversioni false alle piattaforme pubblicitarie.
- Corrieri. Alcuni moduli generano etichette o richiedono ritiri tramite l'API del corriere.
Passo 6: il dominio
PrestaShop salva il dominio del negozio nel database (nella tabella degli URL del negozio e nella configurazione). Se non lo cambi, la copia reindirizza al negozio reale appena la apri. Dopo averlo cambiato, svuota la cache e rigenera il file degli URL semplificati. Cerca anche il vecchio dominio nella configurazione dei moduli e nei contenuti CMS: un link assoluto alla produzione dentro la copia può farti credere di testare una cosa mentre stai guardando un'altra.
Verifica prima di lavorare
- Fai un ordine di prova e verifica che l'e-mail risulti intercettata e non esca.
- Cerca nel database qualche e-mail reale di un cliente: non dovrebbe restarne nessuna.
- Apri la copia senza sessione da un altro browser: deve chiedere la password o mostrare la manutenzione.
- Controlla quali attività pianificate sono attive e quali moduli hanno credenziali di servizi esterni.
Una copia così è uno strumento che puoi usare senza timori per ogni aggiornamento, ogni nuovo modulo e ogni modifica del tema, ed è la base per mantenere il negozio aggiornato senza che siano i tuoi clienti a fare da collaudatori.
Come risolverlo in PrestaShop
In Rekire lavoriamo sempre su copie di questo tipo: posta intercettata, dati anonimizzati, gateway in modalità di test e collegamenti esterni interrotti. Con un pacchetto di ore di assistenza allestiamo la copia del tuo negozio e la lasciamo pronta per provare aggiornamenti e modifiche, oppure facciamo noi quelle modifiche sulla copia prima di portarle in produzione. Se cerchi anche un hosting pensato per PrestaShop, il Hosting plan profesional di Rekire è la nostra proposta per i negozi che vogliono smettere di preoccuparsi del server.