Problemy z indeksowaniem: jak rozwiązaliśmy je w przypadku wyszukiwarki Google i czego się nauczyliśmy?

Poniedziałek, 12 sierpnia 2019 r.

W większości przypadków nasza wyszukiwarka działa prawidłowo. Nasze zespoły dokładają starań, aby zapobiegać problemom technicznym, które mogą mieć wpływ na użytkowników szukających informacji w internecie lub webmasterów, których witryny są indeksowane i wyświetlane użytkownikom. Większość systemów, na których bazuje wyszukiwarka, też zazwyczaj działa zgodnie z oczekiwaniami. Niewielkie zakłócenia są zwykle niewidoczne dla nikogo z wyjątkiem naszych zespołów, które dbają o działanie naszych usług. Jednak, tak jak w przypadku wszystkich złożonych systemów, czasami mogą występować większe przerwy w działaniu usług, które mogą powodować zakłócenia zarówno dla użytkowników, jak i twórców witryn.

W ostatnich miesiącach taka sytuacja miała miejsce w naszych systemach indeksowania, co miało dalszy wpływ na niektóre inne elementy naszej infrastruktury. Staraliśmy się rozwiązać problem jak najszybciej, ale przepraszamy za wszystkie niedogodności. Naszym celem jest nieustanne dostarczanie wysokiej jakości produktów naszym użytkownikom i całemu ekosystemowi internetowemu.

Dokładniej przyjrzeliśmy się całej tej sytuacji. W trakcie tego nauczyliśmy się kilku rzeczy, o których chcemy dziś napisać. W tym poście omówimy bardziej szczegółowo, co się stało, wyjaśnimy, jak chcemy lepiej komunikować się w przyszłości, i przypomnimy właścicielom witryn, aby mogli się z nami skontaktować.

Co się stało kilka miesięcy temu?

W kwietniu wystąpiły problemy związane z naszym indeksem. Indeks wyszukiwania to baza danych zawierająca setki miliardów stron internetowych, które udało nam się znaleźć i które, jak sądzimy, mogą odpowiedzieć na niektóre pytania użytkowników. Gdy użytkownik wpisuje zapytanie w wyszukiwarce Google, nasze algorytmy rankingowe analizują strony w indeksie wyszukiwania, aby znaleźć najbardziej trafne i użyteczne wyniki w czasie krótszym od sekundy. Oto więcej informacji o tym, co się stało.

1. Problem z indeksowaniem

Na początek tymczasowo utraciliśmy część indeksu wyszukiwarki.

Chwileczkę... Że co? Jak to „utraciliście część indeksu”? Czy to w ogóle możliwe?

Ogólnie rzecz biorąc, aby wyświetlać użytkownikom wyniki wyszukiwania, w celu przyśpieszenia działania usługi zapytanie jest przesyłane do najbliższego centrum danych obsługującego wyszukiwarkę Google i tam generowana jest strona wyników wyszukiwarki (SERP). Jeśli więc w naszym indeksie występują modyfikacje (np. dodane i usunięte strony, scalone dokumenty lub inne rodzaje zmian danych), muszą one być odzwierciedlone we wszystkich tych danych. W efekcie użytkownicy z całego świata widzą w wynikach wyszukiwania strony z najnowszej wersji indeksu.

Google ma na całym świecie centra danych (takie jak widać powyżej), aby zapewnić nieprzerwane działanie usług przez 24 godziny na dobę, 7 dni w tygodniu.
Google ma na całym świecie centra danych (takie jak widać powyżej), aby zapewnić nieprzerwane działanie usług przez 24 godziny na dobę, 7 dni w tygodniu.źródło

Ujednolicenie indeksu we wszystkich tych centrach danych nie jest proste. W przypadku dużych usług przeznaczonych dla użytkowników możemy wdrożyć aktualizacje, zaczynając w jednym centrum danych, i rozszerzać je do momentu zaktualizowania wszystkich odpowiednich centrów danych. W przypadku poufnych obiektów infrastruktury możemy rozszerzyć wdrożenie o kilka dni, przeplatając je w instancjach w różnych regionach geograficznych. źródło

Podczas wprowadzania niektórych zaplanowanych zmian w indeksie wyszukiwarki 5 kwietnia część systemu wdrożeniowego się zepsuła. Na dodatek był to piątek. Mówiąc bardziej szczegółowo: gdy aktualizowaliśmy indeks w niektórych centrach danych, niewielka liczba dokumentów została z niego zupełnie usunięta. Dlatego też „utraciliśmy część indeksu”.

Na szczęście nasi inżynierowie dyżurni szybko wychwycili ten problem, a jednocześnie zauważyliśmy też narastające poruszenie w mediach społecznościowych (dziękujemy za wszystkie zgłoszenia przesłane tego weekendu). W rezultacie zaledwie kilka godzin po wykryciu problemu udało się nam przywrócić indeks wyszukiwania do poprzedniego stabilnego stanu we wszystkich centrach danych. Po to właśnie przechowujemy kopie zapasowe indeksów.

