Cómo nos hemos recuperado de los errores de indexación y qué hemos aprendido de ellos

Lunes, 12 de agosto del 2019

La mayor parte del tiempo, nuestro buscador funciona perfectamente. Nuestros equipos hacen todo lo posible para que no surjan problemas técnicos que puedan afectar a los usuarios que estén navegando por la Web ni a los webmasters de los sitios que indexamos y mostramos. Además, los sistemas que usamos para que el buscador siga operativo también funcionan correctamente casi todo el tiempo. Si hay alguna interrupción breve, solo llegan a notarla nuestros equipos, que se aseguran de que nuestros productos sigan en funcionamiento. Sin embargo, como en todos los sistemas complejos, a veces puede haber cortes, lo que puede llevar a que usuarios y creadores de sitios web noten interrupciones.

En los últimos meses se produjo un problema de este tipo en nuestros sistemas de indexación, lo que tuvo un efecto dominó en otras partes de nuestra infraestructura. Mientras trabajábamos lo más rápido posible para remediar la situación, pedimos disculpas por la interrupción, ya que nuestro objetivo es proporcionar en todo momento productos de alta calidad a nuestros usuarios y al ecosistema web.

Desde entonces, hemos examinado más detenidamente qué pasó, lo que nos ha servido para sacar las conclusiones que queremos compartir aquí hoy. En esta entrada de blog, daremos más detalles sobre lo que ocurrió, aclararemos cómo pensamos que podríamos comunicar mejor este tipo de situaciones si vuelven a ocurrir, y recordaremos las vías por las que pueden ponerse en contacto con nosotros los propietarios de sitios web.

Entonces, ¿qué ocurrió hace unos meses?

En abril, tuvimos varios problemas relacionados con nuestro índice. El índice de la Búsqueda es la base de datos que almacena cientos de miles de millones de páginas web que rastreamos en la Web, un índice que en nuestra opinión podría resolver algunas de las dudas que plantean nuestros usuarios. Cuando los usuarios introducen consultas en la Búsqueda de Google, nuestros algoritmos de posicionamiento buscan entre las páginas de su índice para ofrecerles en una fracción de segundo los resultados más relevantes y útiles. En los siguientes apartados explicamos más en detalle qué ocurrió.

1. El error de indexación

Para empezar, perdimos parte del índice de Búsqueda temporalmente.

Un momento... ¿Qué? ¿Qué quieres decir con "perdimos parte del índice"? ¿Era algo que podía pasar?

En términos generales, cuando mostramos resultados de búsqueda a los usuarios, para acelerar el servicio, su consulta solo "viaja" hasta nuestro centro de datos más cercano que admita consultas de la Búsqueda de Google, donde se genera la página de resultados del motor de búsqueda (SERP). Por tanto, si hay cambios en el índice, ya sea porque algunas páginas se añaden o se retiran, porque se fusionan documentos o porque se cambian datos de alguna otra manera, estas modificaciones deben constar en los datos de esos centros. El resultado de este proceso es que los usuarios de todo el mundo acceden siempre a las páginas de la versión más reciente del índice.

Google es el propietario y el encargado de gestionar centros de datos por todo el mundo, como el de esta imagen, para que nuestros productos funcionen las 24 horas.
Google es el propietario y el encargado de gestionar centros de datos por todo el mundo, como el de esta imagen, para que nuestros productos funcionen las 24 horas. Fuente

Conseguir que el índice que tienen todos esos centros de datos sea el mismo no es sencillo. En servicios importantes que están a la vista del usuario, es posible que implementemos los cambios en un centro de datos concreto y a partir de ahí vayamos aplicándolos al resto de los centros de datos relevantes. En componentes de infraestructura sensibles, podemos prorrogar varios días estas implementaciones, intercalándolas con los de distintas regiones geográficas. Fuente

El pasado 5 de abril, mientras implementábamos cambios en el índice de la Búsqueda, varias partes del sistema se bloquearon. Para colmo, todo esto ocurrió un viernes. Para ser más concretos: mientras actualizábamos el índice en algunos de nuestros centros de datos, una pequeña cantidad de documentos se retiró del índice de manera accidental. Es por eso que "perdimos parte del índice".

Por suerte, nuestros ingenieros que estaban de guardia detectaron el problema rápidamente y, al mismo tiempo, empezamos a responder al chat en las redes sociales. Por cierto, muchas gracias a todos los que nos notificaron de la incidencia ese fin de semana. Gracias a esto, pudimos empezar a revertir el índice de la Búsqueda a su estado estable anterior en todos los centros de datos tan solo unas horas después de que el problema se detectara. Sí, hacemos copias de seguridad de nuestros índices por si suceden este tipo de cosas.

