Migrare Sito WordPress: Guida Completa e Sicura

Developer che lavora sulla migrazione di sito WordPress con laptop e strumenti professionali

Migrare un sito WordPress in modo sicuro è un'operazione critica che richiede preparazione accurata e metodologia precisa. Che tu debba trasferire il tuo sito su un nuovo hosting per migliorare le performance, passare da ambiente locale a produzione, o cambiare dominio per un rebranding aziendale, una migrazione mal gestita può causare downtime prolungato, perdita di dati e link rotti difficili da recuperare.

Gli errori più comuni durante una migrazione WordPress includono backup incompleti, problemi di connessione al database, URL che puntano ancora al vecchio dominio e conflitti tra plugin. Questi problemi non solo generano frustrazione, ma possono anche danneggiare il posizionamento SEO e la fiducia degli utenti.

In questa guida completa scoprirai come migrare il tuo sito WordPress con sicurezza, scegliendo tra metodo plugin automatico o migrazione manuale step-by-step. Ti accompagnerò dalla preparazione iniziale con backup completo alla verifica finale, garantendo che ogni fase della migrazione sia controllata e priva di sorprese.

Quando e Perché Migrare un Sito WordPress

Scenari comuni che richiedono migrazione

La migrazione di un sito WordPress diventa necessaria in diverse situazioni professionali e tecniche. Il cambio hosting è uno degli scenari più frequenti: potresti aver bisogno di performance migliori, supporto tecnico più reattivo, o semplicemente costi più competitivi. Molte piccole e medie imprese italiane scoprono dopo qualche anno che il loro hosting condiviso economico non regge più il traffico crescente.

Il passaggio da ambiente locale a produzione rappresenta un momento chiave nello sviluppo web. Dopo aver costruito e testato il sito sul tuo computer con strumenti come XAMPP o Local, devi pubblicarlo online per renderlo accessibile al pubblico. Questo tipo di migrazione richiede particolare attenzione alla configurazione del database e ai percorsi dei file.

Il cambio dominio per rebranding aziendale è un'altra situazione comune. Quando un'azienda cambia nome o strategia di marketing, migrare WordPress verso un nuovo dominio mantiene intatti contenuti, struttura e posizionamento SEO accumulati nel tempo.

Infine, la creazione di ambienti di staging per testare aggiornamenti e nuove funzionalità senza rischiare il sito in produzione è una pratica professionale essenziale. Duplicare il sito WordPress su un sottodominio o server separato ti permette di sperimentare in sicurezza.

Rischi di una migrazione non pianificata

Una migrazione WordPress affrontata senza preparazione può causare downtime prolungato (visitatori e vendite persi), perdita definitiva di dati (articoli, immagini, configurazioni), problemi SEO (link rotti, calo posizionamento Google), ed errori tecnici difficili da risolvere (pagine bianche, database non raggiungibili, funzionalità bloccate).

Tipi di Migrazione WordPress

Confronto visuale tra tipologie di migrazione WordPress per diversi scenari di trasferimento sito
Le quattro tipologie principali di migrazione WordPress: ogni scenario richiede accorgimenti specifici per il trasferimento sicuro.

Migrazione da locale a produzione

Spostare WordPress dal tuo computer locale a un server di produzione è il tipo di migrazione più comune per chi sviluppa siti in proprio. La differenza principale rispetto ad altri tipi di migrazione sta nel cambio completo di ambiente: passi da localhost (127.0.0.1 o nomesito.local) a un dominio pubblico, da database locale a database remoto, e da percorsi file del tuo computer a percorsi server.

Questa migrazione richiede particolare attenzione al search-replace degli URL nel database. WordPress memorizza percorsi assoluti in decine di tabelle, e ogni riferimento a "localhost" deve essere sostituito con il nuovo dominio. Gli URL nelle immagini, nei link interni, e nelle configurazioni dei plugin devono essere aggiornati correttamente.

Il caso d'uso tipico è il lancio di un nuovo sito web: hai costruito tutto in locale, testato le funzionalità, verificato il design su diversi dispositivi, e ora sei pronto a pubblicarlo. Questa migrazione segna il passaggio da "work in progress" a "sito live".

Trasferimento tra hosting provider

Migrare WordPress da un provider di hosting a un altro mantiene lo stesso dominio ma cambia l'infrastruttura server sottostante. Le motivazioni più frequenti sono performance insufficienti, costi elevati, supporto tecnico inadeguato, o funzionalità mancanti nell'hosting attuale.

La differenza tecnica rispetto alla migrazione locale-produzione è che entrambi gli ambienti sono già online e configurati per WordPress. Il dominio resta lo stesso, quindi il search-replace nel database non è necessario (a meno che non cambino percorsi specifici). La complessità sta nella sincronizzazione temporale: devi aggiornare i DNS per puntare al nuovo hosting, aspettare la propagazione, e gestire il periodo di transizione.

Questo tipo di migrazione richiede coordinamento: devi evitare che modifiche fatte al vecchio sito durante la migrazione vadano perse. La pratica migliore è mettere il sito in manutenzione, completare il trasferimento, testare sul nuovo hosting, e solo dopo aggiornare i DNS pubblici.

Cambio dominio e URL

Cambiare dominio mantenendo lo stesso hosting comporta sfide principalmente legate alla SEO e al search-replace del database. Questo scenario si verifica durante rebranding aziendali, fusioni tra aziende, o ottimizzazioni della strategia di marketing.

La migrazione con cambio dominio richiede attenzione meticolosa: ogni URL nel database deve essere aggiornato dal vecchio al nuovo dominio. Inoltre, devi implementare redirect 301 permanenti dal vecchio al nuovo dominio per preservare il posizionamento SEO e garantire che visitatori e motori di ricerca trovino i contenuti nella nuova posizione.

Il caso d'uso specifico più comune è l'evoluzione del brand aziendale. Un'azienda che passa da "esempio-servizi.it" a "esempio.com" vuole mantenere tutta la storia, i contenuti e l'autorevolezza SEO accumulata, ma presentarsi con una nuova identità digitale.

Duplicazione sito per staging o sviluppo

Creare una copia identica del sito WordPress su un dominio o sottodominio separato serve per testare modifiche senza rischiare il sito in produzione. Questa non è una migrazione nel senso stretto, ma una clonazione: mantieni sia il sito originale che la copia.

Le differenze tecniche sono significative: il sito clonato usa tipicamente un sottodominio (staging.tuosito.it), un dominio temporaneo fornito dall'hosting, o persino un ambiente locale. Devi modificare wp-config.php per impedire che il sito staging invii email, si faccia indicizzare da Google, o interferisca con il sito di produzione.

