Se l'indicizzazione non riesce: come la Ricerca Google si è ripresa dai problemi di indicizzazione e cosa abbiamo imparato.

Lunedì 12 agosto 2019

Per maggior parte del tempo, il nostro motore di ricerca funziona correttamente. I nostri team lavorano senza sosta per prevenire problemi tecnici che potrebbero riguardare nostri utenti che eseguono ricerche sul Web o i webmaster i cui siti vengono indicizzati e pubblicati per gli utenti. Analogamente, anche i sistemi sottostanti che utilizziamo per supportare il motore di ricerca funzionano come previsto per la maggior parte del tempo. Quando si verificano piccole interruzioni, in genere non sono visibili a nessuno, ad eccezione dei team che assicurano che i nostri prodotti siano operativi. Tuttavia, come per tutti i sistemi complessi, a volte possono verificarsi disservizi più grandi, che possono comportare interruzioni sia per gli utenti che per i creatori di siti web.

Negli ultimi mesi, una situazione del genere si è verificata con i nostri sistemi di indicizzazione, che ha avuto un effetto a catena su alcune altre parti della nostra infrastruttura. Ci siamo impegnati a risolvere il problema nel più breve tempo possibile e ci scusiamo per il disagio, dato che il nostro obiettivo è fornire continuamente prodotti di alta qualità ai nostri utenti e all'ecosistema web.

Da allora, abbiamo esaminato la situazione con maggiore attenzione. Nel frattempo, abbiamo appreso alcune lezioni che vorremmo condividere con voi oggi stesso. In questo post del blog, parleremo più nel dettaglio di ciò che è accaduto, chiariremo come prevediamo di comunicare meglio nel caso in cui situazioni simili si verifichino in futuro e ricorderemo ai proprietari dei siti web i canali che possono utilizzare per contattarci.

Dunque, che cos'è successo qualche mese fa?

Ad aprile abbiamo riscontrato diversi problemi relativi al nostro indice. L'indice della Ricerca è il database che contiene centinaia di miliardi di pagine che abbiamo sottoposto a scansione sul web e che riteniamo possano rispondere ad alcune delle query dei nostri utenti. Quando una persona inserisce una query nel motore di ricerca di Google, i nostri algoritmi di ranking ordinano le pagine nel nostro indice della Ricerca per trovare i risultati più pertinenti e utili in una frazione di secondo. Ecco ulteriori informazioni su quanto è accaduto.

1. Il problema di indicizzazione

Per cominciare, abbiamo perso temporaneamente parte dell'indice della Ricerca.

Un attimo… Cosa? Che cosa significa che abbiamo perso parte dell'indice? È possibile una cosa del genere?

In pratica, quando si offrono risultati di ricerca agli utenti, per accelerare la velocità del servizio la query dell'utente "viaggia" solo fino al più vicino dei nostri data center che supportano il prodotto Ricerca Google, da cui viene generata la pagina dei risultati del motore di ricerca (SERP). Pertanto, in caso di modifiche alla composizione dell'indice (alcune pagine vengono aggiunte e rimosse, documenti vengono uniti o altri tipi di modifiche ai dati), i cambiamenti dovranno essere applicati a tutti questi data center. Di conseguenza, agli utenti di tutto il mondo vengono mostrate in modo coerente le pagine dalla versione più recente dell'indice.

Google possiede e gestisce data center (come quello mostrato nella foto) in tutto il mondo, per
            garantire la continuità dei prodotti 24 ore al giorno, 7 giorni su 7
Google possiede e gestisce data center (come quello mostrato nella foto) in tutto il mondo, per garantire la continuità dei prodotti 24 ore su 24, 7 giorni su 7 (fonte)

Mantenere l'indice unificato in tutti questi data center non è un'attività banale. Per i servizi di grandi dimensioni rivolti agli utenti, potremmo eseguire il deployment degli aggiornamenti partendo da un data center e passando poi ad aggiornare tutti i data center pertinenti. Per i componenti sensibili dell'infrastruttura, potremmo eseguire un'implementazione in più giorni e sostituirli gradualmente in diverse regioni geografiche. (fonte)

Pertanto, quando abbiamo apportato alcune modifiche pianificate all'indice della Ricerca, il 5 aprile parte del sistema di implementazione si è rotto, e pure di venerdì! Più precisamente, poiché stavamo aggiornando l'indice in alcuni dei nostri data center, una piccola quantità di documenti è stata esclusa accidentalmente dall'indice. Ecco spiegato come "abbiamo perso parte dell'indice".

Fortunatamente, i nostri tecnici in servizio hanno affrontato questo problema molto rapidamente, proprio nel momento in cui abbiamo iniziato a vedere alcune discussioni in merito sui social media (vogliamo ringraziare tutti coloro che ci hanno informati quel fine settimana). Di conseguenza, abbiamo iniziato a ripristinare l'indice della Ricerca al suo stato stabile precedente in tutti i data center solo poche ore dopo il rilevamento del problema (conserviamo dei back up dei nostri indici proprio per far fronte a questi eventi).

