Quando i plugin di migrazione falliscono (e falliscono spesso)
All-in-One WP Migration, Duplicator, WP Migrate: funzionano bene per siti piccoli. Ma per siti con 2+ GB di media, database da 500 MB, o limiti server restrittivi (upload_max_filesize, max_execution_time, memory_limit), i plugin di migrazione falliscono a metà. Il file di export si blocca. L'import va in timeout. Il sito si rompe. Lo sviluppatore esperto deve conoscere il metodo manuale: FTP per i file, mysqldump per il database, wp-config.php per la configurazione. Funziona sempre, su qualsiasi server, per qualsiasi dimensione del sito.
Il metodo manuale in 5 step
Step 1: Esporta il database
Dal server di origine: mysqldump -u utente -p nome_database > backup.sql. Il file SQL contiene tutte le tabelle, i dati, e la struttura. Per database grandi (>500 MB): aggiungi --single-transaction per evitare lock durante l'export. Scarica il file SQL sul tuo computer via FTP/SFTP. Se non hai accesso SSH: phpMyAdmin → Esporta → SQL → seleziona tutte le tabelle → scarica.
Step 2: Copia i file
Scarica tutta la cartella WordPress dal server di origine via FTP/SFTP. L'essenziale: la cartella wp-content (temi, plugin, uploads) e wp-config.php. Il core WordPress (wp-admin, wp-includes) può essere scaricato fresco da wordpress.org — è identico su tutti i siti. Per siti con molti media (>5 GB): usa rsync via SSH per un trasferimento più veloce e resumibile: rsync -avz user@server:/path/to/wordpress/ ./local-copy/
Step 3: Importa sul nuovo server
Carica i file WordPress sul nuovo server via FTP/SFTP nella cartella del sito. Crea il database sul nuovo server (da phpMyAdmin o da SSH: mysql -u root -p -e "CREATE DATABASE nome_database"). Importa il dump SQL: mysql -u utente -p nome_database < backup.sql. Per database grandi: il comando mysql è più affidabile di phpMyAdmin (che ha limiti di upload e timeout).
Step 4: Configura wp-config.php
Aggiorna wp-config.php con le credenziali del nuovo server: DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. Se il dominio cambia: devi aggiornare siteurl e home nel database. Da SSH: wp-cli option update siteurl "https://nuovodominio.com" e wp-cli option update home "https://nuovodominio.com". Senza wp-cli: modifica direttamente nella tabella wp_options con phpMyAdmin (righe con option_name = siteurl e home).
Step 5: Search-replace per il dominio
Se il dominio cambia, i contenuti contengono riferimenti al vecchio dominio (immagini, link interni, widget, opzioni serializzate). wp-cli search-replace "vecchiodominio.com" "nuovodominio.com" --all-tables è il modo più sicuro: gestisce correttamente i dati serializzati di WordPress (che un semplice REPLACE SQL romperebbe). Senza wp-cli: il plugin Better Search Replace fa lo stesso con interfaccia grafica.
Verifica post-migrazione
Il sito carica sul nuovo dominio? Le immagini si vedono? I link interni funzionano? Il login admin funziona? I plugin sono attivi? WooCommerce funziona (se presente)? LANGA Tools sul nuovo server: lancia un audit con il modulo Debug per verificare errori. Attiva il modulo Cache per le performance. Configura il modulo Backup per il nuovo ambiente. Verifica che il modulo GDPR sia attivo e funzionante.
Domande frequenti
Quanto tempo richiede una migrazione manuale?
Per un sito piccolo (500 MB totali): 30-60 minuti. Per un sito medio (2-5 GB): 1-2 ore (il tempo è dominato dal trasferimento file). Per un sito grande (10+ GB): 2-4 ore. Con rsync: i trasferimenti grandi sono più rapidi e resumibili (se si interrompe, riprende da dove era arrivato).
Se qualcosa va storto?
Il backup originale (file + SQL) è intatto sul tuo computer. Il sito di origine non è stato toccato. Puoi ricominciare da zero senza conseguenze. La migrazione manuale è distruttiva solo sul server di destinazione: l'origine è sempre al sicuro.
Per continuare a leggere,
accedi al tuo account.
Il tuo account LANGA ti connette a tutta la Galaxy.
Articoli completi su tutti i blog Galaxy.
Un solo login, accesso ovunque.
Guadagna Leghe e sblocca contenuti premium.