Il caso d'uso professionale è il testing sicuro: vuoi testare un nuovo plugin, aggiornare WordPress alla versione più recente, riprogettare il tema, o implementare nuove funzionalità. Farlo su staging ti permette di verificare che tutto funzioni prima di applicare le modifiche al sito live, minimizzando i rischi.

Preparazione alla Migrazione: Backup Completo

Web developer che prepara backup completo per migrare sito WordPress in sicurezza
Il backup completo di database e file è il primo step fondamentale prima di ogni migrazione WordPress.

Prima di iniziare qualsiasi migrazione WordPress, un backup completo è il tuo paracadute di sicurezza. Senza backup, un errore durante la migrazione può significare perdita irreversibile di dati. La preparazione corretta prevede backup sia del database che dei file, verificati e testati per garantirne l'integrità.

Backup del database WordPress

Il database WordPress contiene tutti i contenuti critici del tuo sito: articoli, pagine, commenti, utenti, impostazioni plugin, configurazioni tema e opzioni generali. Esportare il database è il primo passo essenziale.

Il metodo più comune è tramite phpMyAdmin, lo strumento di gestione database incluso in quasi tutti gli hosting. Accedi al pannello di controllo hosting, apri phpMyAdmin, seleziona il database WordPress, e clicca sulla tab "Esporta". Scegli metodo "Rapido" e formato "SQL", quindi scarica il file .sql risultante sul tuo computer.

Alternativamente, puoi usare plugin dedicati che automatizzano il backup database. UpdraftPlus, BlogVault e BackupBuddy sono soluzioni affidabili che permettono backup schedulati automatici, salvando copie su cloud storage come Google Drive o Dropbox.

Se hai accesso SSH al server, il comando mysqldump offre controllo completo: mysqldump -u username -p database_name > backup.sql crea un export del database in formato SQL testuale, ideale per database di grandi dimensioni.

Backup dei file via FTP o file manager

Oltre al database, devi salvare tutti i file WordPress: core, tema, plugin, immagini caricate e file di configurazione. La directory completa da backuppare è la root di WordPress, tipicamente public_html o www.

Con un client FTP come FileZilla, connettiti al tuo hosting e scarica l'intera cartella WordPress sul tuo computer. Questo metodo funziona bene per siti di piccole-medie dimensioni, ma può essere lento per siti con migliaia di file o molti gigabyte di immagini.

Il file manager del pannello hosting offre un'alternativa più rapida: crea un archivio compresso (.zip o .tar.gz) della directory WordPress direttamente sul server, poi scarica l'archivio. Questo è molto più veloce perché comprimi i file sul server e scarichi un unico file invece di migliaia.

I plugin backup menzionati prima gestiscono automaticamente anche i file. UpdraftPlus, per esempio, divide il backup in componenti: database, plugin, temi, upload, e altri file. Questo approccio modulare rende più gestibile il download e ripristino di backup di grandi dimensioni.

Verifica integrità backup

Un backup non testato è un backup inutile. Prima di procedere con la migrazione, verifica che i backup siano completi e funzionanti.

Per il database, apri il file .sql con un editor di testo e controlla che contenga effettivamente i tuoi dati. Cerca tabelle come wp_posts, wp_options, wp_users. Se il file è quasi vuoto o contiene errori, rifai l'export. Puoi anche tentare un'importazione di test su un database locale per verificare che non ci siano errori di sintassi SQL.

Per i file, verifica che l'archivio o la directory scaricata contenga tutte le cartelle essenziali: wp-content (con plugins, themes, uploads), wp-admin, wp-includes, e i file root come wp-config.php, index.php, .htaccess. Controlla le dimensioni: se la cartella wp-content/uploads dovrebbe occupare 2GB ma nel backup occupa 50MB, qualcosa è andato storto.

Una checklist pre-migrazione utile include:

  • ✓ Backup database esportato e scaricato
  • ✓ Tutti i file WordPress scaricati o archiviati
  • ✓ Verifica dimensioni backup coerenti con sito live
  • ✓ Backup salvato in almeno 2 posizioni (computer + cloud)
  • ✓ Annotati credenziali database attuale (nome db, utente, password)
  • ✓ Disattivati plugin cache e sicurezza che potrebbero interferire

Per approfondire strategie di backup e automazione, consulta la guida completa su come proteggere il tuo sito con backup WordPress efficaci.

Metodi di Migrazione: Plugin vs Manuale

Esistono due approcci principali per migrare WordPress: usare plugin automatici che gestiscono il processo, oppure eseguire una migrazione manuale controllando ogni passaggio. Entrambi i metodi hanno vantaggi e svantaggi specifici che devi valutare in base al tuo caso.

Pro e contro migrazione con plugin

I plugin di migrazione automatizzano gran parte del processo: esportano database e file in un unico pacchetto, gestiscono il search-replace degli URL, e in molti casi permettono di importare tutto con pochi clic nella nuova installazione WordPress.

Vantaggi dei plugin:

  • Semplicità d'uso: interfaccia guidata accessibile anche a utenti non tecnici
  • Velocità: la migrazione può completarsi in 15-30 minuti per siti piccoli-medi
  • Search-replace automatico: il plugin gestisce la sostituzione URL senza errori
  • Riduzione errori umani: meno step manuali significa meno possibilità di dimenticare qualcosa

Svantaggi dei plugin:

  • Limitazioni dimensioni: molti plugin gratuiti hanno limiti di upload (512MB tipico), richiedendo versione premium per siti grandi
  • Minore controllo: non vedi esattamente cosa sta succedendo durante il processo
  • Costi: le versioni premium dei plugin migliori costano $50-100/anno
  • Dipendenza plugin: alcune migrazioni complesse (database molto grandi, configurazioni server particolari) possono fallire
  • Compatibilità hosting: alcuni hosting limitano esecuzione PHP o upload, bloccando certi plugin

Pro e contro migrazione manuale

La migrazione manuale prevede di esportare il database via phpMyAdmin, scaricare i file via FTP, caricarli sul nuovo server, importare il database, e configurare manualmente wp-config.php e search-replace.

Vantaggi migrazione manuale:

  • Controllo totale: vedi e gestisci ogni singolo passaggio della migrazione
  • Nessun limite dimensioni: puoi migrare database di qualsiasi dimensione e centinaia di gigabyte di file
  • Zero costi: usi solo strumenti inclusi nell'hosting (phpMyAdmin, FTP, file manager)
  • Flessibilità: puoi adattare il processo a scenari complessi o configurazioni particolari
  • Apprendimento: capisci nel dettaglio come funziona WordPress internamente

