Blog

Когда индексация идет не так: как Google Search оправился от проблем с индексацией и какие уроки были извлечены с тех пор

Понедельник, 12 августа 2019 г.

Большую часть времени наша поисковая система работает исправно. Наши команды усердно работают над предотвращением технических проблем, которые могут затронуть пользователей, выполняющих поиск в интернете, или веб-мастеров, чьи сайты мы индексируем и предоставляем пользователям. Аналогичным образом, базовые системы, которые мы используем для работы поисковой системы, большую часть времени также работают должным образом. Когда происходят небольшие сбои, они в основном незаметны ни для кого, кроме наших команд, которые следят за тем, чтобы наши продукты работали и функционировали. Однако, как и все сложные системы, иногда могут возникать более крупные сбои, которые могут привести к проблемам как для пользователей, так и для создателей веб-сайтов.

В последние несколько месяцев такая ситуация произошла с нашими системами индексации, что оказало волновой эффект на некоторые другие части нашей инфраструктуры. Хотя мы работали как можно быстрее, чтобы исправить ситуацию, мы приносим извинения за сбой, так как наша цель — постоянно предоставлять высококачественные продукты нашим пользователям и веб-экосистеме.

С тех пор мы более пристально и внимательно изучили ситуацию. В процессе мы извлекли несколько уроков, которыми хотели бы поделиться с вами сегодня. В этой публикации в блоге мы подробнее расскажем о том, что произошло, поясним, как мы планируем улучшить коммуникацию в случае повторения подобных ситуаций в будущем, и напомним владельцам веб-сайтов о каналах, которые они могут использовать для связи с нами.

Итак, что же произошло несколько месяцев назад?

В апреле у нас возникло несколько проблем, связанных с нашим индексом. Поисковый индекс — это база данных, которая содержит сотни миллиардов веб-страниц, которые мы просканировали в интернете и которые, по нашему мнению, могут ответить на некоторые запросы наших пользователей. Когда пользователь вводит запрос в поисковую систему Google, наши алгоритмы ранжирования сортируют эти страницы в нашем поисковом индексе, чтобы найти наиболее релевантные и полезные результаты за долю секунды. Вот подробная информация о том, что произошло.

1. Проблема с индексацией

Для начала мы временно потеряли часть поискового индекса.

Погодите… Что? Что значит «потеряли часть индекса»? Разве это вообще возможно?

В основном, при предоставлении результатов поиска пользователям, для ускорения работы сервиса запрос пользователя «путешествует» только до ближайшего из наших дата-центров, поддерживающих продукт Google Search, из которого генерируется страница результатов поисковой системы (SERP). Поэтому, когда в состав индекса вносятся изменения (некоторые страницы добавляются и удаляются, документы объединяются или выполняются другие виды изменения данных), эти изменения должны отражаться во всех этих дата-центрах. Следствием этого является то, что пользователям по всему миру постоянно предоставляются страницы из самой последней версии индекса.

Google owns and operates data centers (like the one pictured above) around the world, to keep our products running 24 hours a day, 7 days a week
Google владеет и управляет дата-центрами (подобными изображенному выше) по всему миру, чтобы наши продукты работали 24 часа в сутки, 7 дней в неделю —
источник

Поддержание индекса единым во всех этих дата-центрах — непростая задача. Для крупных ориентированных на пользователя сервисов мы можем развертывать обновления, начиная с одного дата-центра и расширяя его до тех пор, пока не будут обновлены все соответствующие дата-центры. Для чувствительных элементов инфраструктуры мы можем растянуть развертывание на несколько дней, чередуя их между инстансами в разных географических регионах.
источник.

Итак, когда мы внедряли некоторые запланированные изменения в поисковый индекс, 5 апреля части системы развертывания сломались, и это в пятницу! Более конкретно: пока мы обновляли индекс в некоторых наших дата-центрах, небольшое количество документов в результате случайности было исключено из индекса. Отсюда: «мы потеряли часть индекса».

К счастью, наши
дежурные инженеры
обнаружили проблему довольно быстро, одновременно с тем, как мы начали замечать обсуждения в социальных сетях (спасибо всем, кто уведомил нас в те выходные!). В результате мы смогли начать возврат поискового индекса к его предыдущему стабильному состоянию во всех дата-центрах всего через несколько часов после обнаружения проблемы (мы храним резервные копии наших индексов на случай возникновения таких событий).

