18 de Octubre
PLAZAS LIMITADAS

Googlebot finge inactividad para renderizar

El rastreador web de Google simula estados inactivos para desencadenar eventos de JavaScript. Este cambio mejora la renderización de callbacks inactivos

Googlebot finge inactividad para renderizar
Autor:
Carlos Sánchez
Fecha de publicación:
2024-07-17

Última revisión:
2024-08-12

En un reciente episodio del podcast Search Off The Record, se reveló que el sistema de renderizado de Google ahora finge estar "inactivo" para activar ciertos eventos de JavaScript y mejorar la renderización de páginas web.

Zoe Clifford, Martin Splitt y John Mu, personal del equipo de renderizado de Google, hablaron sobre cómo los rastreadores web de la compañía manejan los sitios basados en JS, sobre cómo funciona la renderización y qué es el misterioso "iteratorect". También discuten qué es el DOM, si todas las páginas se renderizan, cuánto tiempo lleva y qué deben tener en cuenta los propietarios de sitios web al crear sitios impulsados por JavaScript.

Esta revelación es interesante para todos aquellos que trabajen con webs que utilizan frameworks de JavaScript o diversos métodos para diferir la carga de contenido.

Martin Splitt, Zoe Clifford and John Mu. Googlers together
Esta es una imagen editada para representar visualmente a los 3 Googlers

Hasta 2019 Google utilizaba el motor Blink para analizar una web, pero les daba problemas ya que as actualizaciones eran casi impredecibles e inestables, sin embargo pasaron a headless Chromium el cual ha resultado tener menos problemática para analizar el js de una web. Antes de eso, utilizar un CSR en una web era directamente renunciar a Google.

El truco de Google para estar inactivo (IDLE)

Googlebot simula estados “inactivos” durante la renderización, lo que desencadena eventos de JavaScript como requestIdleCallback.

Los desarrolladores utilizan esta función para diferir la carga de contenido menos crítico hasta que el navegador esté libre de otras tareas.

Antes de este cambio, el proceso de renderizado de Google era tan eficiente que el navegador siempre estaba activo, causando que algunos sitios web no cargaran contenido importante.

Había un sitio web de videos muy popular que no nombraré... que difería la carga de cualquier contenido de la página hasta después de que se activara requestIdleCallback.

Dado que el navegador nunca estaba inactivo, este evento no se disparaba, impidiendo que gran parte de la página se cargara correctamente. — Zoe Clifford

Así que Google implementó un sistema donde el navegador finge estar inactivo periódicamente, incluso cuando está ocupado renderizando páginas.

Este ajuste asegura que los callbacks inactivos se activen correctamente, permitiendo que las páginas carguen completamente su contenido para la indexación.

Clifford enfatizó la importancia de que los desarrolladores implementen un manejo de errores adecuado en su código JavaScript.

Los errores no manejados pueden llevar a páginas en blanco, redirecciones o contenido faltante, impactando negativamente en la indexación.

¿Qué es entonces el IDLE?

En este contexto, "Idle" no es un acrónimo, es simplemente una palabra en inglés que significa "inactivo" o "sin actividad". Googlebot simula estados "idle" o de inactividad para mejorar la renderización de páginas web y desencadenar ciertos eventos de JavaScript.

Cuando se habla del "truco de inactividad" de Google, se refiere a una técnica que utiliza Googlebot (el rastreador web de Google) durante la renderización de páginas web.

Contexto de "Idle" en Googlebot:

  1. Simulación de Estados Inactivos: Googlebot simula estados de inactividad durante la renderización de páginas. Esto significa que el bot finge estar inactivo o no estar haciendo nada durante ciertos periodos.
  2. Desencadenamiento de Eventos de JavaScript: Al simular estos estados inactivos, Googlebot puede desencadenar eventos de JavaScript como requestIdleCallback. Esta función de JavaScript permite a los desarrolladores diferir la ejecución de ciertas tareas hasta que el navegador esté inactivo y tenga recursos disponibles.
  3. Mejora de la Renderización: La simulación de inactividad ayuda a asegurar que los eventos y funciones que dependen de estos estados inactivos se ejecuten correctamente, permitiendo que todo el contenido de la página se cargue y se renderice como debería.

En resumen, el "truco de inactividad" de Google implica que Googlebot simula periodos de inactividad para mejorar la renderización de sitios web que utilizan requestIdleCallback y otras funciones relacionadas, asegurando así una indexación más completa y precisa del contenido.

¿En qué nos afecta a los SEOs Técnicos?

Principalmente, en base solo a la parte que he desarrollado del artículo nos tendríamos que quedar con dos cuestiones.

Manejo de Errores: Asegurando la Carga Correcta de las Páginas

Implementar un manejo de errores adecuado es fundamental para garantizar que las páginas se carguen correctamente, incluso si algunas partes del código fallan. Esto significa que debes preparar tu sitio para lidiar con posibles fallos de manera que no afecten la experiencia del usuario. Por ejemplo, si un script no se carga bien, la página aún debería mostrarse y funcionar de la mejor manera posible. Es como tener un plan de respaldo: si algo falla, el resto del sitio sigue funcionando.

Esto no siempre es posible, y menos en las páginas de Frameworks de JS, entonces nos tendremos que asegurar con auditorías y conocimiento que vaya lo mejor que se pueda, pudiendo solucionar ágilmente los errores que vayan sucediendo. Trabajando con entornos de prueba/staging y asegurándonos de que todo está correcto antes de ir a producción.

Uso Cauteloso de Callbacks Inactivos

Google ha mejorado en el manejo y entendimiento de callbacks inactivos, lo que son funciones que se ejecutan cuando un evento específico ocurre, pero no deberías depender demasiado de ellas. Aunque Google puede manejar estos callbacks, es importante no abusar de estas funciones porque pueden hacer que tu sitio sea más complicado y potencialmente menos eficiente. En resumen, utiliza los callbacks con moderación y asegúrate de que tu sitio funcione bien sin ellos.

Hay otros temas interesantes en ese vídeo, como los desafíos que presenta la detección de agentes de usuario y el manejo de redirecciones de JavaScript, sobre lo que puede que haga otro post. También te puedes apuntar a la próxima SEOminada sobre renderización, donde podremos tocar estos temas con mayor profundidad.

Shenaningans

Los Shenanigans es la práctica de utilizar un user-agent engañoso en una web. Se recomienda probar Googlebot en chrome (a menos que la web tenga protección anti-shenanigans para comprobar que no se muestra al usuario un contenido diferente a Google. Es decir Cloaking.

Más curiosidades de JavaScript para SEO

Para sorpresa de nadie, Google bajo ciertas condiciones puede leer las redirecciones de JavaScript pero no es lo más efectivo. Y Google no suele tener problemas para leer los cambios o inserción de un JSON que se haya cambiado por js de una página indexable.

Si te gusta este artículo, me ayudarías un montón compartiendo mi contenido:
No se te da mal el SEO Técnico

Te falta mi máster. Accede a una formación avanzada que te permitirá aplicar e implementar SEO en cualquier tipo de WEB

¡Accede al Máster de SEO Técnico!
Tal vez te interesen otros artículos:
Artículos de SEO
Usamos cookies para asegurar que te damos la mejor experiencia en nuestra web. Aquí tienes nuestra política de privacidad.