Svantaggi migrazione manuale:

  • Complessità: richiede conoscenze tecniche di database, FTP, e configurazione server
  • Tempo: può richiedere diverse ore, specialmente alla prima migrazione
  • Rischio errori: dimenticare uno step (come il search-replace) può rompere il sito
  • Debugging difficile: se qualcosa va storto, devi diagnosticare manualmente il problema

Quale metodo scegliere per il tuo caso

Scegli migrazione con plugin se: è la tua prima migrazione, il sito è sotto 1GB con meno di 1000 pagine, non hai esperienza con FTP o phpMyAdmin, puoi investire $50-100 per versione premium, e vuoi un processo automatico veloce.

Scegli migrazione manuale se: il sito supera 2GB o 5000 pagine, hai competenze tecniche intermedie-avanzate, preferisci zero costi usando solo strumenti hosting, hai configurazioni complesse (multilingua, ecommerce), o vuoi controllo completo su ogni passaggio del processo.

Web developer che confronta metodi plugin e manuale per trasferimento sito WordPress

Plugin Migrazione WordPress: Panoramica

Il mercato offre numerosi plugin per migrare WordPress automaticamente. Ognuno ha caratteristiche specifiche, limitazioni e modelli di pricing diversi. Qui trovi una panoramica dei plugin più diffusi per aiutarti a orientarti nella scelta, senza entrare in tutorial specifici.

Caratteristiche plugin migrazione più diffusi

Duplicator è tra i plugin migrazione più completi. La versione gratuita permette migrazioni base, mentre Duplicator Pro offre funzionalità avanzate come trasferimenti server-to-server diretti (senza scaricare file sul computer), import drag-and-drop, e template di sito pre-configurati che puoi riusare per più clienti. È particolarmente affidabile per migrazioni multisite e conversioni da subsite a installazione standalone. Il pricing parte da circa $50/anno per 2 siti.

All-in-One WP Migration eccelle per semplicità d'uso grazie all'interfaccia drag-and-drop estremamente intuitiva. Esporti l'intero sito (file, plugin, temi, database) in un unico file, poi lo trascini nella nuova installazione WordPress. La versione gratuita funziona bene per siti piccoli-medi, ma ha limitazioni di upload size che richiedono estensioni premium per siti oltre 512MB. L'estensione Unlimited costa $69/anno, mentre altre estensioni partono da $99/anno.

UpdraftPlus è principalmente un plugin backup con oltre 1 milione di installazioni attive, ma include funzionalità di migrazione. Il punto di forza è il controllo granulare: puoi scegliere esattamente quali componenti migrare (solo database, solo plugin specifici, solo upload). La versione gratuita richiede download/upload manuale dei backup, mentre UpdraftPlus Premium con modulo Migrator costa da $70/anno e supporta cloud storage integrato (Google Drive, Dropbox, Amazon S3).

Migrate Guru di BlogVault offre migrazioni gratuite illimitate senza restrizioni di dimensioni, un vantaggio raro. Il processo avviene sui server di BlogVault invece che sul tuo hosting, riducendo il carico e i timeout. Ideale per migrazioni di siti molto grandi o hosting con risorse limitate.

WPvivid Backup Plugin combina backup, ripristino e migrazione in un'unica soluzione gratuita. Supporta backup incrementali e cloud storage, con interfaccia moderna e processo guidato accessibile. La versione Pro aggiunge funzionalità come migrazione automatica e backup senza limiti.

Limitazioni comuni dei plugin automatici

Nonostante la comodità, i plugin di migrazione hanno alcune limitazioni tecniche. La maggior parte degli hosting configura limiti di esecuzione PHP (max_execution_time di 30-60 secondi) che possono causare timeout durante l'elaborazione. Database superiori a 500MB-1GB richiedono talvolta strumenti più robusti come WP-CLI. In sintesi, i plugin sono eccellenti per migrazioni standard di siti piccoli-medi, ma per scenari complessi o siti molto grandi, la migrazione manuale offre maggiore affidabilità.

Migrazione Manuale Step-by-Step

Professionista che esegue migrazione manuale di sito WordPress con interfaccia tecnica e database
La migrazione manuale offre controllo completo su ogni fase del trasferimento: database, file FTP e configurazione.

La migrazione manuale ti dà controllo completo su ogni fase del processo. Segui questa guida passo-passo per trasferire WordPress dal vecchio al nuovo ambiente in modo sicuro e metodico.

Step 1: Export del database via phpMyAdmin

Accedi al pannello di controllo del tuo hosting attuale (cPanel, Plesk, o altro) e apri phpMyAdmin. Nella colonna sinistra troverai l'elenco dei database: seleziona il database WordPress (di solito ha un nome come "wp_nometuosito" o simile).

Clicca sulla tab "Esporta" nel menu superiore. Ti vengono presentate due opzioni:

  • Metodo Rapido: esporta tutte le tabelle con impostazioni standard (raccomandato per la maggior parte dei casi)
  • Metodo Personalizzato: permette di scegliere tabelle specifiche e opzioni avanzate

Seleziona metodo Rapido e formato SQL, quindi clicca "Esegui". Il browser scaricherà un file con estensione .sql (es. "nomedatabase.sql") che contiene l'intero database testuale.

Verifica: Apri il file .sql con un editor di testo (Notepad++, Sublime Text, o anche Blocco Note). Dovresti vedere comandi SQL come "CREATE TABLE", "INSERT INTO wp_posts", "INSERT INTO wp_options". Se il file è quasi vuoto o contiene errori, ripeti l'export.

Errori comuni: Se phpMyAdmin va in timeout durante l'export (errore "Maximum execution time exceeded"), il tuo database è troppo grande per l'export standard. Usa invece esportazione tramite comando SSH mysqldump o il plugin UpdraftPlus per creare il backup database.

Step 2: Download file WordPress via FTP

Installa un client FTP come FileZilla (gratuito e multipiattaforma) e recupera le credenziali FTP dal pannello hosting: indirizzo server (ftp.tuosito.com), username, password, e porta (solitamente 21 per FTP o 22 per SFTP).

Connettiti al server FTP e naviga fino alla directory root di WordPress, tipicamente /public_html o /www o /htdocs. Riconosci la directory WordPress dalla presenza di cartelle come wp-admin, wp-content, wp-includes, e file come wp-config.php e index.php.

Seleziona l'intera directory WordPress, clicca con tasto destro e scegli "Scarica". FileZilla inizierà a trasferire tutti i file sul tuo computer. Questo processo può richiedere da pochi minuti a diverse ore in base a dimensioni del sito e velocità connessione.

Ottimizzazione: Se il sito è molto grande (molti GB), considera di creare un archivio .zip direttamente sul server tramite file manager dell'hosting, poi scarica solo l'archivio compresso via FTP. È molto più veloce che scaricare migliaia di file singoli.