W niedzielę 7 kwietnia podaliśmy informację, że wiemy o problemie i że wszystko zaczyna już działać normalnie. W miarę przywracania kopii stabilnego indeksu w kolejnych centrach danych podawaliśmy dalsze informacje na Twitterze (8 kwietnia, 9 kwietnia), aż upewniliśmy się, że wszystkie centra danych mają pełną wersję indeksu w dniu 11 kwietnia.

2. Problem z Search Console

Search Console to zestaw narzędzi i raportów, za pomocą których każdy webmaster może uzyskać dostęp do danych o skuteczności swojej witryny w wyszukiwarce. Raport zawiera na przykład liczbę wyświetleń i kliknięć, jaką witryna uzyskuje w bezpłatnych wynikach wyszukiwania każdego dnia, lub informacje o tym, które strony witryny są uwzględniane i wykluczane z indeksu wyszukiwarki.

W wyniku opisanego powyżej błędu indeksowania w Search Console pojawiły się rozbieżności. Doszło do tego, ponieważ niektóre dane wyświetlane w Search Console pochodzą z indeksu wyszukiwarki:

  • Raport Stan w indeksie wymaga spójnego indeksu wyszukiwania we wszystkich centrach danych.
  • Gdy przechowujemy stronę w indeksie wyszukiwarki, możemy dodać do niej adnotacje z kluczowymi sygnałami dotyczącymi strony, np. fakt, że zawiera ona znaczniki wyników z elementami rozszerzonymi. Dlatego problem z indeksem wyszukiwarki może mieć wpływ na raporty o wynikach z elementami rozszerzonymi w Search Console.

Ogólnie wiele raportów Search Console odczytuje dane ze specjalnej bazy danych. Została ona częściowo zbudowana na podstawie informacji pochodzących z indeksu wyszukiwarki. Musieliśmy przywrócić poprzednią wersję indeksu wyszukiwarki, więc musieliśmy też wstrzymać aktualizację bazy danych Search Console. Spowodowało to ograniczenie danych w niektórych raportach (oraz problemy z ich spójnością w innych, np. w narzędziu do sprawdzania adresów URL).

Raport Stan w indeksie dotyczący zindeksowanych stron, który przedstawia problem z dłuższą niż zazwyczaj częstotliwością aktualizacji danych w Search Console w kwietniu 2019 r.
Raport Stan w indeksie dotyczący zindeksowanych stron, który przedstawia problem z dłuższą niż zazwyczaj częstotliwością aktualizacji danych w Search Console w kwietniu 2019 r.

Rozwiązanie problemu z indeksem wyszukiwarki trwało kilka dni (jak wyjaśniamy powyżej), więc dopiero po pewnym czasie zajęliśmy się naprawą bazy danych w Search Console (gdy nie występowały już problemy z indeksowaniem). 15 kwietnia napisaliśmy tweeta, że w Search Console występują problemy i że pracujemy nad ich rozwiązaniem. Wprowadzanie poprawek zakończyliśmy 28 kwietnia (w dniu, w którym raporty zaczęły ponownie gromadzić aktualne dane, zgodnie z ilustracją powyżej). 30 kwietnia powiadomiliśmy na Twitterze, że problem został rozwiązany.

3. Inne problemy niezwiązane z głównym błędem indeksowania.

Wyszukiwarka Google korzysta z wielu działających ze sobą systemów. Choć niektóre z tych systemów mogą być silnie powiązane ze sobą, w niektórych przypadkach w różnych częściach systemu w tym samym czasie pojawiają się problemy, które nie są ze sobą związane.

W tym przypadku w tym samym czasie co opisany powyżej główny błąd indeksowania wystąpiły też krótkotrwałe problemy ze zbieraniem nowych treści w Wiadomościach Google. Poza tym podczas renderowania stron niektóre adresy URL zaczęły przekierowywać Googlebota na inne niepowiązane strony. Te problemy zupełnie nie miały związku z błędem indeksowania i szybko zostały rozwiązane (tweet 1 i tweet 2).

Informacje od nas i sposoby na uniknięcie takich problemów w przyszłości

Poza wiadomościami publikowanymi w ciągu tych kilku tygodni w mediach społecznościowych (jak opisaliśmy powyżej) przekazaliśmy też webmasterom więcej szczegółów na 2 sposoby: w Search Console i w Centrum pomocy Search Console.

W Centrum pomocy Search Console

Po pełnym zidentyfikowaniu problemu zaktualizowaliśmy stronę pomocy dotyczącą anomalii danych w Search Console. Służy ona do przekazywania informacji o przerwach w dostępie do danych w usłudze Search Console, gdy ma to wpływ na wielu właścicieli witryn.

W Search Console

Wiemy, że nie wszyscy użytkownicy czytają media społecznościowe lub zewnętrzną stronę Centrum pomocy, dlatego w raportach w Search Console dodaliśmy adnotacje, że dane mogą nie być dokładne (patrz obraz poniżej). Dodaliśmy teę informację po naprawieniu błędów. Kliknięcie „Tu znajdziesz szczegółowe informacje” przekieruje użytkowników na stronę „Nieprawidłowości danych” w Centrum pomocy.

