Come passare da http a https con WordPress

29 Marzo 2020 / Pubblicato in:  da Ivan Messina
10 Commenti

Abbiamo pubblicato sul nostro blog delle informazioni relative a Google Chrome e come si comporterà in futuro relativamente ai siti che non usano una connessione sicura https. In questo articolo andremo a vedere come passare da http ad http con WordPress in pochi semplici passi.

Molti nostri clienti ci stanno chiedendo, dopo aver attivato la connessione cifrata per il loro sito web, come possono fare per visualizzare il loro sito web tramite https e non più tramite http.

Come prima cosa iniziamo dicendo 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. Se hai esigenze specifiche puoi scegliere uno dei nostri certificati SSL a pagamento.

Http Https WordPress

Iniziamo col dire che se il sito web è raggiungibile tramite http e https allo stesso indirizzo è possibile che Google lo penalizzi come contenuto duplicato. Questa è ovviamente una situazione da evitare, vediamo adesso come fare. L’operazione verrà svolta in due semplici passi:

  1. Dobbiamo fare in modo che WordPress carichi tutti i contenuti usando la connessione https
  2. Dobbiamo 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.

Se preferisci abbiamo pubblicato un video tutorial che spiega come eseguire queste operazioni.

Passare da http a https con WordPress

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 abbiamo modificato tutto usando WP Migrate DB questi files 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 DB di Delicious Brains 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.

passa da http ad https con WordPress SupportHost

Quindi accediamo alla pagina del plugin da Strumenti -> Migrate DB Nella prossima schermata clicchiamo su find e replace (dal momento che non ci interessa esportare il database ma modificare l’url della nostra installazione WordPress).

wp migrate db SupportHost

Nei box sotto impostiamo il nuovo url preceduto da https:// nel box “New URL” ad esempio https://dominio.it

IMPORTANTE: il campo che vedi cerchiato nell’immagine sottostante di default inizia con //. Dobbiamo andare a modificarlo in modo da farlo diventare http:// aggiungendo quindi “http:” davanti ai due slash.

Se non esegui questa operazione vai a creare un errore. Il campo dovrà quindi essere http://dominio.it Il campo “File Path” resterà invariato dal momento che non stiamo spostando l’installazione di WordPress ma stiamo modificando soltanto l’url, quindi dovrai semplicemente fare copia-incolla nella seconda riga. Puoi eliminare il campo path dal momento che non eseguiremo nessuna modifica.

WordPress edit database url SupportHost

A questo punto ci basta cliccare 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. 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 usare il codice indicato sopra da inserire all’interno del file .htaccess.

Per controllare di aver impostato il redirect correttamente puoi usare un redirect checker online. Vai ad inserire il nome del tuo dominio preceduto da http:// e controlli se viene reindirizzato correttamente alla versione protetta.

Controllare che sia veramente sicuro

https insecure

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 il tuo sito web è insicuro, come vedi nell’immagine qui sotto 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 insicura, e risolvere caso per caso.

10 comments on “Come passare da http a https con WordPress”

  1. Grazie Ivan, articolo chiaro e completo, idem per il video.
    Ho finalmente capito come mai non basta forzare il redirect ma è necessario anche modificare “fisicamente” i link http presenti nel db, cosa che mi ha sempre spaventato dopo alcune brutte esperienze facendolo a mano sul file sql, adesso userò sempre la tua soluzione con WP Migrate DB.

    1. Il problema di modificare a mano il database sono i dati serializzati, una semplice find e replace corrompe tutte le serializzazioni. Il plugin che usiamo semplifica la vita ed è facilissimo da usare.

    1. Non è una cartella ma un file. Vedo che non è nostro cliente. alcuni hosting non permettono la modifica. Nel nostro servizio si trova all’interno della cartella public_html

    1. Salve Girolamo, Non riusciamo a fornirle supporto dai commenti del nostro blog. La invito ad aprire un ticket di supporto dalla nostra area clienti.

  2. Ottimo articolo, potresti per cortesia dare le medesime indicazioni per chi ha, come me, una installazione multisite di wordpress? non mi ci raccapezzo! Grazie

  3. Articolo molto interessante, sono riuscito a passare da http a https con wordpress sul mio sito.
    Non sono riuscito a creare il redirect in .htaccess ne manualmente ne con il plugin, infatti dopo aver inserito il codice il sito risulta irraggiungibile con l’errore too many redirects. Ho provato a disattivare tutti i plugin ma stesso errore.
    Così ho 2 siti duplicati. Idee?
    http://www.lamaison.it

    1. Per questioni specifiche la invito ad aprire un ticket di supporto. Uno dei nostri tecnici le risponderà entro 1-2 ore dall’apertura del ticket.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *