Magazine

WordPress: come migrare facilmente da HTTP ad HTTPS

26/05/2021
WordPress: come migrare facilmente da HTTP ad HTTPS
PMIPrivatiProfessionisti
Gli URL, cioè gli indirizzi delle pagine Web, sono composti generalmente da un prefisso, ad esempio “http://” o “https://”, e da un nome a dominio con la relativa estensione, come “aruba.it”. Il protocollo HTTP (Hypertext Transfer Protocol)  consente a due terminali di scambiarsi informazioni attraverso Internet dove abbiamo tipicamente un dispositivo che formula una richiesta, il client in cui è installato il browser dell’utente, e un server che fornisce la risposta desiderata se disponibile.

HTTP è stato per lungo tempo lo standard di riferimento per la maggior parte dei siti Internet prima di essere sostituito progressivamente da HTTPS (HyperText Transfer Protocol over Secure Socket Layer), ritenuto a ragione un’alternativa più sicura. Scopriamo le motivazioni di questo cambiamento e le modalità più semplici per migrare la nostra installazione di WordPress dal primo al secondo.

Differenze tra HTTP e HTTPS

Attraverso HTTP tutti i dati vengono veicolati “in chiaro”, questo significa che le informazioni gestite potrebbero essere visibili a chiunque sia in grado di accedere ad una comunicazione tra un client e un server. Tra le minacce informatiche più note vi sono gli attacchi basati sull'intercettazione del traffico, che risulta facilmente leggibile quando non criptato.

HTTPS è invece l’evoluzione sicura di HTTP, grazie ad esso infatti le richieste che un client invia ad un server, così come le risposte fornite da quest’ultimo, vengono cifrate e non sono disponibili in chiaro. A tal proposito potremmo rappresentare il traffico Internet su HTTP come le trasmissioni di un canale televisivo pubblico e il traffico su HTTPS come quelle del palinsesto di una pay tv i cui contenuti sono notoriamente criptati.

Perché un sito Web su HTTPS supporti la cifratura dei dati è però necessario disporre di un certificato SSL, installato sul server, che viene rilasciato da un’apposita autorità di certificazione in grado di garantirne la validità.

Ma qual è l’utilità di un certificato SSL?

Per rispondere a questa domanda è possibile fare riferimento ad uno dei principali rischi in cui un utente può incorrere durante la navigazione: visitare la copia di un sito Internet creata per scopi fraudolenti credendo di visualizzare quello originale. Si tratta infatti di una delle tecniche più utilizzate per sottrarre dati sensibili come per esempio i numeri di carte di credito.

A seconda del tipo di certificato utilizzato esso può garantire la validazione di un nome a dominio così come di quest’ultimo e dell’azienda che ne è titolare, l’utente ha quindi la certezza che il sito visitato sia quello corretto. Nel contempo vengono fornite le chiavi di criptazione e decriptazione che consentono l’accesso alle informazioni scambiate. Se vuoi saperne di più sui certificati SSL, leggi questo articolo.

I vantaggi di HTTPS

Rispetto al protocollo HTTP, HTTPS non garantisce soltanto un livello di sicurezza più elevato ma anche dei vantaggi in termini di posizionamento sui motori di ricerca nonché di rafforzamento della reputazione di un brand.

Google Chrome è stato uno dei primi browser a segnalare ai propri utenti se un sito Web è attivo su HTTPS o HTTP, indicando come sicure le pagine che utilizzano il primo e come non protette le altre. Non stupisce quindi che Google stessa abbia deciso di inserire la presenza o meno di una connessione cifrata tra i fattori determinanti per la SEO (Search Engine Optimization).

Imitato anche da altre applicazioni, l’ormai noto lucchetto con cui Chrome comunica la disponibilità di una connessione sicura è diventato un elemento che gli utenti prendono spesso in considerazione per decidere se proseguire o meno la navigazione su un sito Internet. Si pensi ad esempio alle piattaforme di e-commerce per le quali è richiesta la massima affidabilità.

Connessione sicura https
Connessione sicura https
Non passare da HTTP ad HTTPS potrebbe quindi tradursi facilmente in una perdita di utenti, traffico, immagine aziendale e vendite.

WordPress e HTTPS

La navigazione degli utenti su un’installazione di WordPress può essere protetta tramite HTTPS come accade per qualsiasi altro sito Internet a patto che si disponga di un certificato SSL abilitato. Il pannello di controllo dell’hosting Linux di Aruba consente ad esempio di effettuare una verifica sull’attivazione del certificato grazie all’apposita sezione “Certificato SSL”.
Pannello gestione certificato SSL
Pannello gestione certificato SSL
Se il nostro sito WordPress opera su HTTP e desideriamo migrare su HTTPS, è necessario tenere contro del fatto che, perché tale operazione sia completa, non basta modificare gli URL della home page e delle altre pagine ma si dove agire anche su qualsiasi altra risorsa associabile ad un indirizzo Internet, come per esempio le immagini. Questo per evitare il cosiddetto “contenuto misto” che determinerebbe la presenza in contemporanea sia di contenuti sicuri che non protetti nello stesso sito Web.

Esistono comunque diversi metodi, tutti relativamente semplici, per abbandonare definitivamente HTTP in favore di HTTPS anche su WordPress. Vediamo quali.

Redirect tramite Web engine

I server che ospitano i siti Web sono dotati di una particolare applicazione chiamata Web engine che ha il compito di raccogliere le richieste provenienti dai client, interpretarle, generare delle risposte e restituirle al client in modo che siano visualizzabili tramite browser.