El domingo, 7 de abril, enviamos un aviso para indicar que teníamos constancia del problema y que las cosas estaban empezando a volver a la normalidad. A medida que los centros de datos volvían a revertir el índice a su estado estable, seguimos compartiendo las actualizaciones a través de Twitter (los días 8 y 9 de abril). Finalmente, el 11 de abril,dimos por concluida la incidencia al comprobar que todos los centros de datos habían vuelto a la versión completa del índice.

2. El error de Search Console

Search Console es el conjunto de herramientas e informes que cualquier webmaster puede usar para acceder a datos sobre el rendimiento de su sitio web en la Búsqueda. Por ejemplo, sirve para saber cuántas impresiones y clics recibe un sitio web cada día en resultados de búsquedas orgánicas, o información sobre qué páginas de un sitio web se han incluido o excluido en el índice de la Búsqueda.

Debido a los problemas descritos más arriba sobre el índice de la Búsqueda, Search Console también empezó a mostrar incoherencias, ya que algunos datos que aparecen en Search Console proceden de ese índice:

  • El informe de cobertura de indexación depende de que el índice de la Búsqueda sea coherente en todos los centros de datos.
  • Cuando almacenamos una página en el índice de la Búsqueda, podemos incluir en su entrada alguno de sus indicadores clave como, por ejemplo, si contiene etiquetas de resultados enriquecidos. Por lo tanto, si hay un problema con el índice de la Búsqueda, puede que varíen los informes de resultados enriquecidos de Search Console.

Para resumir, muchos informes de Search Console toman como referencia una base de datos concreta que se crea en parte basándose en información que procede del índice de la Búsqueda. Como en este caso tuvimos que volver a una versión anterior del índice de la Búsqueda, también tuvimos que impedir que la base de datos de Search Console se siguiera actualizando, lo que acabó provocando que algunos datos no variaran durante días, mientras que en otras herramientas, como la de inspección de URLs, se mostraban datos incorrectos.

Un informe de cobertura de indexación sobre páginas indexadas, donde se pueden ver los problemas de actualización de datos que hubo en Search Console durante abril del 2019, ya que hay un periodo más largo del habitual entre dos actualizaciones.
Un informe de cobertura de indexación sobre páginas indexadas, donde se pueden ver los problemas de actualización de datos que hubo en Search Console durante abril del 2019, ya que hay un periodo más largo del habitual entre dos actualizaciones.

Debido al tiempo que nos llevó solucionar la incidencia del índice de Búsqueda (como explicamos anteriormente), no pudimos centrar nuestra atención en arreglar la base de datos de Search Console hasta pasados varios días. En un tuit del 15 de abril, informamos a los usuarios a los usuarios de los problemas que estaba experimentando Search Console y de nuestro empeño en solucionarlos. Finalmente, logramos resolver la incidencia el 28 de abril, día en el que los informes volvieron a incluir datos actualizados, como se puede ver en el gráfico anterior. El 30 de abril, comunicamos por medio de otro tuit que el problema se había resuelto.

3. Otros errores no relacionados con la incidencia principal de indexación

La Búsqueda de Google depende de varios sistemas que trabajan conjuntamente. Aunque algunos de esos sistemas pueden estar estrechamente vinculados a otros, en algunos casos surgen problemas que afectan a partes distintas del sistema durante el mismo periodo, pero no están relacionados.

En este caso concreto, mientras surgía el problema de indexación principal que ya hemos explicado, en determinado momento también tuvimos algunas dificultades para recoger contenido nuevo de Google News. Además, mientras el robot de Google renderizaba páginas, algunas URLs empezaron a redirigirlo a otras páginas no relacionadas. Estos problemas no estaban relacionados de ningún modo con el error de indexación y se resolvieron rápidamente (tuit 1 y tuit 2).

Nuestra comunicación y cómo queremos mejorar

Además de avisar por redes sociales, como ya hemos explicado, durante esas semanas también notificamos a los webmasters por otros dos canales: Search Console y el Centro de Ayuda de Search Console.

En el Centro de Ayuda de Search Console

Una vez identificado el problema, actualizamos nuestra página de ayuda sobre anomalías de datos en Search Console. Esta página se usa para notificar interrupciones de datos en nuestro servicio de Search Console en caso de que afecte a una gran cantidad de propietarios de sitios web.

En Search Console

Como sabemos que no todos nuestros usuarios leen las redes sociales o consultan el Centro de Ayuda, también incluimos anotaciones en los informes de Search Console para avisarles de que los datos podían no ser precisos, tal como se muestra en la imagen incluida más abajo. Añadimos esta información una vez que los errores se habían solucionado. Cuando los usuarios hacen clic en "Más información", se les dirige a la página de anomalías de datos del Centro de Ayuda.