Raport Stan w indeksie dotyczący zindeksowanych stron, z przykładowymi adnotacjami, które możemy dołączać, aby powiadomić użytkowników o problemach.
Raport Stan w indeksie dotyczący zindeksowanych stron, z przykładowymi adnotacjami, które możemy dołączać, aby powiadomić użytkowników o problemach.

Przyszła komunikacja

Kiedy w Google coś się popsuje, mamy silną kulturę „postmortem”: tworzymy dokument, aby opisać przerwę i próbujemy uniknąć takich sytuacji w przyszłości. Cały proces jest szczegółowo wyjaśniony na stronie Google Site Reliability Engineering.

Po kwietniowych problemach z indeksowaniem wspomnieliśmy w naszych analizach o tym, jak możemy lepiej komunikować się z webmasterami w przypadku poważnych błędów systemu. Nasze kluczowe decyzje:

  1. Znajdziemy sposób na to, żeby informacje o poważnych błędach jeszcze szybciej pojawiały się w samej usłudze Search Console. Powinno to być główne miejsce, w którym webmasterzy będą zawsze mogli znaleźć informacje w razie podejrzewanej przerwy w działaniu usługi.
  2. Będziemy szybciej publikować informacje na stronie dotyczącej anomalii danych w Search Console (jeśli problem będzie miał długoterminowy wpływ na dane w tej usłudze).
  3. Informacje o tego typu problemach będziemy jak najszybciej zamieszczać na Twitterze, aby webmasterzy mieli pewność, że wiemy o tej sytuacji i że błąd występuje po naszej stronie.

Dzięki temu wszyscy webmasterzy będą mieli lepszy dostęp do informacji, w razie gdyby takie problemy wystąpiły znów w przyszłości.

Wdrażanie rozwiązań: studium przypadku dotyczące nowych adresów URL, które nie były indeksowane

22 maja mogliśmy przetestować naszą nową strategię komunikacji, ponieważ wystąpił inny problem. Po zaplanowanej modernizacji infrastruktury naszemu systemowi zarządzania zduplikowanymi zasobami zabrakło pamięci podczas przetwarzania niektórych adresów URL. Spowodowało to zatrzymanie przetwarzania wszystkich przychodzących adresów URL.

Tak wyglądał nasz harmonogram komunikacji w odniesieniu do 3 punktów opisanych wyżej:

  1. Wykryliśmy problem (około 5:30 czasu kalifornijskiego, 22 maja).
    Napisaliśmy tweeta, że wiemy o problemie (ok. 6:40 22 maja).
    Opublikowaliśmy kolejnego tweeta o rozwiązaniu problemu (około 22:00 czasu kalifornijskiego, 22 maja).
  2. Zastanawialiśmy się nad zaktualizowaniem strony dotyczącej anomalii danych w Centrum pomocy, ale ostatecznie nie wprowadziliśmy na niej żadnych zmian, ponieważ w dłuższej perspektywie nie spodziewaliśmy się długoterminowego wpływu tego problemu na dane większości webmasterów w Search Console.
  3. Spowodowane tym zamieszanie potwierdziło nasze wcześniejsze wnioski, że musimy znaleźć sposób bardziej wyraźnego sygnalizowania w Search Console, że w naszych systemach moga występować zakłócenia niekorzystnie wpływające na pracę webmasterów. Wdrożenie takiego rozwiązania może zająć więcej czasu. Więcej informacji na ten temat przekażemy w przyszłości.

W zeszłym tygodniu wystąpił też inny problem z indeksowaniem. Podobnie jak 22 maja, tweetowaliśmy, aby poinformować użytkowników o problemie, o jego rozwiązywaniu i o przywróceniu stanu prawidłowego.

Debugowanie i komunikacja z nami

Mamy nadzieję, że ten post pomoże Ci zrozumieć, że nasze systemy są skomplikowane i czasami mogą napotykać problemy. Chcemy też wyjaśnić, jak informujemy o tych kwestiach. Chociaż ten post dotyczy uszkodzenia naszych systemów na dużą skalę, pamiętaj, że większość problemów z indeksowaniem witryn jest spowodowana konfiguracją pojedynczej witryny, co może utrudniać wyszukiwarce Google jej prawidłowe zindeksowanie. Wszyscy webmasterzy mogą debugować takie problemy, korzystając z Search Console i Centrum pomocy. Jeśli po skorzystaniu z tych narzędzi i zasobów nadal uważasz, że problem nie pochodzi z Twojej witryny, lub nie wiesz, jak go rozwiązać, skontaktuj się z nami i naszą społecznością. Zawsze czekamy na opinie użytkowników. Aby zasygnalizować nam problem:

  • Odwiedź społeczność dla webmasterów (inni webmasterzy mogli zasygnalizować problem, który ma wpływ na Twoją witrynę).
  • Osobiście – porozmawiaj z nami podczas wydarzeń.
  • W usługach – narzędzie opinii w Search Console jest bardzo przydatne dla naszych zespołów.
  • Twitter i YouTube.