In questa guida ti spiego come fare a passare da http a https con WordPress in maniera semplice.
Se stai usando un sistema di gestione dei contenuti tra cui WordPress o Joomla, ma anche se hai realizzato il tuo sito in HTML, ci sono delle modifiche che devi fare per assicurarti che il sito usi la connessione sicura HTTPS.
Già da diversi anni Google ha iniziato a premiare nei risultati di ricerca i siti che usano il protocollo sicuro. Se ancora non l’hai fatto, è il momento perfetto per migrare da http ad https.
Table of Contents
In questa guida ti mostrerò come far sì che chi visita il tuo sito acceda sempre tramite https e non http.
Per prima cosa, però, vediamo che vuol dire HTTPS e perché è importante il passaggio al protocollo sicuro.
Cos’è HTTPS?
HTTPS è un acronimo che sta per Hyper Text Transfer Protocol Secure, è un protocollo per rendere sicure le comunicazioni tra browser e server.
Nell’immagine sotto mostriamo le differenze tra una comunicazione sicura ed una non sicura.
Come puoi vedere la comunicazione tra il browser ed il server viene criptata. Questo impedisce agli hacker di leggere e modificare i dati durante la comunicazione tra il server e il browser.
Quindi anche se un hacker è in grado di intercettare la tua comunicazione non sarebbe in grado di leggerla grazie alla cifratura.
Questo ci fa capire perché usare la connessione sicura è necessario quando c’è un invio di dati personali sensibili. Ogni sito web che usa delle credenziali di login dovrebbe usare una connessione sicura.
Come funziona HTTPS
HTTPS cripta tutte le comunicazione tra il browser ed il server usando un protocollo di criptazione. Questo protocollo è chiamato Transport Layer Security (TLS), conosciuto prima come Secure Sockets Layer (SSL).
Questo protocollo protegge le comunicazioni usando un sistema chiamato asymmetric public key infrastructure. Questo sistema usa due diverse chiavi per cifrare la comunicazione tra le parti.
- Chiave privata: questa chiave viene mantenuta dal gestore del sito e viene mantenuta privata. questa chiave viene usata per decifrare le informazioni criptate dal browser con la chiave pubblica.
- Chiave pubblica: questa chiave è disponibile a tutti quelli che vogliono interagire col sito. Le informazioni criptate con questa chiave possono essere decriptate solamente usando la chiave privata.
Tecnicamente HTTPS non è altro che una connessione HTTP che usa una cifratura TSL/SSL.
Ogni volta che ci si collega a una pagina web, questa pagina deve inviare il certificato SSL al cui intero c’è la chiave pubblica, questa informazione è essenziale per poter dare avvio a una sessione sicura.
A questo punto il browser ed il server eseguono un processo chiamato SSL/TSL handshake (traduzione: stretta di mano) che è una serie di comunicazioni tra loro volte a stabilire una connessione sicura.
Se il browser rileva un certificato SSL non valido sul sito, mostra un avviso per allertare gli utenti e invitarli a non procedere.Adozione di HTTPS
Nel tempo sempre più siti stanno usando la connessione sicura HTTPS. Su Builtwith possiamo trovare le percentuali di adozione e la crescita negli anni con le statistiche aggiornate a dicembre 2022.
Il 72,5% dei siti in top 10.000 (a livello mondiale) adotta SSL.
Se vediamo le statistiche dei siti nella top 100.000, il 75,81% usa SSL.
Su un milione di siti (a livello mondiale) la percentuale di adozione è del 67,36%.
In questi grafici vediamo inoltre come negli anni sempre più siti stanno usando la connessione sicura.
Moszcast ci mostra come il 97.5% delle query sono in https, un notevole incremento rispetto al 26% di gennaio 2016 ed al 77% di febbraio 2018.
Anche Google sta andando verso quella direzione, cercando di raggiungere il 100% di crittografia sui loro prodotti:
Stando ai dati di Firefox e Let’s Encrypt oltre l’80% dei siti al momento caricano usando una connessione sicura. Un notevole incremento rispetto al 27% del 2014.
Ovviamente non ti consigliamo di usare HTTPS solo perché tutti lo fanno. Usare HTTPS comporta dei vantaggi, vediamo quali.
Quali vantaggi abbiamo usando HTTPS?
Come dicevo prima, ci sono vari vantaggi nell’utilizzo della connessione sicura HTTPS. Vediamo quindi perché dovremmo decidere di usarla sul nostro sito.
Ad oggi non ci sono ragioni per non adottare la connessione sicura.
Innanzitutto quasi tutti i servizi hosting includono il certificato SSL nel costo del piano. Con i piani di SupportHost il certificato non solo è incluso, ma si attiva e si rinnova in automatico senza che tu intervenga per aggiornarlo quando scade.
Perdipiù, configurare WordPress in modo da usare HTTPS correttamente non è difficile.
Quindi perché non vorresti usare la soluzione sicura? Ma vediamo comunque quali vantaggi ci porta.
Sicurezza
Non ci sono bisogno di troppe spiegazioni. I motivo principale per cui vuoi usare la connessione cifrata è per questioni di sicurezza.
Come ho spiegato sopra l’utilizzo di una soluzione crittografata garantisce una sicurezza durante la trasmissione dei dati personali degli utenti. Per questo motivo il corretto utilizzo di una connessione sicura è assolutamente raccomandato (anche se non obbligatorio per legge) su tutti quei siti che gestiscono dati sensibili degli utenti, come ad esempio i siti e-commerce.
Anche se il tuo sito non gestisce i dati personali degli utenti, magari si tratta di un semplice blog, sicuramente dovrai di tanto in tanto eseguire il login per aggiungere o modificare un contenuto. In quel caso la tua password sarebbe inviata in chiaro se usi HTTP invece di HTTPS col risultato che potresti essere vittime di un attacco tipo man in the middle ed un hacker potrebbe avere accesso al tuo sito.
Prestazioni
usando HTTPS puoi usare HTTP/2 che consente il download parallelo dei files.
Oltre ad HTTP/2 puoi usare la compression HPACK con codifica Huffman, il server push e l’estensione ALPN.
In passato usare una connessione cifrata aggiungeva carico al server, ma adesso questo fenomeno è di molto ridotto.
SEO
Dal 2014 Google ha dichiarato che HTTPS è un fattore di ranking. Nonostante sia un fattore che ha meno peso di altri, vale la pena usarlo per cercare di battere la concorrenza, o quantomeno non restare indietro in un mondo dove la stragrande maggioranza dei siti usano la connessione cifrata.
Qui di seguito ti mostro un’analisi eseguita da Matthew Barby su 1 milione di URL. In questo grafico è mostrata la correlazione tra i risultati in prima posizione e l’uso di HTTPS.
Referral
Se usi Google analytics puoi vedere i referral, ovvero da quali pagine arrivano i tuoi utenti.
Se un utente passa da un sito con una connessione HTTPS al tuo sito in HTTP il referral viene perso, e quell’utente sarà visto come traffico diretto.
Se invece l’utente passa da un pagina con HTTP ad una pagina con HTTPS il referral viene trasmesso.
Se quindi vuoi avere delle informazioni più precise all’interno di Google Analytics assicurati di usare il protocollo HTTPS correttamente.
Fiducia
Un sondaggio di Globalsign dimostra come il 28.9% dei visitatori cerca il lucchetto verde nella barra degli indirizzi del browser. Inoltre il 77% è preoccupato che i loro dati possano venire intercettati ed utilizzati.
Puoi sfruttare questo a tuo vantaggio, dando una maggiore fiducia ai tuoi utenti mostrando il lucchetto verde nel browser.
Avvisi del browser
Ad oggi praticamente tutti i browser mostrano un avviso se la connessione non è sicura. Come ho detto nel paragrafo precedente molti utenti sono preoccupati per i loro dati, un alert di sito non sicuro mostrato nel browser non è certo il modo per guadagnare la loro fiducia.
Quale certificato scegliere
Inizio col dire che su tutti gli account hosting di SupportHost hai a disposizione il certificato SSL gratuito di Let’s Encrypt. Questo viene attivato in automatico dal server alle 1 di notte. Nota che il dominio deve puntare correttamente al server per poter generare il certificato SSL.
In alcuni casi potresti voler utilizzare un certificato SSL a pagamento. Ecco quali sono i principali:
- Domain Validation: questi sono i certificati SSL più economici che convalidano il dominio tramite email o dns. Permettono di generare un certificato SSL in pochi minuti senza dover inviare alcun tipo di documentazione.
- Organization validation: questo tipo di certificato convalida la tua organizzazione/azienda. Solitamente occorrono 2-3 giorni per la validazione ed è necessaria una documentazione.
- Extended validation: questo certificato richiede una convalida estesa della tua azienda e tempi di rilascio sono di 2-7 giorni. Questo tipo di certificato ti permette di avere la Green bar come vedi in alcuni siti importanti e siti bancari.
Come installare il certificato SSL
Se il tuo sito è ospitato con noi non devi far niente. Il certificato viene installato in automatico sui nostri server.
Ogni notte all’una il sistema controlla e se il tuo dominio punta al server il certificato viene generato automaticamente.
In alcuni casi c’è la necessità di generare manualmente il certificato, ad esempio il tuo sito è già online e non puoi aspettare fino al giorno successivo perché il tuo sito mostra un errore.
In questo caso puoi generare il certificato SSL gratuito manualmente ma anche in questo caso per poterlo generare devi assicurarti che il dominio punti correttamente al server.
Se invece hai deciso di usare un certificato SSL a pagamento puoi seguire il tutorial che spiega come installare un certificato SSL.
Passare da http a https con WordPress
Iniziamo col dire che se il sito web è raggiungibile tramite http e https, è possibile che Google lo penalizzi come contenuto duplicato. Questa è ovviamente una situazione da evitare, vediamo adesso come fare.
Questa operazione richiede due fasi:
- Dobbiamo fare in modo che WordPress carichi tutti i contenuti usando la connessione https;
- Bisogna impostare un redirect 301 dalla versione http alla versione https in modo da evitare contenuti duplicati.
Come prima cosa è eseguiamo un backup completo del sito nel caso in cui qualcosa andasse storto durante il procedimento.
Puoi anche seguire questo video tutorial in cui spiego passo passo le operazioni da fare.
Il primo passo da compiere è di cambiare l’url di WordPress da http ad https. WordPress salva queste informazioni nel database, ed in alcuni casi queste impostazioni vengono serializzate, vale a dire che se effettuiamo un semplice “trova e sostituisci” sul database possiamo creare dei problemi di visualizzazione al sito perché andiamo a corrompere i dati serializzati.
Ma oltre alle impostazioni è importante anche modificare tutte le chiamate alle risorse. Per poter vedere il lucchetto verde nella barra dell’indirizzo del nostro browser è necessario che tutte le risorse siano caricate con una connessione sicura, stiamo parlando delle immagini, dei fogli di stile (CSS) e dei JavaScript.
Nella maggior parte dei casi (a meno che non si tratti di un tema vecchio o mal progettato) i fogli di stile ed i CSS caricano usando lo stesso protocollo indicato nelle impostazioni del sito. In questo caso dato che andremo a modificare tutto usando WP Migrate DB questi file dovrebbero usare correttamente il protocollo https.
Le url delle immagini contenute nei post invece sono “scritte” nel testo del post con codice HTML. Questa operazione di “trova e sostituisci” ci permetterà di modificare correttamente tutte le url delle immagini oltre al resto.
Andiamo quindi ad installare il plugin WP Migrate (conosciuto in precedenza come WP Migrate DB) di Delicious Brains (attualmente mantenuto da WP Engine) tramite l’interfaccia di WordPress e lo attiviamo.
Questo plugin ci permetterà di eseguire un “trova e sostituisci” sul database e si prenderà cura di modificare l’impostazione anche dove i dati sono serializzati senza corromperli. Per questo motivo questo plugin è utile sia in questo caso per passare da http ad https che quando decidiamo di cambiare dominio WordPress.
In alternativa puoi utilizzare la funzione di WP-CLI per la ricerca e sostituzione nel database. Anche in questo caso le modifiche al database vengono apportate senza corrompere i dati.
Quindi accediamo alla pagina del plugin da Strumenti -> WP Migrate.
Apriamo la scheda “Migrate” e poi clicchiamo su Find & Replace. In questo caso non dobbiamo esportare il database, ma ci serve cambiare l’URL di WordPress per impostarlo in https.
Dobbiamo quindi impostare nel campo Find l’URL preceduto da http://
e nel campo Replace, l’URL preceduto da https://
.
Devi inserire correttamente l’indirizzo in questo campo se non vuoi generare un errore, l’indirizzo che devi inserire nel campo Replace sarà del tipo: https://esempio.com.
Visto che non stai spostando l’installazione di WordPress, ma solo modificando l’URL, non ci serve aggiungere altre righe.
A questo punto ci basta cliccare sulla freccia vicina a Preview Changes e poi su “Find & Replace” ed è fatta. Usando questo plugin tutte le referenze ad http:// saranno cambiate in https:// impostando quindi WordPress per usare correttamente la connessione sicura.
Impostare il redirect da http ad https con WordPress
Adesso che il nostro sito WordPress funziona correttamente con la connessione sicura https dobbiamo impostare un redirect 301 (redirect permanente, search engine friendly) dalla versione http del tuo sito web alla versione https.
In questo modo tutti i visitatori saranno rimandati alla versione sicura del tuo sito web.
Questo passaggio è importantissimo per far capire a Google che il sito è stato spostato in maniera permanente da http a https. Inoltre i link che puntano verso la versione http saranno rediretti verso la versione https del sito senza perdere la link juice.
Per fare questo puoi aggiungere due righe di codice nel file .htaccess (o file htaccess) all’interno della cartella public_html:
RewriteCond %{HTTPS} off RewriteRule (.*)$ https://www.dominio.it/$1 [L,R=301]
Ovviamente dovrai sostituire “www.miodominio.it” col nome del tuo dominio. Se il tuo dominio non include il “www” allora non dovrai usarlo.
Tieni presente che a seconda di dove inserisci il codice questo potrebbe non funzionare. Ad esempio è possibile che se lo inserisci alla fine del file la tua direttiva potrebbe non essere considerata. Consigliamo di inserire queste due righe all’inizio del file, subito dopo “RewriteEngine on” se presente.
In alternativa puoi usare un plugin che fa tutto per te come Really Simple SSL. Da un punto di vista di prestazioni e manutenzione è consigliabile ridurre al minimo il numero di plugin che usiamo nella nostra installazione WordPress, per questo motivo consigliamo di usare il codice indicato sopra da inserire all’interno del file .htaccess.
Puoi utilizzare uno strumento di controllo dei redirect per verificare se il redirect è impostato correttamente. Ti basta inserire l’indirizzo preceduto da http:// e vedere se viene reindirizzato verso la versione https.
In questi casi, a differenza del caso in cui modifichiamo il nome del dominio, non è necessario comunicare il cambio alla Search Console. Ricorda però che i redirect 301 sono fondamentali. Se vuoi approfondire l’argomento, puoi controllare il nostro case study su cambio dominio e SEO e scoprire come eseguire un cambio di dominio senza perdere posizionamento.Controllare che il sito sia veramente sicuro
Una volta che hai eseguito questi passi puoi visitare il tuo sito web. Come prima cosa dovresti essere rediretto alla versione https e dovresti vedere un lucchetto verde a sinistra dell’indirizzo (cambia a seconda del browser).
In alcuni casi però potresti avere un’icona diversa, ad indicare che si tratta di un sito non sicuro, come vedi nell’immagine qui sopra con un triangolo giallo di pericolo. Questo significa che alcune risorse vengono caricate con una connessione non cifrata, questo errore potrebbe essere derivante da alcune immagini o altre risorse caricate tramite connessione http.
Questo tipo di problema non dipende dall’hosting ma dal fatto che WordPress sta caricando alcune risorse usando una connessione non sicura. Per capire quali sono queste risorse consigliamo di usare lo strumento gratuito online whynopadlock, quindi capire quali sono le risorse caricate tramite una connessione non sicura, e risolvere caso per caso.
Conclusioni
Abbiamo visto quali vantaggi possiamo avere adottando il protocollo HTTPS sul nostro sito WordPress.
Dopodiché ti ho spiegato passo passo come fare a installare il certificato SSL e come eseguire il passaggio da http a https con un sito WordPress.
La migrazione ad https è stata facile o hai avuto problemi? Facci sapere con un commento.
Ultimo aggiornamento con dati più recenti sull’adozione del protocollo HTTPS, il 10 marzo 2023.
Lascia un commento