Da HTTP a HTTPS senza perdere il posizionamento del sito web

Google, il 6 Agosto 2014, aveva comunicato che il protocollo https sarebbe diventato un fattore di posizionamento.

Questo vuol dire che, ceteris paribus, un sito https si posiziona meglio rispetto allo stesso sito in versione http.

HTTP Vs. HTTPS

HTTP Vs. HTTPS

 

Da quel momento, abbiamo assistito ad una prima ondata di migrazioni verso il nuovo e più sicuro protocollo, con molti webmaster che si sono affannati a spostare il loro sito in https.

Il boost nel posizionamento del sito è però assolutamente minimo, tanto che Google stesso ci suggerisce di non aspettarci grandi miglioramenti di traffico dovuti al solo passaggio sul nuovo protocollo.

Ma a cosa serve il protocollo https? Evita a terze parti di riuscire a ottenere e modificare i dati (sensibili e non) che trasmetti interagendo con un sito web.

In pratica, grazie ad una connessione in https tra client (il browser) e server (il sito web), il flusso di informazioni non viaggia in chiaro sulla rete ma è crittografato.

Tuttavia è bene chiarire un aspetto fondamentale: https non rende sicuro un sito web, ma soltanto la comunicazione tra client e server.
Potrà sembrare ovvio, ma non è sufficiente avere un certificato SSL (e quindi un sito in https) per ritenere un sito web davvero sicuro.
Paradossalmente, nonostante https, possono esserci diversi casi di siti malevoli e che, a dispetto del certificato SSL, di fatto non sono sicuri perchè contengono malware o sono siti di phishing.

Come se non bastasse e ad ulteriore prova di quanto detto pocanzi, approfittando della “febbre da https”, a causa di una “CA” che emette certificati SSL gratuiti, abbiamo assistito alla proliferazione di migliaia di certificati richiesti ed emessi gratuitamente su domini simil PayPal con l’unico intento di creare siti web di phishing.

 

L’immagine di sx è il sito PayPal, quello a destra invece è il sito di phishing. Se non ci si soffermasse sulla barra del browser, sarebbero praticamente identici. 😉

Con la tecnologia https, infatti, ci si protegge principalmente dai cosiddetti attacchi Man in the Middle. Nel caso in cui tra il vostro PC e il sito web ci fosse qualcuno a “spiare” il traffico, grazie ad https le informazioni che lo spione vorrebbe intercettare sarebbero illeggibili in quanto criptate.

Avete capito bene? Ok, andiamo avanti. 🙂

Quindi https migliora sia la tua privacy (in quanto nessuno potrà vedere su quali siti navighi) che le transazioni, perché i dati di pagamento che inserisci vengono crittografati e quindi non è possibile intercettarli.

Per avere un sito web in https, bisogna richiedere un certificato SSL ad una delle CA (Certification Authority) disponibili sul mercato, come ad esempio Comodo, Symantec, Thawte, etc…

Esistono diversi tipi di certificati SSL: DV, OV, EV, Wildcard e EV Multi-Domain.

  • DV SSL: sta per Domain Validation. Fa sì che negli e-commerce compiano transazioni sicure, proteggendo i dati di scambio. È specifico per siti web
  • OV SSL: la sigla OV sta per Organization Validation. Si tratta di un certificato studiato per proteggere da attacchi di phishing su tutti i browser comunemente utilizzati
  • EV SSL: La sigla EV sta per Extended Validation. Questo tipo di certificato ha un costo generalmente più elevato e fornisce alta protezione anche contro il phishing. È il certificato che offre la protezione più alta, grazie al processo di validazione/emissione del certificato, che richiede la presentazione di documenti specifici (visura camerale, atto notarile, dichiarazione giurata, etc…). Mostra, inoltre, ai visitatori la barra verde di sicurezza con il nome dell’azienda sul browser
  • Wildcard: è l’ideale quando ti serve il certificato sia sul dominio principale che su tutti i sottodomini
  • EV Multi Domain: stessi concetti del certificato EV, ma con la possibilità di validare anche uno o più domini/sottodomini

