Installare un certificato SSL su un sito WordPress richiede tre passaggi: installare il certificato sul server, indirizzare WordPress verso le versioni HTTPS dei tuoi URL e reindirizzare il vecchio traffico HTTP. La maggior parte degli host oggi gestisce il primo passaggio per te, e dalla versione 5.7 WordPress gestisce da solo gran parte del secondo. Questa guida copre tutti e tre i passaggi, per certificati gratuiti e a pagamento, e risolve gli errori che di solito compaiono in seguito.
Risposta rapida: installa un certificato SSL tramite il pannello di controllo del tuo hosting, quindi apri Impostazioni > Generali in WordPress e cambia sia Indirizzo WordPress (URL) sia Indirizzo del sito (URL) nelle loro versioni https. Concludi aggiungendo un reindirizzamento 301 in modo che le richieste HTTP arrivino su HTTPS.
SSL (abbreviazione di Secure Sockets Layer, anche se ogni certificato emesso oggi utilizza in realtà TLS) è ciò che trasforma http:// in https:// e rimuove l’etichetta “Non sicuro” dalla barra degli indirizzi. Se vuoi prima capire il contesto, leggi cos’è un certificato SSL. Altrimenti, inizia dalla tabella qui sotto.
Quale metodo si adatta alla tua configurazione
Esistono tre modi per aggiungere SSL a WordPress, e quello giusto dipende quasi interamente dal tuo hosting. Trova la tua configurazione, quindi passa a quel metodo.
| La tua configurazione | Usa questo metodo | Tempo indicativo |
|---|---|---|
| Hosting WordPress gestito | Niente da installare. Il certificato è di solito già attivo, quindi passa direttamente a passare WordPress a HTTPS | 5 minuti |
| cPanel o un host condiviso simile | Metodo 1, l’AutoSSL gratuito dell’host | 10 minuti |
| Un host senza strumento SSL, oppure vuoi che lo faccia qualcun altro per te | Metodo 2, la procedura guidata del plugin | Da 10 a 15 minuti |
| VPS, server dedicato, o un certificato a pagamento | Metodo 3, installazione manuale | 30 minuti più il tempo di validazione |
| Cloudflare posizionato davanti al tuo sito | Metodo 1 o 3, poi imposta l’SSL di Cloudflare su Full (strict). Vedi la risoluzione dei problemi | 15 minuti |
Qualunque strada tu scelga, esegui prima un backup del sito, e se hai un ambiente di staging, prova la modifica lì prima di toccare la produzione.
Hai bisogno di un certificato SSL per WordPress?
Sì, e per la maggior parte delle persone il motivo è già visibile: Chrome, Firefox, Safari ed Edge contrassegnano tutte le pagine HTTP semplici come Non sicuro nella barra degli indirizzi. Quell’etichetta compare su ogni pagina di un sito privo di certificato, incluso il modulo di accesso.
Tre ragioni pratiche per risolvere il problema:
- Credenziali e dati dei moduli viaggiano in chiaro. Senza un certificato, chiunque si trovi sulla stessa rete può leggere ciò che i visitatori inviano, inclusa la tua stessa password di WordPress.
- I pagamenti lo richiedono. Se utilizzi WooCommerce, o accetti dati di carte, HTTPS non è facoltativo. I gateway di pagamento si rifiuteranno di operare su HTTP.
- Google usa HTTPS come segnale di ranking. È un segnale reale ma leggero, quindi considera l’argomento SEO come un bonus e non come il motivo principale. L’avviso del browser è il motivo vero.
Quale certificato SSL dovrebbe usare un sito WordPress?
Inizia con l’opzione gratuita, perché per una buona parte dei siti WordPress è davvero la risposta giusta. La maggior parte degli host emette automaticamente certificati Let’s Encrypt gratuiti, e un certificato gratuito crittografa il traffico esattamente come uno a pagamento. La crittografia è identica. Ciò che differisce tra un certificato SSL WordPress e l’altro è cosa ha verificato l’autorità di certificazione prima di emetterlo, e cosa ottieni quando qualcosa va storto.
Livelli di validazione
| Tipo | Cosa verifica la CA | Tempo di emissione | Adatto a |
|---|---|---|---|
| Domain Validation (DV) | Che tu controlli il dominio | Minuti | Blog, siti vetrina, la maggior parte delle installazioni WordPress |
| Organization Validation (OV) | Il dominio più la tua organizzazione registrata | Da 1 a 3 giorni lavorativi | Siti aziendali, aree riservate, portali clienti |
| Extended Validation (EV) | Una verifica legale e operativa completa dell’azienda | Da 1 a 5 giorni lavorativi | Negozi che gestiscono pagamenti, settore finanziario, qualsiasi caso in cui l’identità conta |
Se il tuo sito funziona su sottodomini, ad esempio un negozio su store.example.com e un blog su blog.example.com, un certificato wildcard li copre tutti con un solo certificato invece di uno per ogni sottodominio. Non sei sicuro di quale tipo ti serva? La Procedura guidata SSL ti aiuta a individuarlo in poche domande.
Quando un certificato gratuito non basta più
I certificati gratuiti sono solo DV, durano 90 giorni e non offrono supporto né garanzia. Va bene per un blog personale. Diventa un problema in quattro situazioni:
- Accetti pagamenti. I certificati a pagamento includono una garanzia che copre le perdite se il certificato stesso non funziona correttamente. Quelli gratuiti non ne offrono nessuna.
- I tuoi visitatori devono sapere chi sei. Un certificato DV dimostra solo che qualcuno controlla il dominio. OV ed EV inseriscono i dettagli verificati della tua organizzazione all’interno del certificato.
- Gestisci sottodomini. L’emissione gratuita di wildcard è possibile ma complicata, e di solito richiede automazioni DNS che il tuo host potrebbe non offrire.
- Il rinnovo non è automatizzato. Un certificato di 90 giorni che nessuno rinnova mette fuori uso il sito con la stessa certezza dell’assenza di un certificato. Se il tuo host non esegue il rinnovo automatico, un certificato a pagamento di durata più lunga significa meno lavoro, non di più.
Metodo 1: ottieni un certificato SSL gratuito dal tuo host
Questa è la strada più veloce e quella da provare per prima. Quasi ogni host oggi offre certificati Let’s Encrypt gratuiti, spesso già attivati.
- Apri il pannello di controllo del tuo hosting e cerca SSL/TLS, Let’s Encrypt o AutoSSL. Su cPanel si trova sotto Sicurezza.
- Seleziona il tuo dominio ed emetti il certificato. Includi sia il dominio principale sia la versione www, altrimenti uno dei due mostrerà un avviso di mancata corrispondenza del nome.
- Verifica che il rinnovo automatico sia abilitato. Questo è il passaggio che le persone tendono a saltare.
Nessun pannello di hosting a disposizione, perché gestisci un tuo VPS o server dedicato? Usa Certbot, il client di Let’s Encrypt, che emette il certificato dalla riga di comando e imposta autonomamente la propria pianificazione di rinnovo.
I certificati Let’s Encrypt sono validi per 90 giorni, e il rinnovo dovrebbe avvenire automaticamente, tipicamente circa 30 giorni prima della scadenza. Quando questa automazione si interrompe, e capita, di solito dopo lo spostamento di un dominio o la modifica di un record DNS, il sito continua a funzionare per settimane e poi diventa “Non sicuro” senza preavviso. Metti un promemoria in calendario per la prima data di rinnovo prevista e controlla il certificato con l’SSL Checker una volta passata. Se la data di scadenza è avanzata, il rinnovo sta funzionando.
Metodo 2: installa SSL su WordPress con un plugin
Il plugin a cui la maggior parte delle persone ricorre è Really Simple Security. Si chiamava Really Simple SSL fino a settembre 2024, quando la versione 9 lo ha rinominato man mano che il suo set di funzionalità gratuite si è ampliato oltre la configurazione SSL. Conta più di tre milioni di installazioni attive.
Ciò che è cambiato insieme al nome è rilevante qui: il plugin non forza più solo il reindirizzamento, può anche ottenere il certificato per te tramite una procedura guidata Let’s Encrypt. Quindi copre l’intero lavoro quando il tuo host non lo fa.
- Installa e attiva Really Simple Security da Plugin > Aggiungi nuovo plugin.
- Segui l’onboarding che si apre, oppure vai alla nuova voce Security che il plugin aggiunge alla barra laterale dell’amministrazione. I tutorial più vecchi indicano Impostazioni > SSL, che è dove si trovava il plugin prima del cambio di nome. Se sul server è già installato un certificato, il plugin lo rileva.
- Se non c’è alcun certificato, scegli Installa certificato SSL e segui la procedura guidata per ottenerne uno gratuito di Let’s Encrypt.
- Seleziona Attiva SSL. Il plugin aggiorna gli URL del tuo sito, imposta il reindirizzamento e ricarica la dashboard su HTTPS.
Un avvertimento utile prima di procedere. Un plugin che forza HTTPS lo fa in PHP, a ogni richiesta. Un reindirizzamento scritto nella configurazione del server avviene prima che WordPress si carichi, il che è più veloce e continua a funzionare anche se il plugin viene disattivato. Se sei a tuo agio nel modificare i file del server, esegui il passaggio manualmente e mantieni il plugin fuori dal percorso critico.
Metodo 3: installa manualmente un certificato SSL
Questa è la strada per un certificato a pagamento, o per qualsiasi server privo di uno strumento con un solo clic. Su hosting condiviso, verifica prima che il tuo piano consenta di installare certificati di terze parti; alcuni host economici ancora limitano questa possibilità o la fanno pagare.
- Genera un CSR. La richiesta di firma del certificato trasporta i dettagli del tuo dominio e della tua organizzazione all’autorità di certificazione. Usa il nostro generatore di CSR, oppure segui le guide sui CSR per il tuo server specifico.
- Invia il CSR all’autorità di certificazione e completa la validazione. Il DV si conclude in pochi minuti, OV ed EV richiedono giorni.
- Installa i file. Riceverai il certificato stesso più uno o più certificati intermedi. In cPanel, incollali sotto SSL/TLS > Gestisci siti SSL, seguendo la guida all’installazione su cPanel. Altre piattaforme sono trattate nelle guide all’installazione SSL.
- Verifica con l’SSL Checker prima di toccare WordPress.
Presta attenzione ai certificati intermedi. Se installi il certificato principale ma tralasci la catena, la maggior parte dei browser desktop mostrerà comunque un lucchetto, perché memorizzano nella cache gli intermedi visti altrove. I browser mobili, i gateway di pagamento e qualsiasi cosa chiami il tuo sito tramite un’API falliranno. Un sito che “funziona in Chrome ma rompe il checkout” è molto spesso una catena incompleta, e l’SSL Checker lo segnalerà.
Utilizzare WordPress Multisite aggiunge alcuni passaggi, trattati nella guida SSL per Multisite.
Passa il tuo sito WordPress da HTTP a HTTPS
Il certificato è sul server. WordPress ancora non ne è a conoscenza. È qui che molte guide ti mandano a eseguire una ricerca e sostituzione nel database prima di qualsiasi altra cosa, e per la maggior parte dei siti questo non è più necessario da anni.
Cosa fa WordPress da solo
A partire da WordPress 5.7, rilasciato a marzo 2021, il core rileva se il tuo ambiente supporta HTTPS e lo segnala sotto Strumenti > Salute del sito > Stato, nella sezione Stato HTTPS. Quando HTTPS è disponibile, quella sezione offre un pulsante che passa il sito con un solo clic.
Ancora più importante, una volta che Indirizzo del sito (URL) e Indirizzo WordPress (URL) sono entrambi su https, WordPress riscrive gli URL non sicuri nei tuoi contenuti mentre rende la pagina. Immagini, link ed embed che erano stati salvati con indirizzi http sul tuo stesso dominio vengono serviti tramite https senza che tu debba modificare affatto il database. Questo è il passaggio che i tutorial più vecchi ti dicono di fare a mano.
Vale la pena capire con precisione, perché determina cosa devi ancora fare: la riscrittura avviene in output, tramite filtri applicati al contenuto mentre viene visualizzato. Il tuo database conserva ancora i vecchi URL http. Per i visitatori il risultato è identico, motivo per cui la migrazione funziona senza una ricerca e sostituzione, ma i dati memorizzati restano invariati. Questo diventa importante il giorno in cui esporti il sito, lo sposti su un altro host, o interroghi il database direttamente, ed è il motivo per cui una ricerca e sostituzione vale comunque la pena eseguirla prima o poi, piuttosto che mai.
Cambia le due impostazioni dell’URL
Se Salute del sito non offre il pulsante con un solo clic, o preferisci farlo esplicitamente, apri Impostazioni > Generali. Ci sono due campi ed entrambi devono cambiare:
- Indirizzo WordPress (URL), dove risiedono i file di WordPress.
- Indirizzo del sito (URL), l’indirizzo che i visitatori digitano.
Cambia http:// in https:// in entrambi, quindi salva. Cambiarne solo uno è il modo più comune in assoluto per rimanere bloccati fuori dalla dashboard. Se succede, puoi impostare entrambi da wp-config.php tramite FTP:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
Aggiungi queste righe sopra la riga che dice “That’s all, stop editing”, e sostituisci example.com con il tuo dominio. Nota che finché queste costanti sono definite, i campi in Impostazioni > Generali diventano di sola lettura.
Quando serve ancora una ricerca e sostituzione
La riscrittura del core copre i contenuti resi in output. Non arriva ovunque, quindi una ricerca e sostituzione è ancora la soluzione per:
- URL codificati manualmente nei file del tema o in functions.php.
- Impostazioni dei plugin memorizzate come dati serializzati, motivo per cui non dovresti mai eseguire una semplice ricerca e sostituzione SQL diretta.
- Righe di opzioni, campi personalizzati e contenuti dei widget scritti dai page builder.
Usa Better Search Replace, che gestisce correttamente i dati serializzati e dispone di una modalità di prova, oppure WP-CLI:
wp search-replace 'http://example.com' 'https://example.com' --all-tables --dry-run
Leggi l’output della prova, poi ripeti il comando senza –dry-run per applicarlo. Esegui prima un backup del database.
Forza HTTPS in WordPress con un reindirizzamento 301
Il tuo sito ora risponde su https, ma risponde ancora anche su http, e ogni vecchio link e segnalibro punta lì. Un reindirizzamento HTTPS permanente invia sia i visitatori sia i motori di ricerca alla versione sicura e trasferisce i segnali di ranking dei vecchi URL. Impostalo a livello di server piuttosto che in PHP, ovunque sia possibile.
Apache
Aggiungi questo in cima al file .htaccess nella radice di WordPress, sopra il blocco WordPress:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Il flag R=301 è ciò che lo rende permanente. Una regola scritta come [R,L] emette invece un 302 temporaneo, un errore che vale la pena verificare se hai copiato un reindirizzamento da una guida più vecchia.
Nginx
Nginx non ha un file .htaccess e non comprende le regole di rewrite scritte per Apache. Modifica invece il blocco server nella configurazione del tuo sito:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
Testa la configurazione con nginx -t, quindi ricarica con systemctl reload nginx.
Forza HTTPS solo sulla dashboard
Per proteggere gli accessi e l’area di amministrazione in particolare, aggiungi questo a wp-config.php:
define( 'FORCE_SSL_ADMIN', true );
Questo copre wp-admin e la pagina di accesso. Non reindirizza il front-end, quindi integra un reindirizzamento a livello di server piuttosto che sostituirlo.
HSTS, una volta che tutto funziona
HSTS indica ai browser di rifiutare completamente l’HTTP semplice per il tuo dominio, il che chiude il divario tra la prima richiesta e il reindirizzamento. Su Apache:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Aggiungi questo solo dopo che HTTPS è stato stabile per un po’, e lascia disattivata la direttiva preload all’inizio. Il preloading è difficile da annullare rapidamente, e se qualcosa su un sottodominio non è ancora su HTTPS, diventa irraggiungibile.
Risolvi ciò che rimane dopo il passaggio
Contenuto misto
Il contenuto misto è una pagina servita tramite HTTPS che carica ancora immagini, script, fogli di stile o font tramite HTTP. I browser ora lo suddividono in due: risorse aggiornabili, principalmente immagini e media, che aggiornano silenziosamente a HTTPS prima di richiederle, e risorse bloccabili come script e fogli di stile, che si rifiutano del tutto di caricare. Ecco perché una pagina con contenuto misto può apparire semplicemente priva di lucchetto, oppure può arrivare completamente priva di stile.
Su WordPress le fonti più comuni sono un URL di immagine codificato manualmente in un file del tema, uno script esterno caricato tramite HTTP e una CDN ancora configurata per HTTP. Apri la console del browser, che indica la risorsa incriminata, e correggila alla fonte. La nostra guida su come risolvere il contenuto misto tratta la diagnosi in dettaglio.
Cache e CDN
Svuota la cache delle pagine e la CDN dopo il passaggio. Una copia in cache di una pagina HTTP continuerà a servire il vecchio markup e farà sembrare rotta una migrazione completata.
Email e modelli transazionali
Questo è l’aspetto che quasi tutti si dimenticano di controllare. Le email di ordine di WooCommerce, i messaggi di reimpostazione password, i modelli di fattura e i piè di pagina delle newsletter spesso contengono link HTTP codificati manualmente, e risiedono al di fuori delle tabelle toccate da una normale ricerca e sostituzione. Invia a te stesso un ordine di prova e una richiesta di reimpostazione password di prova, quindi verifica dove puntano effettivamente i link.
Risoluzione dei problemi SSL di WordPress
| Sintomo | Causa abituale | Soluzione |
|---|---|---|
| Ciclo di reindirizzamento infinito, ERR_TOO_MANY_REDIRECTS | SSL di Cloudflare impostato su Flexible. Cloudflare comunica con il tuo server tramite HTTP, il tuo server reindirizza a HTTPS, Cloudflare lo rimanda indietro | Imposta la modalità di crittografia SSL/TLS di Cloudflare su Full (strict) e mantieni un certificato valido sull’origine |
| Bloccato fuori da wp-admin dopo il passaggio | È stato modificato solo uno dei due campi URL | Imposta WP_HOME e WP_SITEURL in wp-config.php tramite FTP |
| Lucchetto assente solo su alcune pagine | Contenuto misto su quelle pagine | Trova la risorsa HTTP nella console del browser, correggila alla fonte |
| Il sito funzionava bene, è diventato “Non sicuro” settimane dopo | Un certificato Let’s Encrypt è scaduto perché il rinnovo si è interrotto | Riemetti, poi conferma il rinnovo automatico nel tuo pannello di controllo |
| Funziona nel browser, fallisce per un’app o un gateway di pagamento | Certificati intermedi mancanti dalla catena | Installa il pacchetto CA completo, poi verifica di nuovo con l’SSL Checker |
| Avviso di mancata corrispondenza del nome su www o sul dominio principale | Il certificato copre solo uno dei due | Riemetti il certificato in modo che copra entrambi i nomi; un reindirizzamento da solo non può risolvere questo problema, l’avviso appare prima che venga eseguito qualsiasi reindirizzamento |
Se il certificato è installato e il sito continua a essere segnalato come non sicuro, le guide agli errori SSL trattano codici di errore specifici del browser.
Dopo la migrazione: checklist SEO e cosa aspettarsi
- Aggiungi la proprietà HTTPS in Google Search Console. Una proprietà HTTP non riporta dati sugli URL HTTPS. Aggiungi quella nuova e mantieni quella vecchia, oppure usa una proprietà di dominio, che copre entrambe. Se usi Bing Webmaster Tools, aggiornalo anche lì.
- Invia nuovamente la tua sitemap XML con gli URL https.
- Verifica che i tag canonici puntino a https. La maggior parte dei plugin SEO si aggiorna automaticamente una volta cambiati gli URL del sito, ma conferma nel codice sorgente della pagina.
- Aggiorna le impostazioni della proprietà di Google Analytics e Ads, e qualsiasi servizio di terze parti che memorizza l’URL del tuo sito.
- Aggiorna i link interni dove sono assoluti. I link relativi non necessitano di alcun intervento.
Cosa aspettarsi come normalità in seguito, perché preoccupa chi non l’ha mai fatto prima: Search Console mostrerà le tue impressioni suddivise tra le proprietà HTTP e HTTPS per un po’ mentre Google esegue una nuova scansione, e le classifiche spesso si muovono per alcune settimane prima di stabilizzarsi. Google tratta un passaggio da HTTP a HTTPS come uno spostamento del sito con cambi di URL, quindi una certa fluttuazione è prevista e non è un segno che qualcosa si sia rotto. Finché i reindirizzamenti 301 sono in atto e ogni pagina si risolve correttamente, non c’è nulla da fare se non aspettare.
Una cosa che vale la pena dire chiaramente: tornare indietro da HTTPS a HTTP non è quasi mai la soluzione giusta per un problema. Significa un secondo spostamento del sito, un altro giro di disturbo al ranking, e il ritorno degli avvisi del browser. Se HTTPS sta causando problemi, la causa è quasi sempre una delle voci nella tabella di risoluzione dei problemi, e risolvere quella è molto meno costoso che annullare la migrazione.
Domande frequenti
Cambia sia Indirizzo WordPress (URL) sia Indirizzo del sito (URL) in https sotto Impostazioni > Generali, poi aggiungi un reindirizzamento 301 a livello di server. Su Apache è una regola di rewrite in .htaccess che termina con [R=301,L]; su Nginx è una riga return 301 https://$host$request_uri; nel blocco server della porta 80. Aggiungi FORCE_SSL_ADMIN a wp-config.php per coprire anche la dashboard.
Di solito no, ed è un cambiamento che molte guide non hanno ancora recepito. Dalla versione 5.7 di WordPress, una volta che entrambe le impostazioni dell’URL del sito usano https, WordPress riscrive gli URL non sicuri nei tuoi contenuti quando la pagina viene resa. Una ricerca e sostituzione vale comunque la pena eseguirla per gli URL codificati manualmente nei file del tema, nelle opzioni serializzate dei plugin, o nei contenuti dei page builder, ma è un passaggio di pulizia piuttosto che una parte obbligatoria della migrazione.
Se il tuo host ha già emesso un certificato, circa cinque minuti. Emettere un certificato gratuito ed eseguire la procedura guidata del plugin richiede dai dieci ai quindici minuti. Un’installazione manuale con un certificato Domain Validation a pagamento richiede circa trenta minuti, e Organization o Extended Validation aggiungono da uno a cinque giorni di validazione prima di poter installare qualcosa. Risolvere il contenuto misto in seguito è la parte variabile e dipende da quanto contenuto contiene URL codificati manualmente.
Non in modo permanente, a condizione che ogni URL HTTP venga reindirizzato con un 301 al suo equivalente HTTPS. Google tratta il passaggio come uno spostamento del sito con cambi di URL, quindi aspettati qualche fluttuazione per alcune settimane mentre esegue una nuova scansione, e aspettati che le impressioni appaiano suddivise tra le tue proprietà HTTP e HTTPS di Search Console durante quel periodo. I cali persistenti di solito derivano da reindirizzamenti mancati piuttosto che da HTTPS stesso.
Tre cause spiegano la maggior parte dei casi. Gli URL del sito in Impostazioni > Generali sono ancora su http, quindi WordPress continua a servire pagine HTTP. Oppure le pagine caricano almeno una risorsa tramite HTTP, il che è contenuto misto. Oppure il certificato è installato senza i suoi certificati intermedi, quindi si convalida in modo incoerente. Esegui prima l’SSL Checker, poiché distingue un problema di installazione da un problema di contenuto.
Stai spostando una piattaforma diversa su HTTPS, o vuoi la procedura generale? Consulta la nostra guida su come passare un sito da HTTP a HTTPS.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