Мы сообщили в воскресенье,
7 апреля
, что нам известно о проблеме и что ситуация начинает возвращаться в норму. Поскольку дата-центры постепенно возвращались к стабильному индексу, мы продолжали публиковать обновления в Twitter (
8 апреля,
9 апреля), пока не были уверены, что все дата-центры полностью вернулись к полной версии индекса
11 апреля.

2. Проблема с Search Console

Search Console — это набор инструментов и отчетов, которые любой веб-мастер может использовать для получения данных о производительности своего сайта в поиске. Например, он показывает, сколько показов и кликов сайт получает в органических результатах поиска ежедневно, или информацию о том, какие страницы сайта включены в поисковый индекс и исключены из него.

В результате возникновения описанных выше проблем с поисковым индексом в Search Console также стали появляться несоответствия. Это происходит потому, что некоторые данные, отображаемые в Search Console, поступают из самого поискового индекса:

  • отчет об охвате индекса
    зависит от согласованности поискового индекса в разных дата-центрах.
    когда мы сохраняем страницу в поисковом индексе, мы можем аннотировать запись ключевыми сигналами о странице, например тем фактом, что страница содержит разметку расширенных результатов. Следовательно, проблема с поисковым индексом может повлиять на
  • отчеты о расширенных результатах
    в Search Console.
    В основном, многие индивидуальные отчеты Search Console считывают данные из выделенной базы данных. Эта база данных частично создается с использованием информации, поступающей из поискового индекса. Поскольку нам пришлось вернуться к предыдущей версии поискового индекса, нам также пришлось приостановить обновление базы данных Search Console. Это привело к стабилизации данных для некоторых отчетов (и нестабильности в других, таких как инструмент проверки URL).

Отчет об охвате индекса для проиндексированных страниц, показывающий пример проблем со свежестью данных в Search Console в апреле 2019 года, с более длительным временем между двумя обновлениями, чем обычно наблюдается.

Index coverage report for indexed pages, which shows an example of the data freshness issues in Search Console in April 2019, with a longer time between 2 updates than what is usually observed.
Поскольку на откат всей проблемы с поисковым индексом ушло несколько дней (см. объяснение выше), мы отложили сосредоточение на исправлении базы данных Search Console на несколько дней позже, только после того, как проблемы с индексацией были устранены. Мы сообщили 15 апреля –

tr
твит
– о том, что в Search Console возникали проблемы и что мы работали над их устранением, и мы завершили наши исправления 28 апреля (день, когда отчеты снова начали собирать свежие данные, см. график выше). 30 апреля мы сообщили в Twitter, что проблема решена-
твит.

3. Другие проблемы, не связанные с основной ошибкой индексации

Google Search полагается на ряд систем, которые работают вместе. Хотя некоторые из этих систем могут быть тесно связаны друг с другом, в некоторых случаях в разных частях системы примерно в одно и то же время возникают несвязанные проблемы.

В настоящем случае, например, примерно в то же время, что и основная ошибка индексации, описанная выше, у нас также возникли краткосрочные проблемы со сбором свежего контента Google News. Кроме того, при рендеринге страниц определенные URL стали перенаправлять Googlebot на другие несвязанные страницы. Эти проблемы были совершенно не связаны с ошибкой индексации и были быстро решены (твит 1
и твит 2).

Наша коммуникация и то, как мы намерены работать лучше

В дополнение к общению в социальных сетях (как указано выше) в течение тех нескольких недель мы также предоставили веб-мастерам больше подробностей по другим 2 каналам: Search Console, а также Справочному центру Search Console.

В Справочном центре Search Console

Мы обновили нашу справочную страницу “Аномалии данных в Search Console” после того, как проблема была полностью идентифицирована. Эта страница используется для передачи информации о сбоях данных в нашем сервисе Search Console, когда это затронуло большое количество владельцев веб-сайтов.

В Search Console

Поскольку мы знаем, что не все наши пользователи читают социальные сети или внешнюю страницу Справочного центра, мы также добавили примечания к отчетам Search Console, чтобы уведомить пользователей о том, что данные могут быть неточными (см. изображение ниже). Мы добавили эту информацию после устранения ошибок. Нажатие на ссылку “см. здесь для получения более подробной информации” перенаправляет пользователей на страницу “Аномалии данных” в Справочном центре.

