Audit di migrazione da HTTP a HTTPS

Hai installato un certificato SSL/TLS, è ora tempo di testarlo e trovare cosa impedisce di vedere l'etichetta "Sicuro". Come fare un audit di migrazione da HTTP a HTTPS.

Migrare un sito web a HTTPS significa un cambio di tutti gli URL. Ci sono un sacco di ottime guide in giro su come gestire la migrazione. Una su tutte, raccomandiamo The HTTP to HTTPs Migration Checklist di Aleyda.

Qui troverai una descrizione come trovare tutte le potenziali criticità di una migrazione da HTTP a HTTPS, usando Visual SEO Studio.

Ti suggerisco di creare un progetto dedicato alla migrazione del sito.

Prima di tutto, esplora la versione HTTP

Se non avessi ancora impostato i redirect 301, cogli l'occasione per effettuare una esplorazione completa del tuo sito con lo spider dello strumento di SEO audit. Visual SEO Studio salva le sessioni di esplorazione in tempo reale, così che troverai sempre i tuoi dati per successive ispezioni (nel caso i redirect fossero già impostati, non preoccuparti, dovrai solo prestare un po' più di attenzione più tardi).

Vista Esplorazione, prima della migrazione a HTTPS
Vista Esplorazione, prima della migrazione a HTTPS

Se ci fossero degli errori on-site (es. link rotti che portano a pagine 404 o 30x), miglio correggerli ora.

Impostare tutte le redirezioni 301

Non ti insegnerò nulla di nuovo qui: devi redirezionare ogni possibile chiamata a vecchi URL http:// alla loro nuova versione https://, usando dei codici di stato HTTP 301 “Moved Permanently”.
Vuoi farlo per diversi buoni motivi (prevenire doppia indicizzazione con le due versioni di ogni pagina in competizione fra loro, mantenere il PageRank dei vecchi URL trasferendolo ai nuovi URL, etc...)
Il come impostare i redirect 301 è al di fuori dello scopo di questa guida. Dipende dalla piattaforma del tuo web server (Apache, Nginx, IIS), dal tuo CMS, dalla tecnologia server-side, e dalle possibili limitazioni imposte dal to host. Assumo tu ti sia già occupato di tutto ciò.

Esplorare il nuovo sito HTTPS

Ripeti ora l'esplorazione del sito web, questa volta partendo dall'indirizzo https://.
Lo scenario desiderato è vedere che la struttura esplorata corrisponda 1:1 a quella della vecchia esplorazione su http://. Questo probabilmente non accadrà al primo tentativo, ed è facile tu veda qualcosa di simile a questo:

Crawl View with mixed http and https items
Vista Esplorazione con elementi misti http e https

Localizzare e correggere tutti i link interni che puntano ancora alla versione HTTP

Vedi tutti quegli elementi sotto la proprietà web http://?
Provengono tutti link con cablati vecchi URL assoluti lo spider ha trovato puntare alla vecchia versione.

Nota: In questo esempio gli elementi non sono stati esplorati perché l'URL http://[DOMAIN]/robots.txt ritornava un valore inatteso per file robots.txt e abbiamo deciso di usare l'opzione (non predefinita) di considerare il caso come un "Disallow".

Vi sono diversi modi di localizzare tali link rotti.

Individuare i vecchi link, primo metodo

Il primo è semplice e veloce, ti consiglio di provarlo per primo:
Fai un clic con il tasto destro su ogni elemento e seleziona la voce “Vai al Referrer URL”.

Menu di contesto Vai al Referrer URL
Menu di contesto “Vai al Referrer URL”