Domenica 7 aprile abbiamo comunicato che eravamo a conoscenza del problema e che le cose stavano iniziando a tornare alla normalità. Poiché i data center tornavano progressivamente a un indice stabile, abbiamo continuato a fornire aggiornamenti su Twitter (l'8 aprile e il 9 aprile), finché non abbiamo avuto la certezza che tutti i data center erano tornati del tutto a una versione completa dell'indice (l'11 aprile).

2. Il problema a Search Console

Search Console è l'insieme di strumenti e report che qualsiasi webmaster può utilizzare per accedere ai dati sulle prestazioni dei siti web nella Ricerca. Ad esempio, mostra quante impressioni e clic un sito ottiene ogni giorno nei risultati di ricerca organica oppure informazioni su quali pagine di un sito web sono incluse ed escluse dall'indice della Ricerca.

Conseguentemente ai problemi all'indice della Ricerca descritti in precedenza, anche Search Console ha iniziato a mostrare delle incoerenze; ciò è accaduto perché alcuni dei dati visualizzati in Search Console provengono dall'indice della Ricerca stesso:

  • Il report Copertura dell'indice dipende dall'uniformità dell'indice della Ricerca nei data center.
  • Quando memorizziamo una pagina nell'indice della Ricerca, possiamo annotare la voce con indicatori chiave sulla pagina, ad esempio il fatto che la pagina contenga un markup dei risultati avanzati. Pertanto, un problema relativo all'indice della Ricerca può avere un impatto sui report dei risultati avanzati in Search Console.

In pratica, molti report singoli di Search Console leggono i dati da un database dedicato, che è creato parzialmente utilizzando le informazioni provenienti dall'indice della Ricerca. Poiché abbiamo dovuto ripristinare una versione precedente dell'indice della Ricerca, abbiamo dovuto anche mettere in pausa l'aggiornamento del database di Search Console. Di conseguenza, per alcuni report sono stati riscontrati dati stabili (e irregolarità in altri casi, ad esempio nello strumento Controllo URL).

Report Copertura dell'indice per le pagine indicizzate, che mostra un esempio dei problemi di aggiornamento dei dati in Search Console ad aprile 2019, con un intervallo di tempo più lungo tra due aggiornamenti rispetto a quanto generalmente osservato.
Report Copertura dell'indice per le pagine indicizzate, che mostra un esempio dei problemi di aggiornamento dei dati in Search Console ad aprile 2019, con un intervallo di tempo più lungo tra due aggiornamenti rispetto a quanto generalmente osservato.

Poiché il rollback dell'intero problema all'indice della Ricerca ha richiesto diversi giorni (vedete la spiegazione sopra), abbiamo ritardato la correzione del database di Search Console di qualche giorno, solo dopo aver risolto i problemi di indicizzazione. Il 15 aprile abbiamo comunicato con un tweet che Search Console stava riscontrando problemi e che stavamo lavorando alla risoluzione; abbiamo completato le correzioni il 28 aprile (giorno in cui i report hanno iniziato a raccogliere nuovamente dati aggiornati, come mostrato nel grafico sopra. Il 30 aprile abbiamo comunicato su Twitter che il problema era stato risolto (tweet).

3. Altri problemi non correlati al bug di indicizzazione principale

La Ricerca Google si basa su una serie di sistemi che lavorano insieme; anche se alcuni di loro possono essere strettamente collegati tra loro, in alcuni casi parti diverse del sistema riscontrano problemi contemporaneamentenon correlati.

Nel presente caso, ad esempio, più o meno nello stesso momento in cui si è verificato il bug di indicizzazione principale, abbiamo avuto anche problemi di raccolta di contenuti aggiornati di Google News. Inoltre, durante il rendering delle pagine, alcuni URL hanno iniziato a reindirizzare Googlebot ad altre pagine non correlate. Questi problemi non erano per nulla correlati al bug di indicizzazione e sono stati risolti rapidamente (tweet 1 e tweet 2).

Le nostre modalità di comunicazione e come intendiamo migliorare

Oltre a comunicare sui social media (come evidenziato sopra) durante quelle settimane, abbiamo fornito ai webmaster più dettagli in altri due canali: Search Console e il Centro assistenza Search Console.

Nel Centro assistenza Search Console

Abbiamo aggiornato la nostra pagina di assistenza "Anomalie dei dati in Search Console" una volta che il problema è stato identificato del tutto. Questa pagina viene utilizzata per comunicare informazioni relative alle interruzioni dei dati nel nostro servizio Search Console quando riguardano un numero elevato di proprietari di siti web.

In Search Console

Poiché sappiamo che non tutti i nostri utenti leggono i social media o la pagina esterna del Centro assistenza, abbiamo aggiunto anche delle annotazioni nei report di Search Console per informare gli utenti che i dati potrebbero non essere precisi (vedete l'immagine sotto). Abbiamo aggiunto queste informazioni dopo la risoluzione dei bug. Se fanno clic su "Leggi qui per avere ulteriori dettagli", gli utenti vengono reindirizzati alla pagina "Anomalie dei dati" nel Centro assistenza.

Report Copertura dell'indice per le pagine indicizzate, che mostra un esempio delle annotazioni dei dati che possiamo includere per informare gli utenti di problemi specifici.
Report Copertura dell'indice per le pagine indicizzate, che mostra un esempio delle annotazioni dei dati che possiamo includere per informare gli utenti di problemi specifici.

Comunicazioni future

Quando qualcosa non funziona in Google, abbiamo una solida cultura "postmortem": creiamo un documento per un debriefing sul problema e proviamo a evitare che si ripeta. L'intera procedura è descritta più dettagliatamente sul sito web Google Site Reliability Engineering.

Alla luce dei problemi di indicizzazione di aprile, abbiamo incluso nel post mortem come comunicare meglio con i webmaster in caso di gravi errori di sistema. Le nostre decisioni principali sono state:

  1. Esplorare modi per condividere più rapidamente le informazioni all'interno di Search Console sui bug diffusi e far sì che queste informazioni diventino il principale punto di riferimento per i webmaster, in caso di interruzioni sospette.
  2. Pubblicare più rapidamente notizie nella pagina relativa alle anomalie di dati in Search Console, quando pertinenti (se il problema verrà rilevato a lungo termine nei dati di Search Console).
  3. Continuare a twittare il più rapidamente possibile in merito a questi problemi per rassicurare subito i webmaster che siamo a conoscenza del problema e che dipende da noi.

Queste azioni dovrebbero rendere le potenziali situazioni simili future più trasparenti per i webmaster nel loro complesso.

Mettere in pratica i nostri buoni propositi: il case study "Nuovi URL non indicizzati"

Il 22 maggio abbiamo testato la nostra nuova strategia di comunicazione, a seguito di un altro problema riscontrato. Ecco che cosa è successo: durante l'elaborazione di determinati URL, il nostro sistema di gestione duplicato ha esaurito la memoria dopo un upgrade dell'infrastruttura pianificato, che ha causato l'interruzione dell'elaborazione di tutti gli URL di provenienza.

Ecco una cronologia delle nostre comunicazioni, seguendo i tre punti evidenziati sopra:

  1. Abbiamo notato il problema (intorno alle 05:30 del 22 maggio, ora della California)
    Abbiamo twittato in merito al problema in corso (verso le 06:40 del 22 maggio, ora della California)
    Abbiamo twittato sulla relativa risoluzione (intorno alle 22:00 del 22 maggio, ora della California)
  2. Abbiamo valutato l'aggiornamento della pagina "Anomalie dei dati" nel Centro assistenza, ma deciso di non procedere perché non ci aspettavamo un impatto a lungo termine per la maggior parte dei dati di Search Console dei webmaster.
  3. La confusione che questo problema ha creato per molti utenti ha confermato le nostre precedenti conclusioni, ovvero che abbiamo bisogno di un modo per segnalare più chiaramente in Search Console che potrebbe verificarsi un'interruzione di uno dei nostri sistemi e che potrebbe interessare i webmaster. L'implementazione di questa soluzione potrebbe richiedere più tempo. Comunicheremo maggiori informazioni sull'argomento in futuro man mano che avremo altre notizie.

La settimana scorsa abbiamo riscontrato un altro problema di indicizzazione; come per il 22 maggio, abbiamo twittato per informare le persone che si era verificato un problema, che ci stavamo adoperando per risolverlo e per avvisare della sua risoluzione.

Come eseguire il debug e comunicare con noi

Ci auguriamo che questo post fornisca maggiore chiarezza sulla complessità dei nostri sistemi e di come talvolta possano riscontrare problemi, oltre ad aiutarvi a comprendere come facciamo a comunicare queste questioni. Tuttavia, anche se il post è incentrato su un'interruzione di ampio spettro dei nostri sistemi, è importante tenere presente che la maggior parte dei problemi di indicizzazione dei siti web è causata dalla configurazione di un singolo sito web, che può causare difficoltà alla corretta indicizzazione del sito da parte della Ricerca Google. In questi casi, tutti i webmaster possono eseguire il debug dei problemi utilizzando Search Console e il nostro Centro assistenza. Dopodiché, se ritenete ancora che il problema non dipenda dal vostro sito o non sapete come risolverlo, contattateci e parlatene con la nostra community: siamo sempre interessati a ricevere i feedback dei nostri utenti. Ecco come segnalarci un problema:

  • Consultate la nostra community per i webmaster; talvolta altri webmaster hanno evidenziato un problema che interessa anche il vostro sito.
  • Di persona. Adoriamo il contatto diretto con le persone, quindi veniteci a trovare in occasione di eventi.
  • All'interno dei nostri prodotti. Lo strumento di feedback di Search Console è molto utile per i nostri team.
  • Twitter e YouTube.