Stai pensando di migrare il tuo sito WordPress da http ad https e non hai la più pallida idea di come fare? Beh sei nel posto giusto.
Recentemente Google ha dichiarato che avere un certificato SSL installato sul proprio sito sarà fattore di ranking.
Da qual momento è scoppiato il panico!
Molte persone hanno effettuato subito la migrazione in maniera molto frettolosa ed approssimativa, altre hanno convinto loro stessi che non fosse necessario.
A priori di tutto, io personalmente credo che il messaggio sia stato chiaro, il web si sta evolvendo e pian piano, con il tempo, il protocollo http:// (quindi siti senza certificato ssl) scomparirà.
Google ha cercato di forzare un po la mano, in un primo momento ha messo in giro la voce , poi lo ha dichiarato ufficialmente, ora molto lentamente inizierà ad avvantaggiare siti con protocollo https a discapito di quelli con protocollo http, questo fino a quando non ce ne sarà più bisogno.
Il punto è che siamo obbligati a stare al passo con i tempi se vogliamo andare avanti, come in passato siti che si sono rifiutati di passare a tecnologie più moderne e responsive sono stati pian piano penalizzati, anche in questo caso molto probabilmente accadrà lo stesso.
Effettuare la migrazione da http ad https non è poi così difficile se si prendono le giuste precauzioni, certo siti più grandi e complessi potrebbero avere più difficoltà ed è quindi necessario affidarsi ad un esperto, ma per siti web di piccole/medie dimensioni il processo è abbastanza indolore.
In questa guida vedremo come effettuare questo passaggio con un sito realizzato in WordPress.
Indice
Come migrare da http a https con WordPress
Installiamo il certificato SSL
La prima cosa da fare è installare un certificato SSL, ne esistono diversi tipi, sia a pagamento che gratuiti open source, uno dei più famosi è sicuramente Let’s Encrypt.
Potrete installare questo certificato seguendo le istruzioni sul sito ufficiale oppure, se utilizzate un hosting come SiteGround, direttamente dal cPanel con un solo click.
Tra l’altro SiteGround ha recentemente messo a disposizione un plugin che renderà tutto il processo che vedremo da adesso in poi, automatico, ma sinceramente non l’ho ancora mai utilizzato.
Ma andiamo avanti
Controlliamo lo status
Installato il certificato verifichiamone lo status dal sito ssllabs.com. Il risultato dovrà essere possibilmente un A o un A+.
Modifichiamo i canonical
Dalle impostazioni generali di WordPress modifichiamo l’indirizzo del nostro sito web da http a https, clicchiamo su salva e a questo punto dovremmo essere stati buttati fuori dal pannello amministratore.
Facciamo il redirect su https
Il passo successivo sarà quello di accedere all’interno del nostro sito via ftp ed aprire il file nel root chiamato .htaccess.
Leggi anche: “Collegare Dreamweaver a WordPress“
All’interno di questo file andremo a copiare questa porzione di codice/comando per fare un redirect di tutte le pagine al protocollo https:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
All’interno del file wp-config.php invece andremo a copiare quest’altra porzione di codice:
define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true);
Analizziamo le pagine del nostro sito
Terminato il tutto se utilizziamo Google Chrome come browser predefinito, verifichiamo che la scritta https sia in verde con la dicitura “sicuro”, navighiamo in lungo e in largo il nostro sito e se la dicitura non cambia vuol dire che il certificato è stato installato correttamente e che non sono presenti link all’interno del sito con protocollo http.
D’altro canto, se la scritta https è in grigio ci troveremo di fronte ad un contenuto misto, il che vuol dire che sul vostro sito sono ancora presenti dei link con protocollo http.
Nella maggior parte dei casi si trattano di link inseriti manualmente, magari all’interno del testo o nei widget.
Se non riusciamo a modificarli a mano dovremo agire direttamente sul database.
Se siete pratici potreste scaricare direttamente tutto il database del vostro sito, modificarlo e successivamente ricaricarlo.
Ad ogni modo i sconsiglio questo procedimento.
Modifichiamo il database
Per effettuare quest’operazione in tutta sicurezza potete utilizzare un tool per le modifiche al database.
Quindi andiamo sul sito interconnectit.com e scarichiamo il tool dalla voce download.
Scompattiamo il file e rinominiamo la cartella a nostro piacimento
Carichiamo il file sul nostro sito via ftp (dovrete caricare la cartella nello stesso punto dov’è presente tutta l’installazione di Wordpress)
A questo punto apriamo la cartella dal nostro browser digitando https://miosito.it/nomecartella nella barra degli indirizzi.
Ci ritroveremo di fronte ad una schermata come questa :
Alla voce “replace” inseriamo l’indirizzo del nostro sito con http alla voce “with” invece l’indirizzo con https
Cliccando su “dry run” effettueremo un test per verificare cosa verrà sostituito, con “live run” invece procederemo con le modifiche.
Terminato il tutto non dimentichiamoci di eliminare la cartella appena caricata.
Per fare questo potete cliccare sul tasto “delate me” oppure eliminare la cartella manualmente, io preferisco la seconda scelta.
A questo punto il certificato SSL dovrebbe essere installato correttamente.
Facciamo un ulteriore controllo
Potrete fare un ultimo controllo andando sul sito https://www.jitbit.com/sslcheck/# ed inserendo l’indirizzo del nostro sito web potremo controllare se siano presenti ancora delle pagine del nostro sito con protocollo http.
Grazie mille 🙂 è stato utilissimo!
Ciao Fabio, io non trovo il file .htaccess .. come mai?
Ciao Luca,
grazie per il tuo video molto chiaro! Per effettuare la migrazione da HTTP a HTTPS ho seguito le indicazioni di SiteGround e ho ho cercato di installare SG Optimizer ma mi dà degli errori di compatibilità con PHP 7.1 Ho provato allora con le tue indicazioni utilizzando Let’s Encrypt e le modifiche da te indicate per .htaccess e wpconfig. Alla fine però mi dà sempre un “ERR_TOO_MANY_REDIRECTS”. E’ possibile un conflitto con SG Optimizer? Quale può essere il problema?
Ciao Luisa,
Si, probabilmente hai generato una sorta di loop, ti consiglio provare a disabilitare il redirect da SG Optimizer e magari anche il plugin prima di effettuare le modifiche che suggerisco nella guida. Se non sbaglio il plugin stesso suggerisce la stessa cosa.
Ciao Luca,
la guida di Fabio Wild funziona perfettamente, ma se usi il certificato SSL DV fornito da Aruba nel file .htaccess non devi aggiungere la stringa fornita da Fabio ma la seguente:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ciao Fabio,
Complimenti per i tuoi contenuti! Ho riscontrato uno strano fenomeno: effettuando la migrazione su https per un sito non è stato necessario effettuare il redirect: intervenendo sul .htaccess e wpconfig mi veniva restituito l’errore da brower di loop di redirect.
Pare che i redirect ci siano: pensi che vada bene in ottica seo?
Grazie
Ciao Luca,
Se la versione http rimanda a quella https va bene. Ad ogni modo per sicurezza potresti chiedere al tuo fornitore di web hosting se il redirect è stato impostato correttamente.
Ho appena verificato che per siti recenti su Aruba il redirect su .htaccess non funziona. Linko la guida per effettuare il redirect da http a https per i clienti Aruba: https://guide.hosting.aruba.it/servizi-aggiuntivi/certificato-ssl/ssl-per-servizi-hosting/ridirigere-traffico-da-http-a-https.aspx