Il programma evidenzierà la pagina dove il bot ha trovato il link alla prima occorrenza dell'URL errato.
Puoi poi espandere il pannello in basso “Link di Pagina”, localizzare (ordinando per URL, o usando l'opzione “Trova in griglia...”) la riga con il link cercato.
Puoi poi invocare l'opzione “Mostra nel DOM” (o alternativamente “Mostra nel codice”); il link incriminato sarà evidenziato nella Vista DOM per aiutarti a capire dove intervenire per correggerlo. Correggi il template o la pagina nel tuo CMS, e ripeti per tutti gli altri casi.

Menu di contesto Mostra nel DOM
Menu di contesto “Mostra nel DOM”

Vista DOM, con il link evidenziato
Vista DOM, con il link evidenziato

Individuare i vecchi link, secondo metodo

Il primo metodo mostrato localizzerà solo le prime occorrenze trovate di ogni URL; il più delle volte sarà un link in un template, lo correggi lì e lo correggi ovunque.
Per ulteriori raffinamenti potresti voler utilizzare l'opzione “Trova link in entrata” per individuarli tutti.

Menu di contesto 'Trova link in entrata'
Menu di contesto “Trova link in entrata”

Il comando ispezionerà tutte le pagine comprese nella sessione di esplorazione e restituirà la lista di quelle che hanno link verso il vecchio URL.
Da lì potrai proseguire come nel primo metodo.

Se il sito non è troppo grosso, ti consiglio di effettuare esplorazioni incrementali per evitare di vedere cose hai già corretto.
Presto avrai corretto tutti i vecchi link presenti nei template, e ridotto i link nei contenuti a un minimo.

Individuare i vecchi link, terzo metodo

Puoi individuare in un colpo solo tutte le pagine con link verso i vecchi URL interni http:// se hai la Edizione Professional (o una Trial da 30 giorni attiva) di Visual SEO Studio, sfruttando il potente motore di Estrazione Dati.

Estrazione Dati, trovare tutti i vecchi link
Estrazione Dati, trovare tutti i vecchi link

Apri la scheda Estrazione Dati e crea un nuovo set di cliccando sul bottone Nuovo.

Devi aggiungere tre colonne di estrazione:

Nome colonna: “A http www”
XPath al contenuto: “//a[starts-with(@href, 'http://www.example.com')]/@href”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Nome colonna: “A http non-www”
XPath al contenuto: “//a[starts-with(@href, 'http://example.com')]/@href”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Nome colonna: “A https non-www”
XPath al contenuto: “//a[starts-with(@href, 'https://example.com')]/@href”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Attenzione: ricordati di sostituire il nome di dominio “example.com” con quello del tuo sito!

Dai un nome al set – es. “links to non httpswww” – e salvalo per uso futuro.

Clicca sul bottone “Estrai Dati”, e tutti i link errati saranno individuati.

Anche qui hai a disposizione i comandi “Mostra nel DOM” e “Mostra nel codice”.

Se preferisci, puoi esportare i dati estratti verso file Excel o CSV:

Estrazione Dati, Esportazione verso Excel
Estrazione Dati, Esportazione verso Excel

Controllare che tutti i redirect funzionino correttamente

Ricordi avevi esplorato il sito http:// prima di aggiungere i redirect (se non l'avessi fatto, non preoccuparti e continua a seguirmi)? È ora tempo di testare quei redirect.

Nota: hai bisogno della Edizione Professional ora, o di una Professional Trial attiva.

Apri la vecchia sessione di esplorazione in Vista Tabellare, assicurati la colonna “URL” sia visibile ed esporta su Excel i suoi elementi (abbiamo già visto come esportare verso Excel, funziona su tutte le griglie di Visual SEO Studio; la Vista Tabellare esibisce anche un bottone facile da riconoscere).

Con Excel (o OpenOffice, o LibreOffice) copia tutti i valori delle celle (a parte l'intestazione) della colonna “URL”.

Ora lancia il comando “Esplora Lista URL” (disponibile in Visual SEO Studio Edizione Professional)

Esplorazione lista URL per testare redirezioni
Esplorazione lista URL per testare redirezioni

Assicurati che l'opzione “Per il file robots.txt trattare redirezione a [altro dominio]/robots.txt come 'accesso completo'” sia selezionata.

Clicca sul pulsante “Esplora”.

Il risultato atteso è che tutte le pagine ritornino un codice di stato HTTP 301, puntando alla versione https:// equivalente.

Nota: nel caso tu non avessi una sessione di esplorazione pre-migrazione, puoi sempre tentare di riprodurre la lista di vecchi URL usando la nuova esplorazione HTTPS: esporta verso Excel, trova e sostituisci tutte le occorrenze di "https://" con "http://" nella colonna URL, copia il contenuto della colonna nella finestra di "Esplora Lista URL" (il programma si farà carico di eliminare le voci duplicate).

Individuare e correggere tutte le pagine con "mixed content"

Un aspetto importante dopo una migrazione a HTTPS è evitare i "mixed content" (contenuti misti).

Cos'è un "mixed content"?

Quando una pagina (con indirizzo https://) raccoglie contenuti "embedded"– immagini, file CSS, script... - in parte da indirizzi http:// siamo in un caso di "mixed content".

Perché non vogliamo pagine che servono mixed content?

Vedi il simbolo vicino all'URL nella barra degli indirizzi?

Indirizzo HTTPS con contenuti misti
Indirizzo HTTPS con contenuti misti

Potresti pensare indichi un sito http://, invece è la versione https://.
Cosa? Niente simbolo del “lucchetto” ed etichetta “Sicuro”?
No caro: clicca sul simbolo “i”, e vedrai:

Indirizzo HTTPS con contenuti misti, dettaglio messaggio
Indirizzo HTTPS con contenuti misti, dettaglio messaggio

Clicca F12 (strumenti di sviluppo), seleziona la scheda “Network”, aggiungi la colonna “scheme”, ricarica la pagina, e vedrai che in effetti ci sono dei contenuti serviti con indirizzo http://.

Gli strumenti di sviluppo di Chrome mostrano contenuti misti per una singola pagina
Gli strumenti di sviluppo di Chrome mostrano contenuti misti per una singola pagina

Se vuoi vedere il confortante simbolo del lucchetto con l'etichetta “Sicuro”, devi eliminare i mixed-content e servire tutto sotto HTTPS.

Indirizzo HTTPS senza mixed-content, con il rassicurante simbolo del lucchetto
Indirizzo HTTPS senza mixed-content, con il rassicurante simbolo del lucchetto

Il tasto F12 è comodo per una singola pagina, ma se volessimo controllare tutte le pagine assieme e trovare tutti i contenuti misti?
Per fortuna abbiamo un potente strumento per rilevare tutte le pagine con contenuti misti: Visual SEO Studio (anche qui avrai bisogno della Edizione Professional, perché useremo di nuovo Estrazione Dati):

Apri la scheda Estrazione Dati e crea un nuovo set cliccando sul pulsante Nuovo.

Devi aggiungere quattro colonne di estrazione:

Nome colonna: “IMG”
XPath al contenuto: “//img[starts-with(@src, 'http://')]/@src”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Nome colonna: “JS”
XPath al contenuto: “//script[starts-with(@src, 'http://')]/@src”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Nome colonna: “LINK tag (CSS, canonical)”
XPath al contenuto: “//link[starts-with(@href, 'http://')]/@href”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Nome colonna: “FORM action”
XPath al contenuto: “//form[starts-with(@action, 'http://')]/@action”
Cosa estrarre: “InnerText”
Estrai solo il primo elemento: falso

Qui non c'è bisogno di indicare il dominio esatto, perché vogliamo individuare tutti i contenuti http://, indipendentemente dalla sorgente.

Estrazione Dati, trovare i mixed content
Estrazione Dati, trovare i mixed content

Dai un nome al set – es. “Mixed content” – e salvalo per uso futuro.

Clicca sul pulsante “Estrai Dati”, e gli URL che causano mixed-content saranno estratti.

Procedi correggendo i problemi come già facesti con i link errati; ripeti fino a completamento.

Audit di sitemap XML e di robots.txt

Una volta passato il tuo sito a HTTPS, dovrai anche assicurarti le Sitemap XML listino solo URL https://. Lo stesso vale per il tuo file robots.txt: se elenca delle Sitemaps, assicurati punti alle versioni HTTPS.

Puoi ispezionare le tue Sitemaps XML manualmente; se sono molte (pensa al caso di sitemap indice che ne elencano a loro volta decine o centinaia), puoi chiedere a Visual SEO Studio di fare il lavoro duro per te.

Invoca il comando “Esplora Sitemap...

Nota: avrai bisogno della Edizione Professional o di una Professional Trial attiva per questo passaggio.

Audit di Sitemaps
Audit di Sitemaps

e controllare se ogni elemento è correttamente esplorato o se sarà saltato perché ha lo "scheme" errato.

Conclusioni

Spero tu abbia trovato questo tutorial utile. Abbiamo solo scalfito la superficie delle funzionalità offerte da Visual SEO Studio.

Migrare un grosso sito HTTPS implica una attenta pianificazione e vari passaggi al di fuori dello scopo di questo tutorial.
Per siti complessi, hai bisogno di uno strumento per automatizzare il tuo audit, e Visual SEO Studio è un grande compagno per questo compito!


Leggi altri tutorial di Visual SEO Studio.