Aggiungere SSL a WordPress e passare da HTTP a HTTPS

Se al tuo sito WordPress manca un certificato SSL, tutti i visitatori riceveranno il messaggio "sito non sicuro".
Nel peggiore dei casi, i tuoi visitatori abbandoneranno immediatamente il tuo sito web a questo punto e cercheranno altrove. In questo articolo, stiamo spostando il tuo sito WordPress da HTTP a HTTPS per ottenere migliori risultati di ricerca e proteggere i dati dei tuoi visitatori dall’essere intercettati dagli aggressori.

Video: Come aggiungere SSL a WordPress

Se preferisci guardare un video invece di leggere questo articolo su come aggiungere SSL a WordPress, puoi guardare l’intero articolo come video:

Ti piacerebbe guardare altri video come questo?
Dai un’occhiata al nostro Canale YouTube.

Quando visitano il tuo sito WordPress, i visitatori condividono vari dati con te, sia che stiano effettuando un acquisto e fornendo dettagli di pagamento sia che stiano semplicemente accedendo al tuo sito web. Per proteggere i dati trasmessi, deve essere stabilita una connessione sicura tra il server del tuo sito web e il browser del visitatore.

È qui che entrano in gioco SSL e HTTPS.

Definizione dei termini HTTP, SSL e HTTPS

Poiché molti hanno ancora difficoltà a distinguere tra HTTP, HTTPS e SSL, vorrei spiegare brevemente i termini prima di attivare e installare il certificato SSL.

Puoi passare direttamente al prossimo capitolo se hai già familiarità con questo.

HTTP sta per Hypertext Transfer Protocol, un protocollo per il trasferimento dei dati. Viene utilizzato principalmente per caricare siti web dal World Wide Web, come il tuo sito WordPress, nel browser web di un visitatore.

SSL sta per Secure Sockets Layer; è un protocollo di crittografia per proteggere la trasmissione dei dati su Internet. Un certificato SSL unico può identificare ogni sito web.

HTTPS sta per Hypertext Transfer Protocol Secure e combina i due protocolli precedenti. Utilizzando il certificato SSL, nel protocollo HTTPS avviene un’identificazione e un’autenticazione protetta dei due partner di comunicazione, A. il tuo sito WordPress e B. il browser del visitatore. Il protocollo scambia quindi una chiave di sessione. HTTPS utilizza quindi la chiave per crittografare i dati dell’utente. In questo modo, il tuo sito WordPress e il browser del visitatore possono trasferire dati in modo sicuro.

Perché hai bisogno di un certificato SSL

Dovresti investire il tuo tempo nell’attivazione e nell’utilizzo di un certificato SSL per due semplici motivi.

  1. Proteggi i dati dei tuoi visitatori dal furto, per il quale puoi essere ritenuto responsabile a seconda della situazione legale locale.
  2. L’ottimizzazione per i motori di ricerca, nota anche come SEO, è il processo di fornitura dei risultati di ricerca più severi e adatti possibili. Poiché Google vuole fornire i risultati di ricerca più rilevanti e adatti, classifica significativamente più in basso i siti web senza un certificato SSL.

Ok, basta con il background teorico, iniziamo con l’implementazione.

Verifica se è disponibile un certificato SSL

Il primo passo è determinare se è disponibile un certificato SSL per il tuo sito web.

Un modo rapido per verificarlo è inserire https://your-site.com invece dell’URL HTTP originale, http://your-site.com. Dovresti vedere il lucchetto a sinistra della barra dell’URL, che mostra ulteriori informazioni sul certificato quando ci clicchi sopra.

Barra URL del link HTTPS
Enter https://your-site.com instead of …
Barra URL del link HTTP
… http://your-site.com

È disponibile un certificato SSL

Se questo processo funziona, hai già un certificato SSL attivo, ma il tuo sito WordPress non lo utilizza. Ha effetto solo se qualcuno richiama esplicitamente la tua pagina tramite il link https://.

Nel passaggio successivo imparerai come configurare correttamente il certificato SSL sul tuo sito WordPress.

Un certificato SSL non è disponibile.

Se questo processo non ha funzionato e finisci ancora sul link http:// e ricevi il messaggio di errore "non sicuro", ci sono due passaggi che puoi eseguire prima di configurare WordPress tramite https:

Passaggio 1: Alcuni provider di hosting offrono un certificato SSL per il tuo dominio, ma devi prima attivarlo manualmente.

La procedura per attivare il certificato SSL varia da provider a provider. Innanzitutto, vai alla dashboard del provider di hosting (spesso cPanel) e cerca la voce SSL.

A seconda del provider, ora può essere eseguita l’opzione Auto SSL sotto lo stato SSL, che verifica e attiva il certificato SSL.

Lo stato SSL
The SSL Status