Index coverage report for indexed pages, which shows an example of the data annotations that we can include to notify users of specific issues.
Отчет о покрытии индекса для проиндексированных страниц, на котором показан пример примечаний к данным, которые мы можем включить для уведомления пользователей о конкретных проблемах.

Дальнейшие коммуникации

Когда в Google что-то ломается, у нас сильна культура “постмортема” (анализа после инцидента): создание документа для подведения итогов сбоя и попытки предотвратить его повторение в следующий раз. Весь процесс более подробно описан на
сайте Google Site Reliability Engineering.

В результате апрельских проблем с индексацией мы включили в постмортем пункт о том, как лучше общаться с веб-мастерами в случае масштабных системных сбоев. Нашими ключевыми решениями были:

  1. Изучить способы более быстрого распространения информации внутри самой Search Console о широко распространенных ошибках и сделать так, чтобы эта информация служила основным справочным пунктом для веб-мастеров на случай подозрения на сбои.
  2. Более оперативно публиковать информацию на странице аномалий данных Search Console, когда это уместно (если нарушение будет наблюдаться в данных Search Console в долгосрочной перспективе).
  3. Продолжать твитить как можно быстрее о таких проблемах, чтобы быстро успокоить веб-мастеров, что мы в курсе и проблема на нашей стороне.

Эти обязательства должны сделать потенциальные подобные ситуации в будущем более прозрачными для веб-мастеров в целом.

Претворение наших решений в жизнь: кейс “новые URL не индексируются”

22 мая мы протестировали нашу новую коммуникационную стратегию, так как столкнулись с другой проблемой. Вот что произошло: при обработке определенных URL наша система управления дубликатами исчерпала память после запланированного обновления инфраструктуры, из-за чего обработка всех входящих URL остановилась.

Вот хронология того, как мы подходили к коммуникации, следуя 3 пунктам, выделенным чуть выше:

  1. Мы заметили проблему (около 5:30 утра по калифорнийскому времени, 22 мая)

    Мы
    опубликовали твит
    о текущей проблеме (около 6:40 утра по калифорнийскому времени, 22 мая)

    Мы
    опубликовали твит
    о разрешении проблемы (около 22:00 по калифорнийскому времени, 22 мая)
  2. Мы оценили возможность обновления страницы “Аномалии данных” в Справочном центре, но решили отказаться от этого, поскольку не ожидали какого-либо долгосрочного влияния на данные Search Console большинства веб-мастеров в долгосрочной перспективе.
  3. Путаница, которую эта проблема создала для многих, подтвердила наши прежние выводы о том, нам нужен способ более четко сигнализировать в самой Search Console о том, что в одной из наших систем может быть сбой, который может повлиять на веб-мастеров. Реализация такого решения может занять больше времени. Мы будем сообщать об этой теме в будущем, по мере поступления новостей.

На прошлой неделе у нас также возникла другая проблема с индексацией. Как и 22 мая, мы
degeden
чтобы дать людям знать, что была проблема, что мы работали над ее устранением и когда проблема была решена.

Как проводить отладку и общаться с нами

Мы надеемся, что этот пост внесет больше ясности в то, насколько наши системы сложны и могут иногда давать сбой, а также поможет вам понять, как мы сообщаем о таких вопросах. Но хотя этот пост посвящен масштабному сбою наших систем, важно помнить, что большинство проблем с индексацией сайтов вызваны настройками конкретного веб-сайта, что может создавать трудности для Google Поиска при правильной индексации этого сайта. В таких случаях все вебмастера могут устранять неполадки с помощью
Search Console и нашего
Help center. После этого, если вы все еще считаете, что проблема исходит не с вашего сайта или вы не знаете, как ее решить, приходите пообщаться с нами и нашим сообществом, мы всегда рады получать отзывы от наших пользователей. Вот как сообщить нам о проблеме:

  • Проверьте нашу
    Webmaster Community, иногда другие вебмастера уже отмечали проблему, которая также затрагивает ваш сайт.
  • Лично! Мы любим контакты, приходите и пообщайтесь с нами на events.
  • Внутри наших продуктов! Инструмент обратной связи Search Console очень полезен для наших команд.
  • Twitter и
    YouTube!
Alien Road

Как мы это применяем

Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.

Связанные услуги

Поделиться