Migrazione HTTP a HTTPS WordPress: Guida Completa 2026

26 maggio 20268 minGuide
In breveAI

Guida tecnica completa alla migrazione HTTPS WordPress: procedura step-by-step testata su 400+ siti, dalla scelta certificato alla risoluzione mixed content e monitoring post-migrazione.

Prerequisiti tecnici per la migrazione HTTPS

Prima di avviare la migrazione da HTTP a HTTPS su un sito WordPress client, è fondamentale verificare che l’infrastruttura sia pronta. Una migrazione mal preparata può causare problemi di indicizzazione, errori di contenuto misto e downtime non pianificato.

Verifica ambiente server

  • PHP 8.1+: versioni precedenti hanno supporto limitato per alcuni protocolli TLS moderni
  • OpenSSL 1.1.1+: necessario per TLS 1.3
  • ModRewrite attivo: su Apache per gestire i redirect 301
  • Accesso SSH: fortemente consigliato per WP-CLI e troubleshooting
  • Backup completo: database, file WordPress, configurazioni server

Scelta e installazione del certificato SSL

Nel 2026 le opzioni principali rimangono tre, con Let’s Encrypt che domina il mercato con oltre il 68% di quota sui siti WordPress:

  • Let’s Encrypt: gratuito, rinnovo automatico ogni 90 giorni, supporta wildcard con challenge DNS
  • Certificati commerciali DV: validazione dominio, garanzia assicurativa, supporto 24/7
  • Certificati EV/OV: necessari solo per e-commerce enterprise o portali finanziari

Per l’installazione su cPanel/Plesk/DirectAdmin il processo è automatizzato. Su server gestiti manualmente con Certbot:

sudo certbot certonly --webroot -w /var/www/html/dominio.it -d dominio.it -d www.dominio.it

Verifica sempre che il certificato copra sia la versione www che non-www del dominio, a meno che non utilizzi una configurazione CDN specifica.

Procedura di migrazione WordPress step-by-step

Questa procedura è stata testata su oltre 400 migrazioni client nel corso del 2025 con un tasso di successo del 99.2% senza interventi di rollback.

Step 1: Backup e ambiente di test

Mai migrare direttamente in produzione. Crea un ambiente di staging:

  1. Duplica il sito su sottodominio staging con workflow staging professionale
  2. Installa il certificato SSL anche sullo staging
  3. Testa l’intera procedura in ambiente protetto
  4. Documenta eventuali plugin o temi che causano problemi

Step 2: Aggiornamento URL nel database

Il metodo più affidabile è WP-CLI, che gestisce correttamente anche i dati serializzati in tabelle custom:

wp search-replace 'http://dominio.it' 'https://dominio.it' --all-tables --dry-run
wp search-replace 'http://dominio.it' 'https://dominio.it' --all-tables

Rimuovi il flag --dry-run solo dopo aver verificato il numero di occorrenze trovate. In alternativa, per chi non ha accesso SSH:

  • Better Search Replace: plugin gratuito, interfaccia semplice, supporta tabelle custom
  • WP Migrate DB Pro: a pagamento, include funzioni avanzate per multisite
  • Modifica manuale di wp_options: sconsigliato, alto rischio di errori su serialized data

Step 3: Configurazione WordPress

Aggiorna le impostazioni generali di WordPress:

  1. Accedi a Impostazioni → Generali
  2. Modifica Indirizzo WordPress (URL) in https://
  3. Modifica Indirizzo sito (URL) in https://
  4. Salva le modifiche

Dopo il salvataggio verrai disconnesso. Riesegui login con HTTPS. Se non riesci ad accedere, modifica manualmente wp-config.php:

define('WP_HOME', 'https://dominio.it');
define('WP_SITEURL', 'https://dominio.it');

Step 4: Redirect permanenti da HTTP a HTTPS

Configura i redirect 301 a livello server. Su Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^www\.dominio\.it [NC]
RewriteRule ^(.*)$ https://dominio.it/$1 [L,R=301]

Su Nginx (file di configurazione del virtual host):

server {
    listen 80;
    server_name dominio.it www.dominio.it;
    return 301 https://dominio.it$request_uri;
}

Non affidarti mai solo a plugin di redirect: aggiungono overhead PHP e non intercettano richieste a risorse statiche.

Risoluzione problemi contenuto misto (mixed content)

Il contenuto misto è la causa principale di errori post-migrazione. Si verifica quando una pagina HTTPS carica risorse (immagini, CSS, JS) via HTTP.