Verifica: Dopo il download, controlla che la cartella sul tuo computer contenga tutte le sottocartelle principali. Verifica soprattutto che wp-content/uploads contenga tutte le immagini (confronta dimensioni cartella locale con quella sul server).

Step 3: Upload file sul nuovo hosting

Accedi via FTP al nuovo server usando le credenziali fornite dal nuovo hosting. Naviga alla directory root dove installerai WordPress (solitamente public_html per dominio principale, o una sottocartella per addon domain).

Se il nuovo hosting ha già una installazione WordPress di default, eliminala completamente prima di procedere. Cancella tutti i file e cartelle WordPress presenti per evitare conflitti.

Carica l'intera directory WordPress scaricata al punto precedente sul nuovo server. Anche questo upload può richiedere tempo considerevole. FileZilla mostra progresso e velocità di trasferimento.

Metodo alternativo più veloce: Carica via FTP solo l'archivio .zip della directory WordPress, poi usa il file manager del pannello hosting per estrarre l'archivio direttamente sul server. Questo è significativamente più veloce, specialmente per siti con decine di migliaia di file.

Permessi file: Dopo l'upload, verifica che i permessi file siano corretti. Generalmente, cartelle dovrebbero essere 755 e file 644. Il file wp-config.php dovrebbe essere 640 o 600 per maggior sicurezza. Molti hosting impostano automaticamente i permessi corretti, ma è meglio verificare.

Step 4: Creazione database sul nuovo server

Prima di importare il database esportato, devi creare un database vuoto sul nuovo hosting. Accedi al pannello di controllo (cPanel o simile) e cerca la sezione "Database MySQL" o "MySQL Database Wizard".

Crea un nuovo database dandogli un nome riconoscibile (es. "wp_nomesito"). Annota il nome esatto perché ti servirà per configurare wp-config.php.

Crea un nuovo utente database con username e password complessa. Annota anche questi dettagli. Alcuni hosting generano automaticamente username e password complessi per sicurezza.

Assegna l'utente appena creato al database, garantendo tutti i privilegi (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER). Questo è essenziale per il corretto funzionamento di WordPress.

Host database: Nella maggior parte dei casi è "localhost", ma alcuni hosting usano host remoti (es. "mysql.nomehosting.com"). Controlla la documentazione dell'hosting o contatta il supporto per confermare l'host database corretto da usare.

Step 5: Import database e configurazione

Accedi a phpMyAdmin sul nuovo hosting, seleziona il database vuoto appena creato, e clicca sulla tab "Importa".

Clicca "Scegli file" e seleziona il file .sql esportato al primo step. Verifica che il formato sia impostato su "SQL" e clicca "Esegui" per avviare l'import.

phpMyAdmin caricherà e importerà tutte le tabelle nel database. Per database piccoli (pochi MB) il processo è istantaneo. Database grandi (centinaia di MB) possono richiedere diversi minuti.

Errori import comuni:

  • "MySQL server has gone away": Il file è troppo grande per i limiti di import di phpMyAdmin. Soluzione: dividi il file .sql in parti più piccole usando strumenti come BigDump, oppure usa import via SSH con comando mysql -u username -p database_name < backup.sql
  • "Duplicate entry": Stai provando a importare in un database non vuoto che già contiene tabelle. Soluzione: svuota completamente il database prima di importare
  • "Unknown collation": Il database di origine usa una collation (utf8mb4_unicode_ci) non supportata dal database di destinazione. Soluzione: aggiorna la versione MySQL/MariaDB sul nuovo hosting o modifica la collation nel file .sql

Verifica import riuscito: Dopo l'import, dovresti vedere tutte le tabelle WordPress nella colonna sinistra di phpMyAdmin (wp_posts, wp_options, wp_users, etc.). Clicca su wp_posts e verifica che contenga i tuoi articoli.

Ora devi configurare wp-config.php sul nuovo server. Apri il file wp-config.php (via FTP o file manager) e aggiorna queste righe con i nuovi dettagli database:

define('DB_NAME', 'nome_nuovo_database');
define('DB_USER', 'nome_nuovo_utente');
define('DB_PASSWORD', 'password_nuovo_database');
define('DB_HOST', 'localhost'); // o host specifico del nuovo hosting

Salva il file. A questo punto, se visiti il nuovo URL del sito, dovresti vedere WordPress caricare, anche se probabilmente con link rotti e immagini mancanti. Questo è normale: il prossimo step cruciale è il search-replace degli URL.

Search and Replace nel Database WordPress

Interfaccia search replace database per aggiornare URL durante migrazione sito WordPress
Il search-replace degli URL nel database è il passaggio critico per garantire che link e immagini funzionino correttamente.

Dopo aver importato il database, WordPress contiene ancora tutti i riferimenti al vecchio URL. Devi sostituire sistematicamente ogni occorrenza del vecchio dominio con il nuovo per garantire che link interni, immagini e configurazioni funzionino correttamente.

Perché serve sostituire URL nel database

WordPress memorizza URL assoluti in decine di posizioni diverse nel database. Non si tratta solo della home URL nelle impostazioni generali, ma di centinaia o migliaia di riferimenti sparsi in:

  • wp_options: siteurl, home, upload_path, template, stylesheet
  • wp_posts: URL nelle immagini embedded nei contenuti, link interni negli articoli, attachment URLs
  • wp_postmeta: metadati custom, serialized data dei page builder
  • wp_comments: URL nei commenti e link autori
  • Tabelle plugin: SEO plugin, page builder, form plugin memorizzano URL in proprie tabelle custom

Se non sostituisci questi URL, il sito presenterà problemi gravi: immagini non caricate (puntano ancora al vecchio hosting), link interni rotti, redirect 404, configurazioni plugin che non funzionano, e temi che caricano risorse dal vecchio dominio causando errori mixed content su HTTPS.

La sfida tecnica è che molti dati in WordPress sono serializzati: array e oggetti PHP convertiti in stringhe per essere salvati nel database. Se usi una semplice query SQL REPLACE, rischi di rompere i dati serializzati perché la lunghezza delle stringhe è codificata. Per esempio, s:15:"oldsite.com" deve diventare s:15:"newsite.com" mantenendo coerente la lunghezza dichiarata.

Tool search-replace consigliati

Better Search Replace è un plugin WordPress gratuito che esegue search-replace sicuro direttamente dalla bacheca WordPress. È sviluppato dal team Delicious Brains ed è basato sul famoso script interconnect/it.

Vantaggi: interfaccia semplice dentro WordPress, gestisce correttamente dati serializzati, modalità "dry run" per testare senza modificare il database, compatibile con multisite, non richiede accesso SSH o conoscenze tecniche avanzate.