Altri provider supportano un certificato SSL dell’organizzazione no-profit Let’s Encrypt, che fornisce certificati SSL gratuiti.

Cerca "Let’s Encrypt".

Il certificato Let's Encrypt.
The Let´s Encrypt

Passaggio 2: Se non riesci a trovare la sottovoce SSL, il tuo provider di hosting non fornisce un certificato SSL gratuito.

Contatta il supporto del tuo provider di hosting e chiedi informazioni sui costi di un certificato SSL. Molti provider di hosting addebitano fino a 60 $ all’anno per un certificato SSL. In questo caso, decidi se un cambio di provider potrebbe avere senso.

Contatta il tuo provider di hosting
Contact your hosting provider.

Come aggiungere SSL a WordPress

Configurare manualmente la connessione https è una soluzione permanente e ottimizzata per le prestazioni. Utilizziamo lo stesso metodo su wp-staging.com, quindi è il metodo consigliato anziché utilizzare un plugin SSL per WordPress. Tuttavia, in questo articolo, ti mostrerò anche una soluzione con plugin se desideri comunque provarci.

Innanzitutto, vai a Impostazioni > Generali. Da lì, aggiorna i campi degli indirizzi URL di WordPress e del sito sostituendo http:// con https://.

Campi degli indirizzi URL di WordPress e del sito
WordPress and site URL address fields

Una volta salvate le impostazioni, WordPress potrebbe disconnetterti e chiederti di accedere di nuovo.

Modifiche nel file .htaccess

Successivamente, personalizza il file .htaccess per impostare una regola che reindirizzi tutto il traffico da HTTP a HTTPS. Puoi accedere a questo file tramite la dashboard del provider di hosting, che spesso è basata su cPanel, o tramite uno strumento FTP come FileZilla.

Aggiorna il file .htaccess
Update .htaccess File

Per fare ciò, apri il file .htaccess e aggiungi le righe di codice.

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

Modifiche nel file Nginx.conf

Se sei su server Nginx, aggiungi questo codice al tuo file di configurazione Nginx.conf:

server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}

Non dimenticare di sostituire https://your-site.com con il tuo nome di dominio.

Modifiche nel file wp-config.php

Se vuoi forzare SSL e HTTPS nell’area di amministrazione di WordPress o nelle pagine di accesso, devi configurare SSL nel file wp-config.php.

Modifica il file wp-config
Edit wp-config File

Aggiungi semplicemente il seguente codice sopra la riga che dice "That’s all, stop editing!" nel tuo file wp-config.php:

define('FORCE_SSL_ADMIN', true);

Il tuo sito web è ora completamente configurato per utilizzare SSL / HTTPS.

Correggere errori di contenuto misto nel database di WordPress

Anche se abbiamo raggiunto il nostro obiettivo intermedio configurando il certificato SSL e instradando tutto il traffico tramite HTTPS, sul tuo sito WordPress potrebbero verificarsi i cosiddetti errori di contenuto misto.

Fonti come immagini, script o fogli di stile ancora caricati da http stanno causando questi errori di contenuto misto.

Errori di contenuto misto
Mixed Content Errors

In questo caso, nella barra degli indirizzi del tuo sito web non viene visualizzato alcun simbolo di lucchetto sicuro e il browser blocca automaticamente script e risorse non sicuri, il che può rendere inaccessibile il tuo sito web. Pertanto, mostra un simbolo di lucchetto con un avviso.

Google Developer Tools

Puoi utilizzare gli strumenti per sviluppatori per determinare quale contenuto viene ancora fornito tramite il protocollo http non sicuro. Puoi accedere a questi strumenti in Chrome premendo F12 o facendo clic con il pulsante destro del mouse e selezionando "Ispeziona". Quindi, richiama la scheda "Console" nel menu superiore. La scheda Console visualizzerà gli errori di contenuto misto come avviso.

Strumenti per sviluppatori di Chrome
Chrome Developer Tools

Come accennato, la maggior parte di questi messaggi di errore sono basati su immagini, iframe e gallerie di immagini. Tuttavia, potresti anche ricevere messaggi di errore relativi a script e fogli di stile di cui sono responsabili i plugin e i temi di WordPress.

Plugin Better Search Replace

Puoi correggere la maggior parte di questi errori tramite il database di WordPress. Per fare ciò, dovrai trovare tutte le menzioni del tuo vecchio URL del sito web che iniziava con http nel database e sostituirle con il tuo nuovo URL del sito web che inizia con https.

Lo strumento più semplice per sostituire tutte queste stringhe è il plugin Better Search Replace. Apri il menu della barra laterale di WordPress, fai clic su Plugin e Aggiungi nuovo.

Plugin Better Search Replace
Better Search Replace Plugin

Dopo l’attivazione, vai alla scheda Strumenti e seleziona Better Search Replace.

