Ottenete oggi il miglior plugin per il backup e la migrazione di WordPress
Ottenere Duplicator ora
Annuncio di Duplicator Cloud

[I backup in cloud sono appena diventati più semplici: Duplicator Cloud elimina l'archiviazione di terze parti

Esplorate i piani di archiviazione cloud scalabili e convenienti con Duplicator Cloud e mantenete i backup del vostro sito al sicuro, organizzati e accessibili in un...
Sincronizza lo sviluppo locale con la produzione

Come sincronizzare il tuo ambiente di sviluppo locale con quello di produzione 

Scritto da: avatar dell'autore Joella Dunn
avatar dell'autore Joella Dunn
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator è specializzata nella manutenzione dei siti, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è assicurarsi che il vostro sito WordPress sia sicuro e pronto per la crescita.
     Recensito da: avatar del recensore John Turner
avatar del recensore John Turner
John Turner è il presidente di Duplicator. Ha oltre 20 anni di esperienza commerciale e di sviluppo e i suoi plugin sono stati scaricati oltre 25 milioni di volte.

Quando la configurazione di sviluppo locale non corrisponde al server di produzione, è come se si scrivesse codice alla cieca.

Potresti pensare che tutto funzioni. Probabilmente funziona, sul tuo computer. Ma non è questo che conta.

Avere un processo affidabile per sincronizzare lo sviluppo locale con la produzione non è solo un optional. È ciò che distingue i professionisti da chi incrocia le dita ogni volta che effettua un deployment.

In questo post ti illustrerò alcuni metodi collaudati per mantenere sincronizzati i tuoi ambienti. Troverai sicuramente quello più adatto al tuo flusso di lavoro!

Ecco i punti salienti:

  • La sincronizzazione degli ambienti elimina i problemi di compatibilità e individua i bug prima che gli utenti li notino.
  • È possibile utilizzare Duplicator per un flusso di lavoro di sincronizzazione locale adatto ai principianti oppure GitHub + WP-CLI per il controllo da riga di comando.
  • Scaricare sempre il database dalla produzione e inviare solo le modifiche al codice per evitare di sovrascrivere i dati attivi.
  • I siti WordPress hanno tre parti da sincronizzare: codice (Git), database (WP-CLI) e file multimediali (rsync).
  • Eseguire sempre il backup prima di sincronizzare qualsiasi cosa, utilizzare ambienti di staging per i test e mantenere un file .gitignore adeguato.

Indice dei contenuti

Perché sincronizzare gli ambienti locali e di produzione?

Probabilmente potresti sopravvivere senza sincronizzare gli ambienti. Molte persone lo fanno. Devono solo affrontare qualche bug occasionale, problemi di produzione casuali che non si verificano a livello locale e la fastidiosa incertezza ogni volta che pubblicano un aggiornamento.

Ma perché sottoporsi a tutto questo?

Mantenere sincronizzati gli ambienti locali e di produzione elimina tantissimi problemi. Ecco cosa si ottiene effettivamente facendo le cose nel modo giusto.

Individua gli errori prima che vengano pubblicati

Un ambiente locale sincronizzato rispecchia la configurazione effettiva del tuo server di produzione. Avrà la stessa versione PHP, la stessa struttura del database e gli stessi plugin nelle stesse versioni.

Questo è più importante di quanto potresti pensare.

Quando si lavora su una configurazione locale che corrisponde alla produzione, i problemi di compatibilità emergono immediatamente. Li si individua alla propria scrivania, non davanti agli utenti. Questa è la differenza tra un piccolo inconveniente e un problema reale.

Un ambiente sandbox realistico per i test

Il test con dati fittizi va bene per creare le funzionalità iniziali. Ma a un certo punto, è necessario vedere come si comportano effettivamente le cose.

I contenuti degli utenti reali sono disordinati. I cataloghi dei prodotti presentano casi limite strani.

Il tuo sito locale ha bisogno di dati reali per fornirti un quadro accurato di ciò che sta accadendo.

La sincronizzazione dalla produzione ti fornisce i post, gli utenti e i prodotti reali con cui interagirà il tuo codice. Non dovrai più fare supposizioni, ma potrai testare sulla base della realtà.

Nessun problema di compatibilità

Ogni sviluppatore ha detto almeno una volta: "Ma sul mio computer funzionava". Ormai è diventato praticamente un meme.

Ma è anche un sintomo di ambienti non compatibili. Quando la configurazione locale è sostanzialmente identica a quella di produzione, questa scusa non è più valida. Se funziona in locale, funziona anche in produzione.

Questo tipo di sicurezza cambia il tuo modo di lavorare. Smetti di ripensare ogni implementazione.

Migliora la collaborazione nel team

Quando lavori da solo, puoi cavartela anche con un processo disordinato. Aggiungi un secondo sviluppatore al mix e le cose si complicano rapidamente.

Un processo di sincronizzazione coerente significa che tutti partono dalla stessa base. Tutti eseguono i test sullo stesso database, utilizzando la stessa struttura dei contenuti e utilizzando la stessa configurazione dell'ambiente.

Senza questo, si finisce con tre diverse versioni di "locale" e nessuno è sicuro di quale sia la più vicina alla produzione. Questa non è collaborazione, è caos.

Come sincronizzare l'ambiente locale con quello di produzione

È possibile farlo manualmente. Esportare il database tramite phpMyAdmin, scaricarlo, importarlo localmente e trovare e sostituire manualmente tutti gli URL nel file SQL. Quindi accedere al server tramite FTP, comprimere la cartella uploads, scaricarla, estrarla localmente...

Sono esausto solo a scriverlo.

I metodi manuali sono noiosi e rischiosi. Se si dimentica di sostituire un URL, il sito locale inizierà a puntare alle risorse di produzione. Se si dimentica di aggiornare correttamente un array serializzato, si danneggerà il database.

C'è un modo migliore. Ecco come sincronizzare gli ambienti di sviluppo e produzione locali:

  • Duplicator: plugin di migrazione con sostituzione automatica degli URL e installatori guidati, perfetto per i principianti o per sincronizzazioni rapide.
  • GitHub + WP-CLI: controllo da riga di comando per la sincronizzazione del codice tramite Git, del database tramite esportazioni WP-CLI e dei media tramite rsync: ideale per gli sviluppatori che desiderano un controllo granulare.

Sincronizza siti locali e di produzione con Duplicator

Questo è il metodo più semplice, soprattutto se non ti senti a tuo agio a vivere nel terminal.

Duplicator crea un'istantanea completa del tuo sito e ti fornisce un programma di installazione che gestisce automaticamente tutte le parti più complesse. Non dovrai preoccuparti di sostituzioni manuali degli URL o di configurazioni del database complicate.

Plugin Duplicator Pro

Passaggio dalla produzione al locale (flusso di lavoro comune)

Questa è l'operazione che effettuerai più spesso. Desideri acquisire lo stato attuale del tuo sito live e lavorarci localmente.

Inizia installando Duplicator Pro sul tuo sito di produzione e crea un nuovo backup completo del sito. Consideralo come se fosse un'istantanea dell'intero sito in questo preciso momento.

Backup completo del sito preimpostato

La creazione del backup richiede alcuni minuti a seconda delle dimensioni del sito. Una volta completata, avrai due file: un archivio (di solito un file .daf o .zip) e uno script di installazione (un file .php). Scarica entrambi.

Scarica Duplicator Lite backup

Ora vai al tuo ambiente locale. Crea una directory vuota dove vuoi che risieda la tua copia locale. Trascina entrambi i file, l'archivio e il programma di installazione, in quella directory vuota.

Caricare i file del sito clonato

Apri il browser e vai a quella directory. Qualcosa del tipo http://localhost/mysite/installer.php. Si avvierà la procedura guidata di installazione di Duplicator.

Migrazione guidata del Duplicatore

La procedura guidata ti aiuta a connetterti al tuo database locale e gestisce automaticamente tutte le sostituzioni degli URL.

Sa che il tuo sito di produzione era https://mysite.com e che il tuo sito locale è http://localhost/mysite. Correggere ogni riferimento nel database senza che tu debba toccare nulla.

Cinque minuti dopo, avrai una copia locale perfetta del tuo sito di produzione.

Passaggio dall'ambiente locale a quello di produzione

Questo flusso di lavoro va nella direzione opposta. Si prende il sito locale e lo si distribuisce in produzione.

Fai attenzione. Questa operazione è consigliabile solo per il lancio di nuovi siti o per riprogettazioni complete. Se hai un sito attivo con utenti attivi, probabilmente non ti conviene farlo. Sovrascriveresti i loro post, commenti e ordini recenti.

Se è necessario trasferire i dati locali alla produzione, il processo è simile ma inverso.

Prima di tutto, e non lo sottolineerò mai abbastanza, esegui un backup completo del tuo sito di produzione prima di fare qualsiasi altra cosa.

Quindi, crea un backup del tuo sito locale utilizzando Duplicator e scaricalo. Carica entrambi i file di backup sul tuo server di produzione tramite FTP o trascina l'archivio nella pagina Importa.

Importare un backup con Duplicator

Ancora una volta: procedete in questo modo solo se siete sicuri di voler sostituire completamente la produzione. Per essere certi di poter ripristinare facilmente eventuali modifiche impreviste, assicuratevi di impostare un punto di ripristino.

Punto di ripristino di emergenza prima della migrazione

Duplicator ti fornirà un URL di ripristino che ripristinerà un backup recente, anche se il tuo sito è completamente danneggiato.

Sincronizza siti locali e di produzione con GitHub e WP-CLI

Se hai dimestichezza con la riga di comando, questo metodo ti offre un maggiore controllo e si adatta a un flusso di lavoro basato su Git.

Ecco come funzionano i siti WordPress: sono composti da tre parti distinte che devono essere sincronizzate separatamente.

  • Codice: i file del tema, i plugin e i file principali di WordPress. Questo è ciò che gestisce Git.
  • Database: tutti i tuoi contenuti, impostazioni e configurazioni. Git non li modifica. È necessario WP-CLI.
  • Media: tutto ciò che si trova nella cartella /wp-content/uploads/. Anche questo non è in Git. È necessario rsync o uno strumento simile.

Comprendere questa separazione è fondamentale. Git da solo non basta.

Il flusso di lavoro per l'estrazione dalla produzione

Vediamo come trasferire il tuo sito di produzione a livello locale.

Per il codice, è semplice. Se il tema e i plugin personalizzati si trovano in un repository Git, basta eseguire:

git pull origin main

Il codice locale ora corrisponde alla produzione.

Per il database, accedi al tuo server di produzione tramite SSH ed esporta il database utilizzando WP-CLI:

wp db export production-backup.sql

Scarica il file .sql sul tuo computer locale. Quindi importalo localmente:

wp db import production-backup.sql

Ma non hai ancora finito. Il tuo database contiene ancora tutti gli URL di produzione. Devi sostituirli con i tuoi URL locali:

wp search-replace 'https://mysite.com' 'http://localhost/mysite'

Questo comando di ricerca e sostituzione setaccia ogni tabella e campo, aggiornando gli URL ovunque compaiano. Gestisce correttamente anche i dati serializzati, cosa fondamentale per WordPress.

Se salti questo passaggio, il tuo sito locale proverà a caricare le immagini dalla produzione, ti reindirizzerà al sito live e in generale si comporterà come se non sapesse dove si trova.

Per i file multimediali, usa rsync. È progettato per sincronizzare in modo efficiente directory di grandi dimensioni.

rsync -avz [email protected]:/path/to/wp-content/uploads/ ./wp-content/uploads/

I flag -avz significano "modalità archivio, output dettagliato, comprimi durante il trasferimento". Questo comando scarica solo i file che sono stati modificati, quindi le sincronizzazioni successive sono veloci.

Esegui questi tre passaggi (estrai il codice, importa il database, sincronizza i media) e otterrai una copia locale completa della produzione.

Migliori pratiche per garantire una sincronizzazione fluida e sicura

Puoi avere i migliori strumenti del mondo, ma non serve a nulla se li usi nel modo sbagliato.

Ho visto sviluppatori cancellare interi database di produzione perché hanno eseguito il push quando invece avrebbero dovuto eseguire il pull. Ho visto persone saltare i backup perché "è solo una sincronizzazione veloce" e poi passare il fine settimana a recuperare i dati.

Non essere quel tipo di persona.

Queste best practice possono fare la differenza tra un flusso di lavoro fluido e un errore che può compromettere la carriera.

Esegui sempre prima il backup

Prima di sincronizzare qualsiasi cosa in qualsiasi direzione, esegui un backup. L'unica volta che lo salterai, qualcosa andrà storto.

Duplicator semplifica questa operazione: è sia un plugin di migrazione che di backup. Il primo passo in ogni migrazione push o pull sarà un backup completo del sito, a protezione del tuo sito.

Se succede qualcosa, premi il pulsante Ripristina con un clic.

Ripristino del backup del Duplicatore

Oppure, carica entrambi i file di backup sullo stesso server. Esegui il programma di installazione e segui le istruzioni di ripristino.

Se stai utilizzando strumenti da riga di comando, esegui rapidamente wp db export prima di fare qualsiasi altra cosa.

Cinque minuti dedicati alla creazione di un backup possono farti risparmiare giorni di lavoro per il ripristino.

Tirare giù, spingere il codice verso l'alto

Ecco il flusso di lavoro professionale standard: scaricare il database e i file multimediali dalla produzione al locale. Inviare solo le modifiche al codice alla produzione tramite Git.

È consigliabile trasferire raramente il database locale in produzione, a meno che non si stia lanciando un sito completamente nuovo.

Perché? Perché la produzione dispone di dati reali che cambiano continuamente. Se sovrascrivi il database di produzione con la tua copia locale, tutte le attività recenti andranno perse.

Utilizza un ambiente di staging

Il flusso di lavoro ideale non è Locale » Produzione. È Locale » Staging » Produzione.

Un ambiente di staging è una copia del tuo sito di produzione che risiede su un server reale ma non è accessibile al pubblico. È il tuo banco di prova finale prima che le modifiche vengano pubblicate.

Sviluppate localmente. Quindi, eseguite i test in fase di staging con la configurazione reale del server e i dati di produzione recenti. Solo dopo aver verificato che tutto funzioni correttamente in fase di staging, procedete con l'implementazione in produzione.

Questo aggiunge un margine di sicurezza. Se qualcosa si rompe nella fase di staging, nessun utente lo vedrà. Lo individui e lo risolvi prima che diventi un problema.

Non tutti i progetti necessitano di staging, specialmente quelli di piccole dimensioni. Tuttavia, per qualsiasi progetto con traffico reale o funzionalità di e-commerce, vale la pena configurarlo.

Utilizza un file .gitignore

Se utilizzi Git, devi indicargli cosa non tracciare.

Il tuo file wp-config.php contiene credenziali di database diverse per ogni ambiente. Non dovrebbe essere sottoposto al controllo di versione.

La cartella /wp-content/uploads/ può contenere gigabyte di immagini e file. Anche questi non appartengono a Git: è a questo che serve rsync.

Crea un file .gitignore nella root del tuo repository e aggiungi almeno questi elementi:

wp-config.php

.htaccess

wp-content/uploads/

*.log

Questo mantiene pulito il tuo repository e ti impedisce di commettere accidentalmente informazioni sensibili o di ingombrare il tuo repository con file binari.

Domande frequenti (FAQ)

Come si sincronizzano le librerie multimediali?

Se utilizzi Duplicator, la libreria multimediale viene inclusa automaticamente nei backup completi del sito. Quando trasferisci i backup da o verso l'ambiente di produzione, trasferirai anche i tuoi file multimediali. Per un flusso di lavoro manuale, rsync è lo strumento migliore perché trasferisce solo i file che sono stati modificati dall'ultima sincronizzazione.

Come si sincronizza lo sviluppo locale con la produzione su GitHub?

GitHub (Git) sincronizza solo il codice. Non sincronizza il database o la libreria multimediale: per questi elementi è necessario un processo separato, come WP-CLI e rsync.

Git è sufficiente per sincronizzare un sito WordPress?

No. Gestisce solo il codice, che è solo una delle tre parti essenziali. Il tuo sito non funzionerà senza il database e i file multimediali.

Con quale frequenza devo trasferire i dati dalla produzione al mio sito locale?

Prima di avviare qualsiasi nuova funzionalità o attività, è necessario trasferire il sito dalla produzione all'ambiente locale. In questo modo si evita di danneggiare il sito live.

Perfeziona il tuo flusso di lavoro di sincronizzazione WordPress

Andare oltre i metodi manuali è uno di quei punti di svolta nella tua carriera di sviluppatore. Smetti di essere qualcuno che copia file e incrocia le dita. Diventi qualcuno con un processo.

Un flusso di lavoro ripetibile, sia che si utilizzi uno strumento come Duplicator o che si eseguano comandi nel terminale, sostituisce l'ansia legata alla distribuzione con la sicurezza.

Il tuo io futuro ti ringrazierà la prossima volta che dovrai testare una funzionalità con dati di produzione reali, scaricare i contenuti più recenti o eseguire l'implementazione senza alcuno stress.

Sei pronto a smettere di destreggiarti tra strumenti a riga di comando e preoccuparti di aver saltato un passaggio? Duplicator Pro ti offre un kit di strumenti completo e affidabile per la migrazione e il backup del tuo sito.

Crea un backup completo del sito, invialo direttamente al cloud storage e distribuiscilo in una nuova posizione con un semplice programma di installazione guidato che si occupa di tutto il lavoro pesante. Dai un'occhiata a Duplicator Pro per semplificare il tuo flusso di lavoro oggi stesso!

Mentre siete qui, penso che vi piaceranno queste altre risorse WordPress selezionate a mano:

avatar dell'autore
Joella Dunn Scrittrice di contenuti
Joella è una scrittrice con anni di esperienza in WordPress. In Duplicator è specializzata nella manutenzione dei siti, dai backup di base alle migrazioni su larga scala. Il suo obiettivo finale è assicurarsi che il vostro sito WordPress sia sicuro e pronto per la crescita.

Divulgazione: I nostri contenuti sono sostenuti dai lettori. Ciò significa che se cliccate su alcuni dei nostri link, potremmo guadagnare una commissione. Raccomandiamo solo prodotti che riteniamo possano apportare un valore aggiunto ai nostri lettori.