Come perdere tutto il traffico da Google dopo un restyle


Pochi giorni fa è apparso un articolo/case study interessante sul blog di Zurb relativo ad una perdita di traffico da Google dopo il restyle del sito internet.

search rank drops

Il grafico è eloquente. Qualsiasi SEO di fronte ad una situazione simile avrebbe perso il posto di lavoro, ma fortunatamente qui era tutto in-house.

Andiamo a scoprire un po’ cosa era successo

Dopo l’aggiornamento del sito e dopo l’audit i responsabili del sito pensavano di aver controllato tutti gli aspetti tecnici e dunque duplicati, canonicalizzazione, redirect, robots etc etc, lasciando però un nervo scoperto.

Qualcosa di subdolo si celava tra i vari tecnicismi e micro errori.

Il team di Zurb non sapendo più cosa fare ha deciso di scrivere a Google ricevendo la seguente risposta:

Hello Matt,

Thank you for your email.

It appears that you’re serving Googlebot a different content type than you’re serving to regular users. This is preventing Google from correctly interpreting your site. If you use the Fetch as Google tool in Webmaster Tools, you’ll notice that Googlebot sees pages like https://zurb.com/playground/ajax-upload with “Content-Type: application/zip; charset=utf-8”. Googelbot is unable to interpret the content type of your page which is preventing your page from being crawled properly.

Il content type non era corretto

In sostanza il tecnico di Google ha risposto segnalando un problema tecnico nella risposta del Web Server di Zurb. I contenuti HTML del sito Zurb ritornavano come tipo di contenuto application/zip anziché text/html.

Di seguito l’intestazione di risposta attuale e corretta dove in rosso evidenzio la parte che precedentemente era scorretta.

HTTP/1.1 200 OK =>
Date => Thu, 09 Jan 2014 14:59:46 GMT
Server => Apache
X-Powered-By => Phusion Passenger (mod_rails/mod_rack) 3.0.11
X-UA-Compatible => IE=Edge,chrome=1
ETag => "0e4a32cbae0370c02d13cc807f114e8e"
Cache-Control => max-age=0, private, must-revalidate
X-Request-Id => 22300255746442728723f8da5037b12c
X-Runtime => 0.224518
X-Rack-Cache => miss
Set-Cookie => _blog_session_rails328=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWE2M2M4MGM0MWJkYTVlY2FhOGM5MThhYmRiMWI2YzRlBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMVp3WGxpYWl5OVBnWHI3ZjRtQnlma2RxeHhJNWtSSmljN3hCVjU5WWx1SlE9BjsARg%3D%3D--56d558e094748d7687535ec4968909a1e930c6bb; path=/; HttpOnly
Status => 200
Vary => Accept-Encoding
Content-Length => 27100
Connection => close
Content-Type => text/html; charset=utf-8

Ovviamente si tratta di un errore abbastanza grave anche se subdolo. I tecnici di Zurb si erano basati sulle informazioni del Google Webmaster Tools e ovviamente questo non dava segnali di fumo in quanto lo status code delle pagine era comunque un 200 e dunque anche altri strumenti di controllo non segnalavano particolari problemi.

Questo problema ha causato non la perdita di ranking, ma la completa de-indicizzazione di tutte le pagine.

Dopo aver sistemato il problema i SEO di Zurb hanno scritto nuovamente a Google per informazioni sul perché non ci fosse alcun avviso negli strumenti per webmaster. Riprendiamo le loro parole:

What does that mean? Well, the root cause of the problem was that our server was setting a content-type that Google didn’t like, so they stopped indexing our pages. All browsers were either not getting this content-type, or just ignoring it and figuring out to us the right one. If you knew exactly what to look for in webmaster tools, you could ferret out that Google was getting this content-type. But no error was reported anywhere. In fact, the page was indicated a “success”.
 
Eventually, the problem was fixed with the correct content-type on our back end code. Everything was back to normal within a week. And Google gave us a curt response to our questions about why this happened in the first place. We asked how do we get the content reindexed now and why webmaster tools didn’t show this crawl error.

La risposta di Google alla richiesta di spiegazioni ottenuta è stata la seguente:

Hello Matt,

It might take some time for Google to start reindexing URLs on your site depending on a number of factors like how often Google is able to crawl your site. These pages most likely did not show in Webmaster Tools as crawl errors because the pages were live and able to be crawled returning an HTTP 200. However, when Google tried interpreting the data on the page, it was unable to convert the file type and may have chosen not to index a page that did not have any content on it.

Il problema di base era dunque sulla capacità di interpretare il contenuto della pagina e questo ha comportato la de-indicizzazione.

Conclusioni

Che la SEO sia fatta di tecnicismi, più o meno evidenti, è un dato di fatto. Riflettevo su questo fatto proprio questa notte basandomi su alcune letture e diatribe varie e basandomi sull’esperienza accumulata negli anni nella gestione di progetti di grandi dimensioni.

La cosa che mi risulta sempre più evidente, e che sta aumentando con l’evolversi del motore di ricerca, è addirittura la crescita di importanza degli aspetti tecnici legati alla SEO benché spesso in molti sostengano il contrario.

Che tu sia d’accordo o meno la SEO è e sarà sempre on-site.

Sei membro del forum? Vuoi scrivere anche tu su SEO Blog gt
Chiedilo a @giorgiotave