Limitazioni: devi poter accedere alla bacheca WordPress (potrebbe non essere possibile se il sito è completamente rotto dopo migrazione), non adatto a database enormi che potrebbero andare in timeout.

Search Replace DB script di interconnect/it è uno script PHP standalone che carichi sul server via FTP. È lo standard de facto per search-replace nel database WordPress, usato anche come base per WP-CLI.

Vantaggi: funziona anche se WordPress è completamente rotto, interfaccia web intuitiva, gestisce perfettamente serialized data, include modalità dry-run, completamente gratuito e open source, self-destruct button per rimuoverlo automaticamente dopo l'uso (importante per sicurezza).

Limitazioni: richiede upload manuale sul server e accesso via browser, deve essere eliminato dopo l'uso per non lasciare vulnerabilità di sicurezza sul server.

WP-CLI search-replace è il metodo preferito per chi ha accesso SSH. Il comando wp search-replace 'http://oldsite.com' 'https://newsite.com' esegue l'operazione in modo rapido ed efficiente direttamente da terminale.

Vantaggi: velocissimo anche su database enormi, integrato in WordPress core tool, possibilità di specificare tabelle specifiche, dry-run con flag --dry-run, nessun timeout PHP.

Limitazioni: richiede accesso SSH e conoscenza base linea di comando, non tutti gli hosting permettono SSH.

Esecuzione search-replace sicura

Indipendentemente dal tool scelto, segui sempre questi passaggi per un search-replace sicuro:

1. Backup del database prima di search-replace: Anche se hai già un backup dalla fase preparazione, fai un nuovo export del database appena importato sul nuovo server. Se il search-replace va storto, puoi reimportare rapidamente.

2. Usa URL completi con protocollo: Sostituisci http://oldsite.com con https://newsite.com (o viceversa) includendo http:// o https://. Questo previene sostituzioni parziali indesiderate.

3. Esegui sempre dry-run prima: Tutti i tool offrono modalità test che mostra quante sostituzioni verrebbero fatte senza applicarle realmente. Controlla che il numero sia ragionevole (centinaia o migliaia per siti normali).

4. Tabelle da includere: Tipicamente devi eseguire search-replace su tutte le tabelle WordPress. I tool automatici selezionano automaticamente tutte le tabelle con prefisso wp_ (o il tuo prefisso custom).

5. Attenzione a dati serializzati: Verifica che il tool gestisca correttamente serialized data. Better Search Replace e interconnect/it script lo fanno automaticamente. Mai usare semplici query SQL UPDATE...REPLACE su WordPress.

Esempio pratico con Better Search Replace plugin:

  1. Installa e attiva Better Search Replace dalla bacheca WordPress
  2. Vai su Strumenti → Better Search Replace
  3. In "Search for" inserisci: http://vecchiosito.com
  4. In "Replace with" inserisci: https://nuovosito.com
  5. Seleziona tutte le tabelle del database
  6. Spunta "Run as dry run?" per testare
  7. Clicca "Run Search/Replace" e verifica i risultati
  8. Se corretto, ripeti senza dry-run per applicare le modifiche

Verifica post search-replace: Dopo l'esecuzione, visita il sito e controlla che immagini carichino correttamente, link interni funzionino, e la home page mostri contenuti. Controlla anche wp_options nel database: siteurl e home dovrebbero ora contenere il nuovo URL.

Configurazione Post-Migrazione

Professionista che aggiorna configurazione WordPress dopo trasferimento sito su nuovo hosting
Aggiornare wp-config.php e rigenerare i permalink sono step essenziali per completare la migrazione WordPress.

Dopo aver importato database, caricato file, e eseguito search-replace, devi verificare e sistemare alcune configurazioni essenziali per garantire che WordPress funzioni correttamente sul nuovo ambiente.

Aggiornare wp-config.php

Il file wp-config.php contiene le configurazioni critiche di WordPress. Oltre alle credenziali database già aggiornate durante l'import, ci sono altri parametri da verificare.

Credenziali database (già fatte):

define('DB_NAME', 'nome_database');
define('DB_USER', 'utente_database');
define('DB_PASSWORD', 'password_database');
define('DB_HOST', 'localhost'); // o host specifico

Salt keys di sicurezza: WordPress usa chiavi crittografiche per proteggere sessioni e cookie. È buona pratica generare nuove salt keys per il nuovo ambiente. Visita https://api.wordpress.org/secret-key/1.1/salt/ per ottenere chiavi casuali fresche, poi sostituisci la sezione corrispondente in wp-config.php.

URL sito (opzionale ma utile): Se hai problemi di redirect loop dopo migrazione, puoi forzare URL sito aggiungendo queste righe sopra la riga "That's all, stop editing!":

define('WP_HOME', 'https://nuovosito.com');
define('WP_SITEURL', 'https://nuovosito.com');

Queste righe forzano WordPress a usare gli URL specificati, ignorando il database. Utile per risolvere problemi temporanei, ma rimuovile una volta che il sito funziona normalmente.

Debug mode (solo temporaneo): Se il sito mostra errori o pagine bianche, abilita temporaneamente il debug mode per vedere messaggi dettagliati:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Questo scrive errori nel file /wp-content/debug.log invece di mostrarli pubblicamente. Ricorda di disabilitare debug mode una volta risolti i problemi (WP_DEBUG false) perché impatta le performance.

Permessi file wp-config.php: Per sicurezza, imposta permessi restrittivi su wp-config.php: chmod 600 wp-config.php o 640 se 600 causa problemi.

I permalink WordPress (URL friendly come /blog/nome-articolo/ invece di /?p=123) dipendono dalla corretta configurazione del file .htaccess su server Apache, o configurazione nginx.

Rigenerare permalink: Dopo la migrazione, i permalink potrebbero non funzionare correttamente, causando errori 404 su tutte le pagine tranne la home. Per rigenerarli:

  1. Accedi alla bacheca WordPress
  2. Vai su Impostazioni → Permalink
  3. Non cambiare nulla, clicca semplicemente "Salva modifiche"

Questo processo rigenera il file .htaccess con le regole di rewrite corrette per il nuovo ambiente.

Verifica file .htaccess: Se i permalink ancora non funzionano, controlla che esista il file .htaccess nella root di WordPress. Aprilo e verifica che contenga le regole WordPress standard:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Permessi .htaccess: Il file deve essere scrivibile da WordPress (tipicamente 644). Se i permessi sono troppo restrittivi, WordPress non può rigenerare le regole automaticamente.

Server nginx: Se il nuovo hosting usa nginx invece di Apache, .htaccess viene ignorato. Devi configurare manualmente le regole di rewrite nginx. Consulta la documentazione del tuo hosting o contatta il supporto tecnico per la configurazione nginx corretta per WordPress.