Nel campo Cerca, inserisci il tuo vecchio URL del sito web, incluso http://. Nel campo Sostituisci, inserisci il tuo nuovo URL del sito web con https://.

Sotto, vedrai un elenco delle tabelle del database di WordPress. Selezionale tutte per garantire un aggiornamento completo.

Campi Better Search Replace e selezione della tabella del database
Better Search Replace Fields and Selete Database Table

L’ultimo passaggio è deselezionare la casella accanto all’opzione "Esegui come prova?" e quindi fare clic sul pulsante "Esegui Cerca / Sostituisci".

Better Search Replace
Better Search Replace “Run as dry Run”

Il plugin esegue la scansione del database alla ricerca di URL http:// e li sostituisce con https://. Il tempo di elaborazione dipende dalla dimensione del database. Una volta completato, gli errori di contenuto misto dovrebbero essere risolti.

Correggere errori di contenuto misto relativi a temi e plugin

Se a questo punto trovi altri errori nella console degli strumenti per sviluppatori, indica che questi errori di contenuto misto si trovano nei file del tema o del plugin di WordPress, di solito come stringhe codificate, e non hanno potuto essere sostituiti dal plugin di ricerca e sostituzione nel database.

Errori di tema e plugin
Theme and Plugin Errors

Vale la pena notare che un tema o plugin di WordPress decente che segue gli standard di codifica di WordPress di solito non causa tali problemi, quindi se ricevi ancora tali errori di contenuto misto, considera se hai apportato alcune modifiche manuali al codice. Se è così, devi entrare in questo e modificare tutte le occorrenze di http:// in https:// nel codice del file specifico del plugin o del tema.

Crea un ambiente di risoluzione dei problemi sicuro con WP STAGING

Per risolvere gli errori rimanenti senza rompere nulla sul tuo sito di produzione e testare se tutto funziona, dai un’occhiata al plugin gratuito WP STAGING, che può creare una copia del tuo sito web per scopi di sviluppo.

 Installa il plugin WP Staging
Install WP Staging Plugin

Installa e attiva il plugin dal repository. In WP Staging, vai a Siti Staging e fai clic su Crea sito Staging.

Crea un sito Staging usando WP Staging

Successivamente, inserisci il nome del tuo sito di staging e salta tutte le tabelle o i file che non desideri. Controlla le impostazioni avanzate per modifiche aggiuntive, quindi fai clic su "Avvia clonazione" per terminare.

Pulsante Avvia clonazione

Infine, apparirà un pop-up che ti informa che il tuo sito di staging è pronto per l’uso.

Sito Staging creato con successo utilizzando WP Staging

Torna al tuo sito di produzione, quindi installa e attiva il plugin Really Simple SSL dal repository.

Installa il plugin Really Simple

Dopo l’attivazione, vai a Impostazioni > SSL. Il plugin riconosce automaticamente la tua connessione https e corregge gli errori di contenuto misto. Il plugin utilizza la tecnica del buffer di output. Questa tecnica può influenzare negativamente le prestazioni e la velocità del tuo sito WordPress, poiché sostituisce il contenuto HTTP quando il tuo sito viene caricato. Questo effetto si verifica solo quando viene caricata la prima pagina e dovrebbe essere minimo se utilizzi un plugin di caching.

Sebbene il plugin affermi che è possibile disattivarlo senza problemi, tale affermazione non è accurata al 100 %. Devi lasciare il plugin attivo in ogni momento, poiché disattivarlo porterà nuovamente a errori di contenuto misto. Quindi, questa è solo una soluzione temporanea.

Assicurati che non ci siano più errori

Torna al tuo sito di staging. Cerca di risolvere il problema visualizzando e modificando i messaggi di errore dalla console degli strumenti per sviluppatori di Google. Se questo non funziona, cambia il tema di WordPress e verifica se il messaggio di errore appare ancora. Se ciò non aiuta, disattiva tutti i plugin sul sito di staging, attivali plugin per plugin e verifica quando ricompare il messaggio di errore.

Dopo aver corretto gli errori, ripeti gli stessi passaggi sul tuo sito di produzione.

Nessun errore di contenuto misto rimasto
No Mixed Content Errors Left

Ora puoi disattivare il plugin "Really Simple SSL" e verificare nella console se gli errori di contenuto misto sono spariti.

Basta risoluzione dei problemi per oggi.

Congratulazioni, hai spostato con successo il tuo sito WordPress dal protocollo HTTP al protocollo HTTPS!

Articoli correlati

Rene Hermenau

Autore: Rene Hermenau

Informazioni sull'autore: René Hermenau è il fondatore di WP STAGING. Si occupa di backup WordPress, staging, migrazioni, gestione dei database e flussi di deployment sicuri.