In navigazione le richieste vengono formulate sotto forma di URL e, nel caso in cui i contenuti associati a questi ultimi siano raggiungibili tramite HTTP, il gestore di un sito Web può fare in modo che esse vengano dirottate su HTTPS tramite una procedura detta redirect che deve essere configurata a livello di Web engine.

A tale scopo è necessario definire delle direttive la cui sintassi cambia a seconda del Web engine utilizzato, quelli attualmente più diffusi sono Apache ed NGINX e ad oggi detengono circa la stessa quota di mercato.

I server di Aruba sono già configurati per forzare la versione HTTPS; se sei già cliente Aruba non sarà quindi necessario applicare alcuna configurazione speciale tramite il file .htaccess o nginx.conf.

Se si lavora su Apache le direttive per il redirect devono essere espresse tramite l’upload di un file, denominato .htaccess, nella directory principale dello spazio Web di un sito Internet. WordPress genera autonomamente un proprio .htaccess al momento dell’installazione, motivo per il quale il risultato atteso può essere ottenuto editandolo e aggiungendo all’interno di esso il seguente codice:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


Grazie a tali direttive tutte le chiamate ad URL HTTP subiranno un reindirizzamento verso HTTPS, indipendentemente dal tipo di risorsa richiesta. Nel caso specifico viene operato un redirect 301 che fa riferimento al medesimo codice di status delle pagine Internet (301 Moved Permanently) e comunica lo spostamento definitivo di una risorsa da un indirizzo ad un altro.

Su NGINX si può ottenere il medesimo risultato editando il file di configurazione del Web engine (nginx.conf) e aggiungendo le seguenti istruzioni:

server {
listen 80;
server_name sito.it www.nomesito.it;
return 301 https://nomesito.it$request_uri;
}


Anche in questo caso il redirect richiesto è di tipo 301, particolarmente indicato per rendere nota ai motori di ricerca la nuova posizione di una pagina Web.

Modifica degli URL dalla dashboard di WordPress

Le impostazioni generali del pannello di controllo di WordPress permettono di modificare gli URL di base di un sito Web decidendo se il loro prefisso deve essere http:// o https://. Tale operazione è molto semplice e può essere effettuata autenticandosi sulla dashboard del CMS per poi seguire il percorso “Impostazioni > Generali”.
Dashboard Wordpress - Impostazioni generali
Dashboard Wordpress - Impostazioni generali
Le voci su cui intervenire sono quelle relative a “Indirizzo WorldPress (URL)” e “Indirizzo sito (URL)”, modificabili attraverso degli appositi campi di testo.
Dashboard Wordpress - URL https
Dashboard Wordpress - URL https
Dopo aver definito i nuovi URL non resta altro che confermarli cliccando su “Salva”. È bene però precisare che tale soluzione potrebbe non essere definitiva e non mette al riparo dalla possibilità che il sito presenti ancora del contenuto misto. Fermo restando l'ulteriore soluzione proposta nel capitolo precedente, se dovesse verificarsi una situazione di questo genere si potrebbero seguire due strade:
  1. modificare gli URL ancora su HTTP direttamente dal database di WordPress;
  2. utilizzare un plugin che gestisca i redirect e il contenuto misto in automatico.
Dato che il primo metodo potrebbe non risultare pratico e richiedere anche molto tempo, analizzeremo un’estensione appositamente dedicata al compito che ci siamo prefissati.

Da HTTP a HTTPS con un plugin

Esistono numerosi plugin che permettono ad un sito basato su WordPress di migrare da HTTP ad HTTPS, volendo però scegliere una soluzione particolarmente facile da utilizzare la scelta potrebbe ricadere su un’estensione come Really Simple SSL che effettua quasi tutte le operazioni necessarie automaticamente.

Really Simple SSL, disponibile sia in versione gratuita, con le funzionalità essenziali, che “Pro” con alcune feature addizionali, s’installa come qualsiasi altro plugin dal percorso “Plugin > Aggiungi nuovo” della dashboard di WordPress.
Really Simple SSL plugin
Really Simple SSL plugin
Fatto questo per prima cosa lo si deve attivare cliccando sul pulsante “Continua, attiva SSL”.
Really Simple SSL plugin - Migrare a SSL
Really Simple SSL plugin - Migrare a SSL
L’estensione modifica così l'URL del sito e quella della home page in HTTPS, inoltre tutte le richieste in entrata vengono reindirizzate verso HTTPS. Come impostazione predefinita ciò avviene tramite un redirect interno a WordPress ma è possibile abilitare un reindirizzamento via .htaccess.
Really Simple SSL plugin - Stato avanzamento attivazione SSL
Really Simple SSL plugin - Stato avanzamento attivazione SSL
Tra i vantaggi di Really Simple SSL vi è soprattutto il fatto che l’intervento manuale da parte dell’utente viene ridotto al minimo, esso infatti riesce a gestire anche situazioni particolari che potrebbero rendere più difficile la migrazione ad HTTPS, come per esempio quando in un sito Web non vengono passate le intestazioni che WordPress utilizza per rilevare la presenza del supporto a SSL e operare sotto una connessione protetta.
Really Simple SSL plugin - Supporto attivazione SSL
Really Simple SSL plugin - Supporto attivazione SSL
Molto probabilmente la scelta del plugin per passare da HTTP ad HTTPS è la più comoda è immediata, si ricorda però che l’uso delle estensioni (soprattutto quando in gran numero) potrebbe ripercuotersi negativamente sulle prestazioni di WordPress, quindi prima di installarle è sempre buona norma valutarne l’impatto sulle performance e verificare che non sia disponibile una soluzione alternativa.