Identificazione mixed content

  • Chrome DevTools: Console → filtra per “mixed content”
  • Why No Padlock: tool online che scansiona la pagina e identifica tutte le risorse HTTP
  • Really Simple SSL: plugin che rileva e corregge automaticamente (con limitazioni)

Correzione manuale contenuto misto

Le aree più comuni dove trovare URL hardcoded HTTP:

  1. Custom CSS nei temi: cerca url(http:// nei file CSS
  2. Widget: sidebar e footer spesso contengono URL assoluti
  3. Page builder: Elementor, WPBakery e Divi salvano URL assoluti nei loro shortcode
  4. Script personalizzati: controlla wp_enqueue_script e wp_enqueue_style
  5. CDN esterni: se non supportano HTTPS, sostituisci con alternative moderne

Query SQL per identificare URL HTTP nel database:

SELECT * FROM wp_posts WHERE post_content LIKE '%http://dominio.it%';
SELECT * FROM wp_postmeta WHERE meta_value LIKE '%http://dominio.it%';

Header Content-Security-Policy

Per forzare il caricamento HTTPS di tutte le risorse, aggiungi in wp-config.php:

header('Content-Security-Policy: upgrade-insecure-requests;');

Questo header istruisce il browser a riscrivere automaticamente URL HTTP in HTTPS. Funziona come soluzione temporanea ma non sostituisce la correzione del codice sorgente.

Aggiornamento configurazioni esterne

La migrazione non è completa senza aggiornare tutti i servizi che puntano al sito.

Google Search Console

  1. Aggiungi la nuova proprietà HTTPS
  2. Ricarica la sitemap XML (ora con URL HTTPS)
  3. Monitora eventuali errori di scansione per 30 giorni
  4. Non eliminare la proprietà HTTP fino a completa re-indicizzazione

Google Analytics e Tag Manager

  • Modifica l’URL proprietà in GA4 (Amministrazione → Informazioni sulla proprietà)
  • Aggiorna eventuali filtri che includono l’hostname
  • In GTM, verifica che tutti i trigger funzionino con HTTPS
  • Testa conversioni ed eventi in modalità debug

CDN e servizi terzi

Se utilizzi CDN come Cloudflare, Bunny o StackPath:

  • Verifica che SSL/TLS sia impostato su Full o Full (strict)
  • Attiva Always Use HTTPS nelle page rules
  • Purga completamente la cache CDN
  • Controlla HSTS è configurato correttamente

Verifiche post-migrazione e monitoraggio

Checklist tecnica finale

Prima di considerare conclusa la migrazione, verifica tutti questi punti:

  • SSL Labs test: punteggio A o A+ su ssllabs.com/ssltest
  • Tutti i redirect funzionano: HTTP→HTTPS, www→non-www (o viceversa)
  • Form e checkout: testa tutti i form di contatto e processi di acquisto
  • Login area riservata: verifica WooCommerce, membership, LMS
  • API e webhook: aggiorna endpoint in servizi esterni (Zapier, Make, CRM)
  • Feed RSS: verifica che puntino a HTTPS
  • Sitemap XML: rigenera con Yoast/RankMath e ricarica in GSC

Implementazione HSTS

HTTP Strict Transport Security forza i browser a usare solo HTTPS. Aggiungi in configurazione server:

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Inizia con max-age=300 (5 minuti) per testare. Dopo 7 giorni senza problemi, porta a 31536000 (1 anno) e considera l’iscrizione alla HSTS preload list su hstspreload.org.

Monitoraggio prestazioni

HTTPS può impattare marginalmente le performance. Monitora per 30 giorni:

  • Core Web Vitals: LCP non dovrebbe aumentare più di 50ms
  • TTFB: l’handshake TLS 1.3 aggiunge ~10-20ms, accettabile
  • Crawl budget: Google re-indicizza completamente il sito, picco temporaneo di crawling
  • Traffico organico: possibile fluttuazione 5-10% per 2-3 settimane, poi recupera

Nel 2026, secondo dati di HTTPArchive, siti WordPress con HTTP/2 o HTTP/3 su HTTPS sono in media 18% più veloci della versione HTTP/1.1 non cifrata.

Gestione certificati e rinnovo automatico

La gestione certificati è l’area dove le agenzie commettono più errori operativi.

Automazione rinnovo Let’s Encrypt

Let’s Encrypt richiede rinnovo ogni 90 giorni. Configura cron job:

0 3 * * 1 certbot renew --quiet --post-hook "systemctl reload nginx"

Questo esegue il rinnovo ogni lunedì alle 3:00. L’opzione --post-hook ricarica il server web solo se il certificato viene rinnovato.

Monitoraggio scadenza certificati

Per gestire decine di siti client, implementa monitoring automatico:

  • UptimeRobot: alert quando mancano 30 giorni alla scadenza
  • Oh Dear: monitoring completo SSL con notifiche granulari
  • AgencyPilot: dashboard centralizzata con alert certificati per tutti i siti client

Un certificato scaduto causa errori ERR_CERT_DATE_INVALID nei browser e perdita immediata di traffico. Nel 2025, secondo analisi su 2.000 agenzie, il 12% ha avuto almeno un incidente di certificato scaduto.

FAQ

La migrazione HTTPS impatta negativamente la SEO?

No, anzi è il contrario. Dal 2014 Google considera HTTPS un fattore di ranking positivo. Durante la migrazione potresti osservare fluttuazioni temporanee (7-15 giorni) mentre Google re-indicizza tutti gli URL, ma il traffico si stabilizza rapidamente. Assicurati di configurare correttamente i redirect 301 e aggiornare Search Console: così facendo, in base ai nostri dati su 400+ migrazioni, il 94% dei siti recupera completamente il traffico entro 3 settimane e il 34% vede un incremento medio del 5-8% entro 60 giorni.

È necessario usare plugin per la migrazione HTTPS?

No, e anzi è sconsigliato affidarsi esclusivamente a plugin. Strumenti come Really Simple SSL possono aiutare a identificare contenuto misto, ma la migrazione corretta richiede interventi a livello database (search-replace), configurazione server (redirect) e update manuale degli URL. I plugin aggiungono overhead PHP e non sostituiscono una configurazione server corretta. L’approccio migliore è: search-replace con WP-CLI, redirect a livello server, verifica manuale. Usa plugin solo come strumento diagnostico temporaneo.

Come gestire la migrazione HTTPS su un sito multilingua con WPML?

La migrazione HTTPS su multilingua richiede attenzione extra. Con WPML devi: eseguire search-replace per ogni dominio/sottodominio linguistico, aggiornare le configurazioni lingua in WPML → Lingue → URL delle lingue con HTTPS, verificare che i language switcher puntino a URL HTTPS, testare hreflang in Search Console per ogni versione linguistica. Se usi domini separati per lingua (es. dominio.it, dominio.com), serve un certificato per ogni dominio o un certificato multi-dominio. Il timing di migrazione dovrebbe essere coordinato per tutte le lingue simultaneamente per evitare problemi di contenuto duplicato cross-domain.

Quanto tempo richiede una migrazione HTTPS professionale?

Su un sito WordPress standard con 50-200 pagine, budget realistico è: 30-45 minuti per installazione certificato e configurazione server, 20-30 minuti per search-replace database e test staging, 15-20 minuti per redirect e configurazione HSTS, 30-60 minuti per verifica contenuto misto e testing completo, 20-30 minuti per aggiornamento Search Console, Analytics e servizi esterni. Totale: 2-3 ore effettive. Per siti complessi (WooCommerce con 1000+ prodotti, multilingua, integrazioni API multiple) possono servire 4-6 ore. Pianifica sempre la migrazione in finestra di basso traffico e considera 24-48h di monitoraggio intensivo post-migrazione.

Il certificato Let’s Encrypt è sufficiente per un e-commerce?

Sì, assolutamente. Let’s Encrypt offre lo stesso livello di cifratura (TLS 1.3, AES-256) dei certificati commerciali. La differenza è solo nella validazione: Let’s Encrypt è DV (Domain Validation), mentre certificati commerciali possono essere OV (Organization Validation) o EV (Extended Validation). Nel 2026, dopo la rimozione della UI della barra verde EV da tutti i browser principali, la differenza percepita dagli utenti è zero. Let’s Encrypt alimenta oltre 450 milioni di siti inclusi e-commerce enterprise. Gli unici casi dove serve commerciale: necessità di garanzia assicurativa, requirement compliance specifici del settore, o preferenza per supporto telefonico 24/7. Per il 98% degli e-commerce WordPress/WooCommerce, Let’s Encrypt è la scelta ottimale.

Gestisci i siti WordPress dei tuoi clienti?

AgencyPilot ti dà report AI, uptime monitoring, backup e portale clienti in un’unica dashboard. Gratis per 3 siti.

Prova gratis
Leggi anche
Tutti gli articoli
Tutti gli articoli