Installare un certificato SSL su WordPress

La sicurezza oggi rappresenta la prima condizione fondamentale di una buona e sana esperienza di navigazione online.

Modificare il protocollo di navigazione di un sito internet in WordPress da HTTP a HTTPS e installare un certificato SSL permetterà all’utenza di navigare più serenamente e di affidare con più sicurezza i propri dati personali alla nostra piattaforma.

Ma come si fa ad installare un certificato SSL su WordPress in pochi e semplici passaggi? Vediamolo insieme, ma prima di tutto chiariamo alcuni concetti base.

Che significa HTTPS e SSL?

Ogni giorno condividiamo le nostre personali informazioni su differenti siti, per esempio quando acquistiamo dei prodotti online o semplicemente facciamo l’accesso su un sito.

Per proteggere il trasferimento di questi dati sensibili è necessario, dunque, creare una connessione sicura.

Questa può essere realizzata con l’uso di un certificato SSL tramite il protocollo di connessione sicura HTTPS.

HTTPS o Secure HTTP è un metodo di criptatura che rende la connessione sicura tra il browser dell’utente e il server. Questo rende più difficile per gli hackers intercettare la connessione ed eventualmente sniffare i nostri dati personali.

Ogni sito può possedere un certificato SSL univoco per la propria identificazione. Se un server richiedere una connessione HTTPS e il certificato non coincide, i browser più moderni mettono in guardia l’utente bloccando la connessione.

unsecure-connectionAppare dunque evidente la necessità di avere una navigazione sicura, per esempio, su un sito di eCommerce, per il quale è fondamentale un certificato SSL per acquisire le informazioni di pagamento.

Infatti molti providers di pagamento come Stripe, PayPal Pro, Authorize.net, ecc… richiedono obbligatoriamente una connessione sicura tramite l’uso di SSL.

Inoltre recentemente Google ha annunciato che userà HTTPS e SSL come indice di ranking nei suoi risultati di ricerca. Questo significa che usando HTTPS e SSL si potrà anche aumentare la SEO del proprio sito, davvero non male eh?!

Requisiti per usare HTTPS/SSL su WordPress

I requisiti per configurare una navigazione sicura in WordPress non sono tantissimi, essenzialmente serve un certificato SSL.

Fino all’anno scorso era possibile acquistare certificati SSL presso vari provider di hosting, con alcune e rare eccezioni, come per esempio Siteground, il mio provider preferito, che offre un certificato SSL gratis per un anno a partire dal loro piano “Grow Big”.

Da un anno a questa parte è però nata una Authority completamente Open dal nome Let’s Encrypt, da una iniziativa della Linux Fundation, poi supportata da importanti sponsor come Automattic, Siteground, Cisco, Mozilla, Google e tanti altri…

letsencrypt

sponsor

Con Let’s Encrypt tutti oggi possono ottenere gratuitamente un certificato SSL di navigazione sicura, completamente automatico, open source e in continuo sviluppo per le funzionalità. Già molti tra i migliori provider di hosting forniscono la possibilità di installazione di un certificato Let’s Encrypt con un semplice click di mouse. Vediamo ora come configurare WordPress per il corretto funzionamento.

Come configurare WordPress per usare HTTPS/SSL

In caso si tratti di una nuova installazione WordPress o si vuole usare il protocollo HTTPS su tutto il sito, bisogna prima di tutto impostare la URL.

Si può farlo facilmente andando in Impostazioni » Generali e aggiornare i campi indirizzi URL WordPress e Sito come da immagine.

updating-urls

A questo punto se è stato installato un certificato SSL ad un sito esistente, bisogna impostare il redirect di WordPress da HTTP a HTTPS.

Per effettuare correttamente il redirect bisogna inserire queste righe nel file .htaccess del sito:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R,L]
</IfModule>

Prestando ovviamente attenzione a modificare opportunamente la URL del sito.

Se si vuole aggiungere SSL e HTTPS su una installazione multi-site WordPress bisogna configurare la funzionalità SSL nel file wp-config.php.

Aggiungere, dunque, la linea di codice seguente poco su “That’s all, stop editing!”:

define('FORCE_SSL_ADMIN', true);

Questo accorgimento nel wp-config.php funziona sia per i siti singoli che per i multi-sites.

Completati questi passaggi non ci resta che verificare il corretto funzionamento del certificato SSL, usando per esempio il browser Chrome, vedremo l’icona verde con il lucchetto accanto alla url del sito nella barra in alto, segnale che è tutto funzionante. Altre colorazioni significheranno la presenza di qualche problema interpretabile secondo la seguente legenda.

chromesslerror

Spero che questo articolo possa essere utile come introduzione al concetto di navigazione sicura, a breve pubblicherò altri articoli per scendere più nel dettaglio nell’implementazione di SSL e HTTPS, e in generale di sicurezza, su WordPress, restate sintonizzati su questo blog!

Commenti (11)

  1. Bel post Frangoz … a me mancò la voglia di prendere appunti e scrivere il tutto!

  2. Pingback: Certificato SSL gratuito su WordPress con un click - FranCoz

  3. Non occorre nessuna serializzazione del db, nè parsing, quindi?

    • La semplicità sta proprio nella automatizzazione dell’installazione del certificato SSL che tramite opportuni script provvede a configurare tutto in maniera del tutto trasparente.

  4. Ciao Francesco, una domanda, ma su wp-config.php il [define(‘FORCE_SSL_ADMIN’, true);] in un sito NON multi-site va installato per forza?
    perchè hai scritto:
    “Questo accorgimento nel wp-config.php funziona sia per i siti singoli che per i multi-sites.”

    Altra domanda, se ho il sito in una sottocartella, .htaccess con questi parametri dove va inserito?

    Grazie per la guida 🙂

    • Ciao Rosetta!
      La stringa in oggetto va messa nel wp-config.php per forzare il caricamento del certificato anche nel backend di WordPress. È fondamentale nel multisite per poter gestire da superadmin tutta la rete di siti con un unico certificato. Su singolo sito direi che resta una buona pratica, che consiglio caldamente.
      Per quanto riguarda siti in sottocartelle il file htaccess va inserito nella sottocartella, per intenderci nella stessa posizione del wp-config.
      A presto! 🙂

      • Grazie per la risposta Francesco, ho un’ultima (spero) domanda 😀
        ho un tema child dove attualmente non uso il wp-config.php, come consigli di comportarmi?

  5. per questo dico… o meglio, quando poi mi si aggiorna WordPress cosa succede? che perdo la configurazione…
    Come risolvere?

    • Francesco

      No Rosetta, il wp-config viene sempre generato durante l’installazione, non è presente nel core. Quindi all’aggiornamento non viene sovrascritto.

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.