Un informe de cobertura de indexación sobre páginas indexadas, donde se puede ver una anotación sobre datos que incluimos para notificar a los usuarios sobre los problemas que hubo.
Un informe de cobertura de indexación sobre páginas indexadas, donde se puede ver una anotación sobre datos que incluimos para notificar a los usuarios sobre los problemas que hubo.

Cómo informaremos a partir de ahora

Cuando se produce una incidencia en Google, creemos que es importante hacer un análisis pormenorizado de lo ocurrido: por eso, creamos un documento para analizar por qué se produjo el error y saber qué podemos hacer para evitar que vuelva a ocurrir. Todo el proceso se describe con más detalle en el sitio web de Site Reliability Engineering de Google.

Tras los problemas de indexación experimentados en el mes de abril, decidimos dedicar un apartado de ese documento a analizar cómo podíamos mejorar nuestra comunicación con los webmasters cuando se produce un error de sistema importante. A raíz de este análisis, tomamos las siguientes decisiones:

  1. Buscar nuevas formas de agilizar la comunicación en Search Console cuando hay que informar de errores generales, y que, si los webmasters creen que puede haberse producido una interrupción, sepan que pueden usar como referencia esa información.
  2. Actualizar con más frecuencia la página de Search Console sobre anomalías de datos cuando sea relevante, es decir, en el caso de que esa anomalía vaya a aparecer en los datos de Search Console a largo plazo.
  3. Avisar por Twitter cuanto antes si se produce un error de este tipo para tranquilizar rápidamente a los webmasters diciéndoles que tenemos constancia del problema y que, efectivamente, la incidencia es nuestra.

Esperamos que estos compromisos mejoren la transparencia de cara a los webmasters ante cualquier incidencia futura.

Cumpliendo nuestros propósitos: el caso de éxito de "nuevas URLs no indexadas"

El 22 de mayo probamos nuestra nueva estrategia de comunicación, ya que se produjo otro problema: mientras se procesaban varias URLs, nuestro sistema de gestión duplicada se quedó sin memoria tras una actualización de infraestructura programada, por lo que las URLs entrantes dejaron de procesarse.

En la siguiente cronología, detallamos paso a paso cómo manejamos la incidencia teniendo en cuenta los tres puntos descritos anteriormente:

  1. Sobre las 5:30 (PT) del 22 de mayo, nos dimos cuenta del problema.
    Sobre las 6:40 (PT) del 22 de mayo, avisamos mediante un tuit de la incidencia.
    Sobre las 22:00 (PT) del 22 de mayo, notificamos mediante un tuit que se había solucionado.
  2. Nos planteamos actualizar la página del Centro de Ayuda sobre anomalías de datos, pero decidimos no hacerlo ya que no pensábamos que fuera a afectar a largo plazo a la mayoría de los datos de Search Console de webmasters.
  3. La confusión generada por este problema confirmó las conclusiones anteriores: necesitamos una forma más clara de alertar desde la propia herramienta de Search Console de posibles incidencias en nuestros sistemas que puedan afectar a los webmasters. Es posible que este tipo de solución tarde un tiempo en implementarse, pero os mantendremos al tanto de cualquier novedad.

La semana pasada también tuvimos otro problema de indexación. Al igual que el 22 de mayo, avisamos mediante un tuit de que había un problema, que estábamos trabajando para solucionarlo y que el problema se había resuelto.

Cómo depurar problemas y ponerse en contacto con nosotros

Esperamos que esta entrada ponga de manifiesto que nuestros sistemas son complejos y pueden sufrir interrupciones, y que también ayude a entender cómo comunicamos estas incidencias. Aunque esta entrada se centre en una interrupción general de nuestros sistemas, es importante que tengas en cuenta que la mayoría de los problemas de indexación de sitios web los causa la configuración de esos sitios, que hace que la Búsqueda de Google tenga dificultades para indexarlos correctamente. En esos casos, todos los webmasters pueden depurar problemas con Search Console y nuestro Centro de Ayuda. Si ya lo has hecho pero sigues creyendo que el error no procede de tu sitio o no sabes cómo solucionarlo, contacta con nosotros y habla con nuestra comunidad; agradecemos enormemente los comentarios de nuestros usuarios. A continuación, te mostramos cómo puedes notificarnos errores:

  • Consulta nuestra comunidad para webmasters, ya que a veces verás que otros webmasters han avisado de un error que también afecta a tu sitio.
  • En persona. Estaremos encantados de hablar contigo directamente en cualquiera de nuestros eventos.
  • Desde nuestros productos. La herramienta de comentarios de Search Console resulta muy útil para nuestros equipos.
  • Twitter y YouTube.