Dopo circa 2 anni (siamo all’8 settembre 2016) Google ha comunicato la volontà di inserire sui browser avvisi riguardanti la non totale sicurezza di siti che usano la connessione non sicura http.

Questi avvisi sono attivi per le pagine in cui vi è un trasferimento di dati privati, come ad esempio le pagine di login.

Questo, ovviamente, ha generato una nuova ondata di migrazione da http verso https di molti siti Internet, compreso il mio blog, JFactor.it.

Ho effettuato la migrazione perché, per coincidenza, ho avuto necessità di spostarmi verso un hosting più performante. In contemporanea con il trasferimento ho quindi anche implementato il nuovo protocollo.

 

Quali sono i passi da compiere per spostare il sito su https senza perdere posizionamento?

Spostare un sito su https porta a cambiare tutte le URL di tutte le nostre pagine web.

Si ha quindi un completo cambio di indirizzo del sito. Le operazioni vanno svolte in maniera precisa per evitare che Google non indicizzi completamente e correttamente la nuova versione del sito e non le dia visibilità sul suo motore di ricerca.

 

Assicuriamoci che il sito su http non abbia troppi errori

Prima di tutto assicuriamoci che lo stato iniziale del nostro sito su http sia buono.

Correggere gli eventuali link rotti e gli errori 404 sul sito “http” semplificherà notevolmente il successivo trasferimento.

 

Imposta i redirect

Prima di tutto spiego cos’è un redirect 301: si tratta di un reindirizzamento permanente.

Detto in parole povere, se la pagina A ha redirect verso la pagina B, ogni volta che un utente carica sul proprio browser la pagina A, viene mandato in automatico verso la pagina B.

I redirect servono anche a dire ai motori di ricerca che la risorsa in questione è stata spostata.

Il redirect può essere temporaneo (di tipo 302) oppure definitivo (301).

Dato che nel caso in esame stiamo trasferendo definitivamente un sito da http verso https utilizziamo redirect 301 definitivi, in modo tale da specificare a Google che le risorse sono state spostate, e che sono state spostate in maniera definitiva.

Vanno quindi usati i redirect permanenti di tipo 301 dalle vecchie URL alle nuove URL. Questo è il singolo passaggio più importante per mantenere il posizionamento del sito web.

Il redirect deve includere pagine, articoli, immagini e tutti gli elementi di cui era costituito il vecchio sito.

I redirect 301 vanno impostati in maniera coerente: ogni vecchia risorsa dev’essere ridiretta verso la corrispettiva risorsa in versione https.

Questo passaggio è fondamentale. Impostare male i redirect può portare a grossi problemi sia di indicizzazione, sia di perdita di link juice e posizionamento.

Aggiungo a tal fine un appunto: vanno evitate le catene di redirect, e impostati redirect 301 diretti.

 

Mi spiego con un esempio:

Mettiamo che sul sito avevi una vecchia pagina, che riceveva magari anche link di qualità, e la pagina era http://sito.it/pagina

Dopo un po’ hai dovuto cambiare l’indirizzo di questa pagina, che è diventato: http://sito.it/nuova-pagina

Hai quindi impostato un redirect 301 da http://sito.it/pagina verso http://sito.it/nuova-pagina

Poniamo che la nuova pagina del sito, con il nuovo protocollo, sia https://sito.it/nuova-pagina

Per evitare catene di redirect 301 dovrai far in modo che, separatamente, sia la pagina http://sito.it/pagina che la pagina http://sito.it/nuova-pagina abbiano un redirect verso https://sito.it/nuova-pagina

 

Dovrai quindi creare questa situazione:

http://sito.it/pagina -> https://sito.it/nuova-pagina

http://sito.it/nuova-pagina -> https://sito.it/nuova-pagina

Non dovrai creare la situazione sbagliata, ovvero questa catena:

http://sito.it/pagina -> http://sito.it/nuova-pagina -> https://sito.it/nuova-pagina

Un modo molto pratico per impostare redirect 301 pagina per pagina è quello di generare una regola nel file htaccess.

Il file .htaccess si può aprire con un editor di testo (ad esempio il famoso notepad), e si può inserire la seguente regola:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTPS} off

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

</IfModule>