Verificare connessione al database

Se dopo la migrazione vedi "Errore nello stabilire una connessione al database", significa che WordPress non riesce a connettersi al database MySQL.

Cause comuni:

  • Credenziali database errate in wp-config.php (nome, utente, password)
  • DB_HOST errato (non tutti gli hosting usano "localhost")
  • Database non esistente sul nuovo server
  • Utente database non ha privilegi sufficienti
  • Server database offline o sovraccarico

Diagnosi: Prova a connetterti al database usando le stesse credenziali via phpMyAdmin. Se phpMyAdmin riesce a connettersi ma WordPress no, il problema è nella configurazione wp-config.php. Se nemmeno phpMyAdmin si connette, il problema è nelle credenziali o nel database server.

Soluzione: Verifica riga per riga le credenziali in wp-config.php contro quelle fornite dall'hosting. Controlla typo (maiuscole/minuscole contano). Se necessario, ricrea database e utente dal pannello hosting.

Test connessione database con script PHP: Crea un file test-db.php nella root con questo contenuto:

<?php
$link = mysqli_connect('localhost', 'utente_db', 'password_db', 'nome_db');
if (!$link) {
    die('Errore connessione: ' . mysqli_connect_error());
}
echo 'Connessione database riuscita!';
mysqli_close($link);
?>

Sostituisci i parametri con le tue credenziali, carica il file, e visitalo via browser. Se mostra "Connessione database riuscita!", le credenziali sono corrette e il problema è altrove. Elimina il file dopo il test per sicurezza.

DNS e Propagazione: Concetti Base

Una volta completata la migrazione sul nuovo hosting e verificato che tutto funzioni, devi puntare il dominio al nuovo server modificando i record DNS. Questa sezione spiega i concetti base necessari per completare la migrazione, senza entrare in configurazioni avanzate.

Cosa sono i DNS e come funzionano

Il Domain Name System (DNS) è il "rubrica telefonica di Internet": traduce nomi dominio leggibili (esempio.com) in indirizzi IP numerici (93.184.216.34) che i computer usano per connettersi ai server.

