Il certificato SSL è uno di quegli argomenti che sembrano semplici finché non si installano davvero. In teoria basta attivarlo dal pannello hosting e il sito passa ad HTTPS. In pratica — il lucchetto non appare, le pagine caricano a metà, il sito entra in un loop di redirect infinito oppure Google continua a indicizzare le versioni HTTP. Ognuno di questi problemi ha una causa precisa e una soluzione altrettanto precisa.
Questa guida copre l’intera procedura: dall’attivazione del certificato fino alla configurazione avanzata con HSTS, passando per la risoluzione di tutti i problemi più comuni. Include anche un’informazione che quasi nessuna guida italiana ha ancora recepito: la durata dei certificati SSL si sta accorciando drasticamente nei prossimi anni, e questo cambierà il modo in cui gestisci i rinnovi.
SSL, TLS, HTTPS: cosa significano davvero questi termini
I tre termini vengono usati spesso in modo intercambiabile ma non sono la stessa cosa. SSL (Secure Sockets Layer) è il protocollo originale, ormai deprecato e sostituito da anni. TLS (Transport Layer Security) è la versione moderna e sicura — quello che installi oggi è tecnicamente un certificato TLS, anche se tutti lo chiamano ancora SSL per abitudine. HTTPS è semplicemente HTTP trasmesso attraverso una connessione TLS: è il risultato visibile nel browser, non il certificato stesso.
Quello che conta per WordPress è questo: il certificato crittografa la comunicazione tra il server e il browser del visitatore. Senza di esso, tutto ciò che transita — password, dati di contatto, informazioni di pagamento — viaggia in chiaro e può essere intercettato. Con SSL attivo, i browser mostrano il lucchetto e l’URL inizia con https://. Senza, Chrome e gli altri browser mostrano l’avviso “Non sicuro” accanto all’URL — un segnale che allontana i visitatori e penalizza il ranking.
Let’s Encrypt: il certificato gratuito che va bene per quasi tutti
Let’s Encrypt è un’autorità di certificazione no-profit che emette certificati SSL gratuiti, automatici e rinnovabili. È supportata da Google, Mozilla, Cisco e la maggior parte dei provider hosting. Quasi tutti gli hosting WordPress moderni (SiteGround, Kinsta, WP Engine, Aruba, Netsons, ecc.) offrono Let’s Encrypt con un clic dal pannello di controllo.
La domanda che molti si pongono è: i certificati gratuiti sono sicuri quanto quelli a pagamento? Dal punto di vista crittografico, sì — usano la stessa tecnologia. La differenza con i certificati a pagamento (come quelli EV, Extended Validation) è nel livello di verifica dell’identità: i certificati EV richiedono la verifica dell’identità legale dell’azienda e mostravano la barra verde con il nome dell’azienda nei browser. Ma dal 2019 i principali browser hanno rimosso quella visualizzazione, rendendo i certificati EV praticamente indistinguibili da quelli DV (Domain Validation) come Let’s Encrypt. Per la stragrande maggioranza dei siti WordPress, Let’s Encrypt è la scelta corretta.
Come installare SSL su WordPress: la procedura standard
La procedura si divide in quattro passaggi distinti. Completarli nell’ordine corretto evita la maggior parte dei problemi.
Passo 1 — Attiva il certificato dal pannello hosting
Accedi al pannello del tuo hosting (cPanel, Plesk, o il pannello proprietario del provider) e cerca la sezione SSL/TLS o Certificati. Seleziona Let’s Encrypt, scegli il dominio e il sottodominio www se presente, e avvia l’emissione. Il processo richiede solitamente pochi minuti. Alcuni hosting attivano SSL automaticamente alla creazione del sito — verifica se è già attivo prima di procedere.
⚠️ Attenzione
Il certificato deve coprire sia il dominio con www che senza (es. tuosito.it e www.tuosito.it). Se ne generi uno solo, il browser mostrerà un errore di corrispondenza del nome per la versione non coperta.
Passo 2 — Aggiorna gli URL in WordPress
Con il certificato attivo, vai in WordPress → Impostazioni → Generali e aggiorna sia Indirizzo WordPress (URL) che Indirizzo del sito (URL) da http:// a https://. Salva le modifiche — WordPress potrebbe chiederti di accedere nuovamente.
Questo aggiorna le impostazioni principali, ma non sostituisce i riferimenti HTTP presenti nel database — nelle pagine, negli articoli, nei meta delle immagini. Per quello serve il passo successivo.
Passo 3 — Forza HTTPS con il redirect in .htaccess
Per reindirizzare automaticamente tutto il traffico HTTP verso HTTPS, aggiungi questo blocco di codice all’inizio del file .htaccess nella root del sito, prima del blocco generato da WordPress:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Questo redirect 301 dice a Google che il passaggio ad HTTPS è permanente — fondamentale per trasferire correttamente l’autorità SEO dalle URL http a quelle https. Senza il 301, Google potrebbe continuare a indicizzare le versioni HTTP per settimane.
Passo 4 — Risolvi il mixed content
Il mixed content è il problema più comune dopo l’attivazione di SSL: il certificato è installato, il redirect funziona, ma il lucchetto non appare — o appare con un triangolo giallo. Significa che alcune risorse della pagina (immagini, script, CSS) vengono ancora caricate via HTTP.
Il modo più rapido per identificare le risorse problematiche è aprire Chrome DevTools (F12) → Console e cercare avvisi del tipo “Mixed Content”. In alternativa, lo strumento online Why No Padlock scansiona una URL e lista tutte le risorse non sicure.
Per risolvere, il plugin Really Simple SSL gestisce automaticamente la maggior parte dei casi — aggiorna gli URL nel database e intercetta le risorse HTTP al volo. Per un controllo più preciso, usa Better Search Replace per sostituire tutte le occorrenze di http://tuodominio.it con https://tuodominio.it nel database. Fai sempre un backup prima.
I problemi SSL più comuni su WordPress e come risolverli
Il lucchetto non appare nonostante il certificato installato
Quasi sempre è mixed content — vedi Passo 4 sopra. Se dopo aver risolto il mixed content il lucchetto è ancora assente, controlla che gli URL in Impostazioni → Generali siano effettivamente in HTTPS e che il redirect .htaccess sia attivo. Svuota la cache del browser e della CDN prima di verificare.
Errore NET::ERR_CERT_AUTHORITY_INVALID
Questo errore appare quando il browser non riconosce l’autorità che ha emesso il certificato. Può succedere con certificati autofirmati (tipici degli ambienti di sviluppo locale) o con certificati emessi da CA non incluse nel bundle del browser. Con Let’s Encrypt non dovrebbe mai verificarsi su siti in produzione. Se appare, verifica che il certificato sia stato emesso correttamente dall’hosting e che la catena di certificazione sia completa — alcuni hosting installano solo il certificato principale senza i certificati intermedi.
Certificato scaduto
Let’s Encrypt emette certificati con validità di 90 giorni e li rinnova automaticamente tramite il protocollo ACME — normalmente non devi fare nulla. Se il certificato scade, significa che il rinnovo automatico ha fallito: verifica che i record DNS del dominio puntino correttamente al server, che non ci siano record CAA che bloccano Let’s Encrypt, e che il cron job del server sia attivo. La maggior parte degli hosting ha una sezione nel pannello per forzare manualmente il rinnovo.
Loop di redirect HTTP/HTTPS
Il browser entra in un ciclo di redirect infiniti tra HTTP e HTTPS. Succede quasi sempre quando WordPress è dietro un reverse proxy o CDN (come Cloudflare) che termina SSL prima del server: WordPress non vede la connessione HTTPS originale e continua a reindirizzare. La soluzione è aggiungere nel wp-config(.)php, prima della riga require_once:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}Se il loop persiste, potrebbe essere causato da un redirect errato in .htaccess combinato con uno nell’hosting. Un’altra causa comune sono i redirect indesiderati dopo un attacco — in quel caso la causa è diversa e richiede un’analisi separata.
Mixed content: il lucchetto con il triangolo giallo
Il mixed content si divide in due categorie con comportamenti diversi. Il mixed content attivo — script JavaScript e CSS caricati via HTTP — viene bloccato automaticamente dai browser moderni: la pagina potrebbe rompersi visivamente o funzionalmente. Il mixed content passivo — immagini e media via HTTP — viene mostrato con un avviso nel lucchetto ma non bloccato. Chrome aggiorna automaticamente le immagini a HTTPS quando possibile, ma non sempre ci riesce.
Le fonti di mixed content più comuni che i plugin non riescono a correggere automaticamente sono: video YouTube o Vimeo incorporati con URL http:// (sostituire con https://), risorse hardcoded nei file PHP di plugin o temi (richiede modifica del codice), e contenuti importati da altri siti che conservano gli URL originali.
HSTS: il passo successivo dopo SSL
L’HTTP Strict Transport Security (HSTS) è un header di sicurezza che dice al browser di connettersi sempre e solo via HTTPS a quel dominio, anche se qualcuno digita http:// nella barra degli indirizzi. Una volta ricevuto l’header HSTS, il browser ignora qualsiasi link HTTP e va direttamente alla versione sicura — senza passare dal redirect, eliminando una potenziale finestra di vulnerabilità.
Per attivare HSTS su WordPress aggiungi questo header al file .htaccess, dopo il blocco del redirect HTTPS:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Prima di attivare HSTS
Assicurati che SSL funzioni perfettamente su tutti i sottodomini. Una volta inviato l’header HSTS, il browser rifiuterà qualsiasi connessione HTTP a quel dominio per tutta la durata del max-age (un anno nel codice sopra). Se SSL ha problemi, i visitatori non potranno accedere al sito fino alla scadenza — e non potrai revocare l’header lato server per i browser che lo hanno già memorizzato.
Cosa sta cambiando nel 2025–2029: la durata dei certificati si accorcia
Nel 2025 il CA/Browser Forum — l’organismo che regola gli standard dei certificati SSL — ha approvato il Ballot SC-081v3, introducendo una riduzione progressiva della durata massima dei certificati TLS (l’analisi completa di DigiCert). Il cambiamento riguarda direttamente chi gestisce siti WordPress:
- Dal 15 marzo 2026: durata massima ridotta a 200 giorni (da 398 attuali)
- Dal 15 marzo 2027: durata massima ridotta a 100 giorni
- Dal 15 marzo 2029: durata massima ridotta a 47 giorni
Per chi usa Let’s Encrypt con rinnovo automatico configurato correttamente, questo cambiamento è trasparente — il sistema rinnova già ogni 60-90 giorni. Il problema riguarda chi usa certificati a pagamento con rinnovo manuale: entro il 2027 dovrà rinnovare ogni tre mesi, entro il 2029 ogni mese e mezzo. È il segnale più chiaro che il rinnovo automatico non è più un’opzione opzionale — è una necessità operativa.
Per configurazioni SSL complesse, siti dietro CDN o proxy, o semplicemente per avere la certezza che tutto sia configurato correttamente, contattami: lavoro in modo diretto e risolvo il problema nel minor tempo possibile.
Domande frequenti (FAQ)
SSL rallenta il sito WordPress?
Con TLS 1.3 e HTTP/2 — supportati da tutti i moderni hosting WordPress — l’impatto sulle prestazioni è trascurabile e in alcuni casi SSL migliora addirittura le performance perché abilita HTTP/2, che carica le risorse in modo più efficiente. I vecchi protocolli SSL/TLS 1.0 e 1.1 avevano un overhead misurabile, ma sono stati deprecati e disabilitati dalla quasi totalità degli hosting.
Devo pagare per un certificato SSL su WordPress?
No, per la grande maggioranza dei casi. Let’s Encrypt offre certificati gratuiti accettati da tutti i browser moderni, con rinnovo automatico ogni 90 giorni. I certificati a pagamento (EV, OV) aggiungono un livello di verifica dell’identità aziendale, ma dal punto di vista crittografico e del lucchetto nel browser sono equivalenti. La scelta a pagamento ha senso principalmente per organizzazioni che necessitano di documentare la verifica legale dell’identità.
Cosa succede se il certificato SSL scade?
I browser mostrano un avviso “La tua connessione non è privata” che blocca l’accesso al sito per la maggior parte dei visitatori. Google abbassa il ranking delle pagine con certificati scaduti. Il sito rimane tecnicamente accessibile cliccando “Avanzate” e ignorando l’avviso, ma il tasso di abbandono è vicino al 100%. Con Let’s Encrypt e rinnovo automatico correttamente configurato, la scadenza non dovrebbe mai verificarsi.
Google penalizza i siti senza SSL?
Sì, in due modi. Dal 2014 HTTPS è un segnale di ranking diretto, anche se con peso limitato. Più rilevante è l’effetto comportamentale: i browser mostrano “Non sicuro” sui siti HTTP, il che aumenta la frequenza di rimbalzo e riduce il tempo di permanenza — segnali negativi per il ranking. Per i siti con form, login o WooCommerce, l’assenza di SSL è praticamente incompatibile con qualsiasi attività online.
Really Simple SSL è sufficiente o serve configurazione manuale?
Really Simple SSL è sufficiente per la grande maggioranza dei siti standard. Gestisce il redirect HTTPS, aggiorna gli URL nel database e risolve il mixed content comune. I casi in cui serve configurazione manuale sono: siti dietro Cloudflare o reverse proxy (loop redirect), mixed content causato da codice hardcoded in plugin o temi, configurazioni multisite, e siti con requisiti avanzati come HSTS preloading o Content Security Policy. Nella sezione dedicata a proteggere il tuo sito WordPress trovi tutte le guide per una configurazione completa.
