Salta al contenuto principale
Sistemi Attivi
WP Planet — WordPress Cloud & Managed Services
Torna al MagazineInfrastruttura

Migrazione WordPress senza downtime: checklist tecnica per spostare un sito a hosting senza farlo cadere

16 Ott 2026 — 12:45 9 min di lettura
Migrazione WordPress senza downtime: checklist tecnica per spostare un sito a hosting senza farlo cadere

Spostare un sito WordPress tra hosting è il momento in cui più siti cadono. La procedura corretta — DNS, redirect, verifica integrità, rollback — permette una migrazione a zero downtime percepito. La checklist completa.

La migrazione è il momento in cui più siti WordPress cadono. Non per la complessità tecnica in sé — copiare file e database non è difficile — ma per l'insieme di dettagli che, trascurati, si sommano: il DNS che propaga a metà, gli URL hardcoded nel database, i certificati SSL non configurati sul nuovo server, le email che smettono di funzionare. Ognuno di questi, da solo, è gestibile; presi insieme senza un metodo, diventano un sito fuori linea per ore.

Una migrazione a zero downtime non significa «nessun secondo di interruzione tecnica» — significa zero downtime percepito dall'utente. Il visitatore non nota nulla perché, per tutto il tempo in cui lavori dietro le quinte, il vecchio server continua a servire il sito. Il cambio avviene in modo trasparente quando il DNS propaga. Ecco la procedura che usiamo, passo per passo.

Fase 1 — Clonare sul nuovo hosting senza toccare il vecchio

Il principio fondamentale: non toccare mai il sito di produzione finché il nuovo non è completamente funzionante e verificato. Clona file e database sul nuovo server lasciando il vecchio intatto e attivo. Con WP-CLI la parte tecnica è rapida:

Terminale
# Sul NUOVO server — clona dal vecchio senza toccarlo
# 1. Scarica i file via rsync (il vecchio resta attivo)
rsync -avz user@vecchio-server:/var/www/wp/ /var/www/wp/

# 2. Esporta il database dal vecchio server
ssh user@vecchio-server "wp db export - --path=/var/www/wp" > dump.sql

# 3. Importa nel nuovo database
wp db import dump.sql --path=/var/www/wp

# 4. Sostituisci gli URL se il dominio cambia (se resta uguale, salta)
wp search-replace 'https://vecchio-dominio.it' 'https://www.dominio.it' --path=/var/www/wp
Nota: rsync con -z comprime in transito ed è efficiente anche su connessioni lente. L'export del database via pipe SSH evita di scaricare un file temporaneo sul vecchio server.

Fase 2 — Verificare il nuovo sito senza cambiare il DNS

Prima di puntare il DNS, devi poter verificare che il nuovo sito carichi correttamente. Il problema: il dominio punta ancora al vecchio server. La soluzione è l'header Host o il file hosts locale, che fa credere al tuo computer che il dominio punti già al nuovo IP:

Terminale
# Opzione A: file hosts locale (verifica dal tuo computer)
# Aggiungi una riga con l'IP del NUOVO server + il dominio
sudo nano /etc/hosts
# Inserisci: 203.0.113.10  www.dominio.it dominio.it
# Salva, poi visita il sito nel browser: caricherà dal nuovo server

# Opzione B: verifica via cURL con header Host (da terminale)
curl --resolve www.dominio.it:443:203.0.113.10 https://www.dominio.it/ -I
# Restituisce gli header HTTP dal nuovo server senza toccare il DNS
Nota: Con l'opzione A ricordati di rimuovere la riga dal file hosts dopo la migrazione, altrimenti il tuo computer continuerà a puntare al nuovo server anche se qualcosa va storto. L'opzione B è più sicura perché non altera la risoluzione DNS del sistema.

Fase 3 — Verificare l'integrità dei contenuti

Un sito che carica non è un sito corretto. Verifica che i contenuti siano completi: conta i post, i prodotti, le immagini media. Una migrazione interrotta a metà può lasciare il database senza i file allegati, o i file senza i riferimenti nel database.

Terminale
# Confronta i conteggi tra vecchio e nuovo server
# Sul VECCHIO server
wp post list --format=count --post_type=post --path=/var/www/wp
wp post list --format=count --post_type=product --path=/var/www/wp
wp media list --format=count --path=/var/www/wp

# Sul NUOVO server — i numeri devono coincidere
wp post list --format=count --post_type=post --path=/var/www/wp
wp post list --format=count --post_type=product --path=/var/www/wp
wp media list --format=count --path=/var/www/wp
Nota: Se i conteggi differiscono, la migrazione è incompleta. Non procedere al cambio DNS finché i numeri non coincidono. Un prodotto mancante nel database è un ordine che fallirà dopo il cambio.

Fase 4 — Il cambio DNS a basso TTL

Solo quando il nuovo sito è verificato e completo si cambia il DNS. Il trucco per minimizzare il tempo di propagazione è abbassare il TTL (Time To Live) del record DNS giorni prima della migrazione: così, quando cambi il valore, i resolver DNS lo aggiornano in pochi minuti invece di ore.

Terminale
# Giorni prima della migrazione: abbassa il TTL del record A
# Da 3600s (1 ora) a 300s (5 minuti) nel pannello DNS
# 
# Il giorno della migrazione:
# 1. Verifica che il nuovo server sia pronto (fasi 1-3)
# 2. Cambia il record A al nuovo IP
# 3. Verifica la propagazione:
dig +short www.dominio.it A
# Ripeti ogni 2 minuti finché restituisce il nuovo IP
# 4. Con TTL a 300s, la maggior parte del traffico si sposta in 5-10 minuti
Nota: Lascia il vecchio server attivo per almeno 48 ore dopo il cambio DNS. Alcuni resolver DNS ignorano il TTL e propagano lentamente: il vecchio server serve ancora il sito a quei visitatori finché non si aggiornano. Non spegnerlo subito.

Fase 5 — Redirect e rollback

Dopo il cambio DNS, configura sul vecchio server un redirect 301 verso il nuovo. Se un visitatore arriva ancora al vecchio IP (DNS non propagato), viene reindirizzato al nuovo invece di vedere un sito staccato. E tieni pronto il rollback: se il nuovo server ha problemi gravi nelle prime ore, puoi ripuntare il DNS al vecchio in pochi minuti — perché non lo hai spento.

Una migrazione fatta bene è invisibile. Il visitatore non vede nulla; i motori di ricerca non perdono indicizzazione; gli ordini non si interrompono. Una migrazione fatta male è ore di sito fuori linea, posizioni SEO perse, clienti che vedono errori. La differenza non è la velocità delle mani: è avere la checklist e seguirla nell'ordine giusto. In WP Planet la migrazione assistita è inclusa nei piani di hosting cloud: la facciamo noi, con rollback pronto, e il cliente non si accorge di nulla.

Check-up WordPress

Verifica lo stato del tuo WordPress con un check-up gratuito.

Analisi di sicurezza, prestazioni e configurazione tecnica senza impegno commerciale.

Check-up WordPress
Condividi