Quando un visitatore digita il tuo dominio nel browser, avviene questa sequenza:

  1. Il browser chiede al resolver DNS (tipicamente fornito dall'ISP) l'indirizzo IP del dominio
  2. Il resolver interroga i nameserver autoritativi del dominio
  3. I nameserver rispondono con il record A che contiene l'IP del server web
  4. Il browser si connette a quell'IP e carica il sito

Durante una migrazione hosting, devi aggiornare i record DNS per puntare al nuovo indirizzo IP fornito dal nuovo hosting invece del vecchio. Questo "dice" a Internet che il tuo sito ora si trova su un server diverso.

Record DNS principali:

  • Record A: associa il dominio (esempio.com) a un indirizzo IPv4 (es. 93.184.216.34)
  • Record AAAA: associa il dominio a un indirizzo IPv6
  • Record CNAME: crea un alias (es. www.esempio.com punta a esempio.com)
  • Record MX: gestisce email (indica i server email per il dominio)

Per migrare WordPress, ti interessa principalmente il record A. Il nuovo hosting ti fornirà l'indirizzo IP del nuovo server, che dovrai inserire nel record A del tuo dominio.

Tempi di propagazione DNS

Quando modifichi i record DNS, il cambiamento non è istantaneo. La propagazione DNS è il tempo necessario perché i server DNS in tutto il mondo aggiornino le loro cache con i nuovi valori.

Il tempo di propagazione tipico è 24-48 ore, anche se molti cambiamenti si completano entro 4-8 ore per la maggior parte degli utenti. In casi rari, la propagazione può richiedere fino a 72 ore.

Fattori che influenzano la velocità di propagazione:

  • TTL (Time To Live): ogni record DNS ha un valore TTL che indica per quanto tempo i resolver possono cachare il record. Un TTL di 3600 secondi (1 ora) significa che i resolver aggiorneranno la cache ogni ora. TTL più bassi accelerano la propagazione.
  • Caching ISP: alcuni provider Internet ignorano i TTL e aggiornano le cache solo ogni 2-3 giorni, indipendentemente dal TTL impostato.
  • Tipo di modifica: cambiare un record A propaga più velocemente che cambiare i nameserver del dominio (che può richiedere fino a 48 ore).
  • Geografia: utenti più vicini ai server DNS autoritativi vedono i cambiamenti prima.

Best practice per velocizzare: Se sai che dovrai migrare, abbassa il TTL dei tuoi record DNS a 300 secondi (5 minuti) almeno 24-48 ore prima di fare il cambio. Questo permette ai resolver di ricaricare più frequentemente, accelerando la propagazione quando esegui la modifica effettiva.

Come verificare la propagazione

Durante e dopo la modifica DNS, vuoi monitorare lo stato della propagazione per sapere quando il cambiamento è completo e il nuovo server è raggiungibile globalmente.

WhatsMyDNS.net è lo strumento più popolare per verificare propagazione DNS. Inserisci il tuo dominio, seleziona tipo record (A), e clicca cerca. Il tool interroga decine di server DNS in diverse nazioni mostrando quale IP vedono. Se tutti mostrano il nuovo IP, la propagazione è completa.

DNSChecker.org offre funzionalità simili con interfaccia diversa e server in più località geografiche. Utile per verificare propagazione in mercati specifici.

Comando nslookup/dig: Se hai familiarità con terminale, puoi verificare manualmente con comandi:

  • Windows: nslookup tuodominio.com
  • Mac/Linux: dig tuodominio.com

Questi comandi interrogano i DNS e mostrano quale IP è associato al dominio secondo il tuo resolver locale.

Testare con file hosts (metodo avanzato): Prima di cambiare i DNS pubblici, puoi testare il nuovo sito modificando il file hosts del tuo computer per forzare il dominio a risolvere verso il nuovo IP. Questo ti permette di vedere e testare il sito sul nuovo hosting mentre il resto del mondo vede ancora il vecchio.

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Mac/Linux: /etc/hosts

Aggiungi una riga: 93.184.216.34 tuodominio.com (sostituisci con IP nuovo hosting). Salva, svuota la cache DNS locale (ipconfig /flushdns su Windows, sudo dscacheutil -flushcache su Mac), e visita il dominio. Solo tu vedrai il nuovo hosting mentre testi.

Attenzione: Ricorda di rimuovere la riga dal file hosts dopo aver aggiornato i DNS pubblici, altrimenti continuerai a vedere il nuovo IP anche se ci fossero problemi con la propagazione reale.

Web developer che testa funzionalità sito WordPress dopo trasferimento con checklist verifica completa

Verifica Post-Migrazione: Checklist Completa

Una volta completata la migrazione tecnica e propagati i DNS, devi verificare sistematicamente che ogni componente del sito funzioni correttamente sul nuovo hosting. Una checklist strutturata ti assicura di non trascurare aspetti critici.

Test funzionalità sito (login, form, ecommerce)

Accesso amministratore: Prima di tutto, testa che puoi accedere alla bacheca WordPress su /wp-admin. Usa le stesse credenziali del vecchio sito. Se non riesci, verifica che search-replace abbia aggiornato correttamente la tabella wp_users e controlla wp-config.php.

Navigazione e menu: Visita tutte le pagine principali del sito. Controlla che menu di navigazione funzionino, link in header e footer siano corretti, e che non ci siano errori 404 su pagine importanti. Testa sia da desktop che mobile.

Form di contatto: Se il sito usa form di contatto (Contact Form 7, Gravity Forms, WPForms), compila e invia un test. Verifica che:

  • Il form si invii senza errori
  • Ricevi l'email di notifica
  • L'autoresponder all'utente funzioni (se configurato)
  • I dati vengano salvati nel database del plugin (se applicabile)

Funzionalità ecommerce: Per siti WooCommerce o Easy Digital Downloads, testa l'intero funnel di acquisto:

  • Aggiunta prodotti al carrello
  • Processo checkout completo (usa modalità test del gateway pagamento)
  • Verifica che ordini vengano creati correttamente
  • Controlla email transazionali (conferma ordine, fattura)
  • Testa download file digitali se vendi prodotti digitali

Funzionalità utenti: Se il sito permette registrazione utenti, testa registrazione, login, logout, reset password, e profilo utente. Verifica che email di registrazione e reset password arrivino.

Plugin specifici: Testa qualsiasi funzionalità critica legata a plugin specifici: booking systems, membership areas, forum, gallerie fotografiche, calendari eventi, newsletter subscription.

Verifica immagini e media

Immagini in articoli e pagine: Apri diversi articoli e pagine, scrollando per verificare che tutte le immagini carichino correttamente. Se vedi icone rotte o immagini mancanti, significa che gli URL non sono stati aggiornati correttamente nel search-replace.

Libreria media: Accedi a Media → Libreria nella bacheca WordPress e verifica che tutte le immagini siano visibili. Prova a caricare una nuova immagine per confermare che upload funzioni sul nuovo hosting.

Immagini featured e thumbnails: Controlla che immagini in evidenza negli articoli, thumbnails nel blog, e immagini nelle sidebar si carichino correttamente. Problemi qui spesso indicano path errati nella tabella wp_postmeta.

File PDF e download: Se offri PDF o altri file scaricabili, testa il download di alcuni file per verificare che i link funzionino e i file siano accessibili nella nuova posizione.

Link interni: Naviga tra pagine diverse usando link interni negli articoli. Verifica che link relativi e assoluti funzionino. Se il search-replace è stato fatto correttamente, tutti i link interni dovrebbero puntare al nuovo dominio.

Link esterni: Controlla che link esterni (link a risorse esterne) funzionino ancora. Questi non dovrebbero essere influenzati dalla migrazione, ma è comunque buona pratica testarne alcuni campione.

Redirect: Se hai configurato redirect 301 dal vecchio dominio al nuovo (nel caso di cambio dominio), testali visitando alcuni URL del vecchio sito e verificando che reindirizzino automaticamente agli URL corrispondenti sul nuovo dominio.

Tool automatici: Per siti grandi, usa strumenti come Broken Link Checker plugin o servizi online come BrokenLinkCheck.com per scansionare il sito e identificare automaticamente link rotti.

Test velocità e performance

Google PageSpeed Insights: Testa il sito su PageSpeed Insights per verificare performance sia mobile che desktop. Confronta i punteggi con quelli del vecchio hosting. La migrazione verso hosting migliore dovrebbe migliorare i punteggi.

GTmetrix: Esegui test su GTmetrix per analisi dettagliata di tempi di caricamento, waterfall chart, e opportunità di ottimizzazione. Verifica che il nuovo hosting serva pagine più velocemente del vecchio.

Metriche chiave da verificare:

  • Time to First Byte (TTFB): dovrebbe essere sotto 600ms idealmente
  • First Contentful Paint: tempo per primo elemento visibile
  • Largest Contentful Paint: tempo per elemento principale caricato (target sotto 2.5s)
  • Total page size e numero requests: dovrebbero essere simili al vecchio sito

Test uptime: Nei giorni successivi alla migrazione, monitora l'uptime del sito. Servizi come UptimeRobot o Pingdom offrono monitoraggio gratuito che ti avvisa se il sito va offline.

Certificato SSL: Verifica che il certificato SSL sia installato e funzionante. Il sito dovrebbe caricare su https:// senza warning browser. Controlla che non ci siano errori "mixed content" (risorse caricate via http invece di https). Strumenti come Why No Padlock aiutano a identificare risorse non sicure.

Checklist finale scaricabile:

  • ✓ Accesso bacheca WordPress funzionante
  • ✓ Tutte le pagine principali caricano correttamente
  • ✓ Menu e navigazione funzionano
  • ✓ Immagini e media caricano senza errori
  • ✓ Form di contatto inviano email
  • ✓ Funzionalità ecommerce testate (se applicabile)
  • ✓ Link interni ed esterni verificati
  • ✓ Performance almeno pari o migliori del vecchio hosting
  • ✓ Certificato SSL attivo e funzionante
  • ✓ Nessun errore mixed content HTTPS
  • ✓ Backup post-migrazione salvato

Troubleshooting Problemi Comuni

Professionista che diagnostica e risolve errori comuni dopo migrazione sito WordPress
I problemi più comuni durante la migrazione hanno soluzioni pratiche: dalla connessione database agli errori permalink.

Anche seguendo la procedura corretta, possono emergere problemi durante o dopo la migrazione. Questa sezione copre gli errori più frequenti con soluzioni pratiche immediate.

Errore connessione database

Il messaggio "Errore nello stabilire una connessione al database" significa che WordPress non riesce a comunicare con MySQL.

Cause e soluzioni:

  • Credenziali errate in wp-config.php: Verifica riga per riga DB_NAME, DB_USER, DB_PASSWORD, DB_HOST. Anche uno spazio o carattere errato causa il problema. Confronta con credenziali fornite dall'hosting.
  • DB_HOST errato: Non tutti gli hosting usano "localhost". Alcuni richiedono "127.0.0.1", altri hostname specifici come "mysql.nomehosting.com". Controlla documentazione hosting o pannello di controllo per il valore corretto.
  • Database non esiste: Accedi a phpMyAdmin e verifica che il database esista. Se manca, crealo dal pannello hosting e reimporta il file .sql.
  • Privilegi utente insufficienti: L'utente database deve avere TUTTI i privilegi (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER). Verifica e assegna privilegi dal pannello database hosting.
  • Server database offline: Contatta supporto hosting se il problema persiste dopo aver verificato tutto quanto sopra.

Pagina bianca o errore 500

La "white screen of death" o errore 500 Internal Server Error indica un problema PHP che impedisce a WordPress di eseguire.

Diagnosi tramite log errori:

  • Abilita WP_DEBUG in wp-config.php per vedere messaggi errore dettagliati
  • Controlla file error_log nella root o wp-content per errori PHP registrati
  • Accedi ai log errore server dal pannello hosting (tipicamente in sezione "Error Logs" o "Logs")

Cause comuni e soluzioni:

  • Plugin incompatibile: Rinomina via FTP la cartella /wp-content/plugins in /wp-content/plugins-old. Questo disattiva tutti i plugin. Se il sito torna a funzionare, riattiva plugin uno per uno per identificare il colpevole.
  • Tema incompatibile: Rinomina via FTP la cartella del tema attivo in /wp-content/themes. WordPress riattiverà automaticamente un tema default. Se risolve, il problema è nel tema.
  • Memoria PHP insufficiente: Aggiungi define('WP_MEMORY_LIMIT', '256M'); in wp-config.php per aumentare limite memoria.
  • Versione PHP incompatibile: Se il nuovo hosting usa versione PHP diversa (es. PHP 8 vs PHP 7), plugin/temi vecchi potrebbero non funzionare. Cambia versione PHP dal pannello hosting o aggiorna plugin/temi.
  • File .htaccess corrotto: Rinomina .htaccess via FTP. Se il sito funziona, rigenera .htaccess da Impostazioni → Permalink in bacheca.

Se immagini mostrano icona rotta o link interni danno 404, il search-replace URL non è stato eseguito correttamente.

Soluzioni:

  • Riesegui search-replace: Usa Better Search Replace plugin o interconnect/it script per cercare ancora vecchi URL e sostituirli. Potrebbero esserci varianti che hai dimenticato (http vs https, www vs non-www).
  • Controlla wp_options: In phpMyAdmin, apri tabella wp_options e cerca i campi "siteurl" e "home". Devono contenere il nuovo URL corretto (es. https://nuovosito.com, senza slash finale).
  • Verifica upload_path: In wp_options cerca anche "upload_path" e "upload_url_path". Dovrebbero essere vuoti o contenere percorsi corretti relativi al nuovo hosting.
  • Permessi directory uploads: Verifica che /wp-content/uploads abbia permessi 755 e sia scrivibile. Se i permessi sono troppo restrittivi, WordPress non può servire o caricare immagini.

Se tutte le pagine tranne la home danno errore 404, i permalink non funzionano.

Soluzioni:

  • Rigenera permalink: Vai su Impostazioni → Permalink e clicca "Salva modifiche" senza cambiare nulla. Questo riscrive il file .htaccess.
  • Verifica .htaccess esista: Controlla via FTP che il file .htaccess sia presente nella root WordPress. Se manca, WordPress dovrebbe ricrearlo quando rigeneri permalink. Se non viene creato, i permessi directory potrebbero essere troppo restrittivi (serve 755).
  • Mod_rewrite non abilitato: Su server Apache, il modulo mod_rewrite deve essere abilitato per permalink funzionanti. Contatta supporto hosting per verificare/abilitare.
  • Server nginx: Se il nuovo hosting usa nginx invece di Apache, devi configurare manualmente le regole rewrite nginx. Consulta documentazione hosting o supporto tecnico.

Errore mixed content HTTPS

Se il sito carica su HTTPS ma browser mostra warning "contenuto non sicuro" o lucchetto barrato, hai errori mixed content: risorse caricate via HTTP invece di HTTPS.

Diagnosi: Apri Developer Tools browser (F12), vai su tab Console, e cerca warning "Mixed Content". Browser ti indica esattamente quali risorse sono caricate via HTTP insicuro.

Soluzioni:

  • Forza HTTPS in wp-config.php: Aggiungi define('FORCE_SSL_ADMIN', true); per forzare HTTPS sulla bacheca admin. Per l'intero sito, assicurati che siteurl e home in wp_options usino https://.
  • Search-replace http → https: Esegui search-replace nel database sostituendo http://tuosito.com con https://tuosito.com. Questo aggiorna tutti gli URL hardcoded.
  • Plugin SSL: Really Simple SSL plugin automatizza la transizione HTTPS, forzando redirect e correggendo mixed content. Installalo, attivalo, e segui il wizard di configurazione.
  • .htaccess redirect: Aggiungi regole in .htaccess per forzare HTTPS:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Quando contattare supporto hosting: Se hai seguito tutti gli step e il problema persiste, contatta supporto tecnico nuovo hosting fornendo dettagli specifici: messaggi errore esatti, screenshot, file log. I migliori hosting offrono assistenza migrazione gratuita o a pagamento per risolvere problemi complessi.

Conclusione

Migrare un sito WordPress in modo sicuro richiede preparazione metodica, esecuzione attenta, e verifica completa. Abbiamo visto come affrontare ogni tipo di migrazione - da locale a produzione, tra hosting provider, o con cambio dominio - seguendo gli stessi principi fondamentali.

I punti chiave per una migrazione di successo sono: backup completo prima di iniziare (database e file verificati), scelta consapevole tra metodo plugin automatico o migrazione manuale in base alle tue competenze e dimensioni sito, esecuzione accurata di search-replace URL nel database per evitare link rotti, configurazione corretta di wp-config.php e permalink sul nuovo ambiente, e verifica sistematica post-migrazione di funzionalità, immagini, link e performance.

Prima di iniziare la tua migrazione, assicurati di avere un backup completo salvato in almeno due posizioni diverse. Durante il processo, testa ogni passaggio progressivamente invece di fare tutto in una volta. Dopo la migrazione, dedica tempo alla verifica approfondita: un controllo accurato nelle prime ore previene problemi che potrebbero emergere nei giorni successivi, quando potrebbero essere più difficili da diagnosticare e risolvere.

Con la giusta preparazione e seguendo questa guida step-by-step, la tua migrazione WordPress sarà un successo, permettendoti di sfruttare hosting più performante, dominio rinnovato, o semplicemente pubblicare il tuo sito dal locale al web in totale sicurezza.

Hai domande o vuoi collaborare?

Scrivimi un messaggio, ti risponderò entro 24 ore.