Queste poche righe comandano un redirect 301 di ogni risorsa del nostro sito http verso la rispettiva risorsa in https.

In tal modo, se la struttura originaria del sito è pulita e ben strutturata, si avrà in un attimo una struttura ugualmente ordinata e organizzata anche sulla versione https.

Domanda: si perde link juice con il redirect 301? Qualche tempo fa Matt Cutts affermò di sì: si perde perché è considerato come un link, quindi si stima che si perda circa il 15%.

Secondo le ultime indicazioni di Google, però, pare che i redirect non comportino perdita di link juice.

Forse perché Google sta, piuttosto, iniziando a considerare redirect “fasulli” (ossia verso contenuti non coerenti) come dei soft 404, lasciando quindi che quelli fatti bene passino tutta la link juice.

 

Aggiorna link interni e canonical

Controlla e valuta tutti i link interni presenti nel sito e, se possibile, aggiornali verso le pagine con protocollo https. Lo stesso vale per i comandi canonical, che saranno indirizzati verso le pagine con il protocollo sicuro.

 

Crea la sitemap

Va creata una sitemap.xml per la versione https del sito web. Questa nuova Sitemap includerà tutte le URL presenti nella versione https del sito.

 

Registra la nuova versione del sito sulla Search Console

È d’obbligo registrare nella Search Console la nuova versione del sito, ovvero quella con https.

Non è fondamentale, ma è comunque consigliato, registrare su Search Console tutte le versioni del sito, quindi sia quelle con http che con https, sia le versioni con www che quelle senza www.

Nella Search Console ricorda di segnalare la nuova sitemap del sito, per facilitare il lavoro di scansione a Google.

Registrare la versione https sulla Search Console è utile per il monitoraggio, in quanto nelle sezioni “index status” vedrai una progressiva (più o meno rapida a seconda del sito) indicizzazione delle pagine https da parte di Google.

Nell’immagine qui sotto puoi vedere come Google abbia rapidamente indicizzato le pagine di un blog di piccole dimensioni.

 

Configura .htaccess e robots.txt

Può sembrare banale, ma molti problemi di posizionamento SEO che sembrano gravi dipendono dal fatto che abbiamo impostato nel .htaccess e nel robots.txt dei comandi che non permettono a Google di indicizzare correttamente la nuova versione del sito web in https.

Evita quindi comandi come “no index”, o peggio ancora “disallow”, per le pagine https.

Personalmente lascio il mio file robots.txt aperto, lasciando che il motore di ricerca lo scansioni a piacere. È anche una raccomandazione che Google ha espressamente dato a webmaster e SEO.

Questo ovviamente a meno che non ci siano delle specifiche pagine o risorse per le quali tu sei certo di non voler dare a Google il permesso di scansionare (disallow) o indicizzare (no index).

 

Di quanto tempo avrai bisogno per una completa indicizzazione?

Il tempo da attendere affinché Google indicizzi correttamente tutte le URL alla nuova versione varia in base alla grandezza del sito.

Per dare un’idea per siti di piccole dimensioni ci si può attendere una completa “digestione” in circa 10 giorni, ma tali dati possono ovviamente variare di caso in caso.

 

Nel frattempo monitora la situazione

E’ importante monitorare la situazione durante il periodo di scansione di Google.

A tal fine tieni sotto controllo sia i dati relativi al traffico, che quelli sul posizionamento di query particolarmente importanti.

Monitora gli errori di scansione e gli avvisi della Search Console, utilizza la funzione “Fetch as Google” per controllare che il motore di ricerca legga bene le tue pagine web.

Se hai seguito bene tutti questi passaggi, ad ogni modo, otterrai un corretta lettura da parte di Google e il tuo traffico (che potrebbe subire degli scossoni nel primo periodo) tornerà ai livelli precedenti.

Anzi, magari un pelino migliori di prima.

Ecco quindi la schermata di traffico organico di un blog di piccole dimensioni che ho spostato su https. Come si vede il trasferimento non ha portato alcun problema né perdita di posizionamento e visite.

One Response

  1. Tiziana 13/06/2017

Rispondi all'articolo

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Time limit is exhausted. Please reload the CAPTCHA.