Cómo usa la Búsqueda de Google las reglas de especulación

Fecha de publicación: 12 de febrero de 2025

La Búsqueda de Google es uno de los sitios más populares de la Web y también uno de los más rápidos. El equipo de Búsqueda invierte continuamente para que la experiencia de búsqueda sea más rápida. En una página tan popular como la Búsqueda de Google, incluso los milisegundos de mejora se suman rápidamente. Ese interés en la velocidad incluye la conocida página principal de Google, la página de resultados del motor de búsqueda (SERP) y los clics a otros sitios desde esos resultados de la búsqueda.

La Búsqueda de Google utiliza la API de Speculation Rules para mejorar la velocidad de navegación desde la página de resultados de la búsqueda hasta los vínculos de los resultados y ha estado usando algunas funciones de la API que pueden ser de interés para otros propietarios de sitios.

Cómo recuperar previamente los dos primeros resultados

Uno de los primeros usos de las reglas de especulación fue la precarga de los dos primeros resultados de la búsqueda. Por ejemplo, la búsqueda de "test" incluye la siguiente regla de especulación en la página:

{
    "prefetch": [{
        "source": "list",
        "requires": [
            "anonymous-client-ip-when-cross-origin"
        ],
        "referrer_policy": "strict-origin",
        "urls": [
            "https://www.merriam-webster.com/dictionary/test",
            "https://dictionary.cambridge.org/dictionary/english/test"
        ]
    }]
}

Las dos URLs de la parte inferior son los dos primeros resultados de la búsqueda y se precargaron de inmediato. Si el usuario hace clic en ellos, tendrá una ventaja, ya que el documento HTML ya debería estar disponible para el navegador.

La regla y los intentos de carga previa se pueden ver en la pestaña Aplicación de DevTools -> Speculation como se documentó anteriormente:

Panel de especulación de DevTools que muestra una lista de dos definiciones del diccionario de la palabra texto, ambas recuperadas previamente con éxito
Panel de especulaciones con dos precargas correctas.

Precargas que preservan la privacidad

Debido a que estos vínculos son para contenido de otros sitios, existen algunas consideraciones adicionales de privacidad para la precarga, ya que el usuario aún no los visitó.

Por suerte, la API se diseñó teniendo esto en cuenta, y la Búsqueda de Google usa dos funciones para preservar la privacidad del usuario.

La primera es usar la configuración requires para garantizar que la carga previa use el proxy de carga previa privada en Chrome:

"requires": [
    "anonymous-client-ip-when-cross-origin"
],

Se usa un proxy para garantizar que la conexión anonimice la dirección IP, de modo que no filtremos la IP del usuario al sitio antes de que haga clic en el vínculo para navegar a él desde la página de resultados de la búsqueda.

En segundo lugar, la Búsqueda de Google usa el parámetro de configuración referrer_policy para garantizar que no se envíen al sitio detalles codificados en la URL de la página de búsqueda en el encabezado HTTP referer:

"referrer_policy": "strict-origin",

La mayoría de los navegadores ahora usan strict-origin-when-cross-origin de forma predeterminada, pero este parámetro de configuración usa un parámetro de configuración más estricto para usar la política de referer strict-origin incluso para la precarga del mismo origen.

Una tercera protección se produce automáticamente si el usuario tiene cookies para el sitio. En este caso, es posible que reciban resultados diferentes en función de esas cookies, y Chrome no usará el HTML recuperado previamente:

El panel de especulación de DevTools muestra dos URLs, pero una no se pudo cargar previamente con un error que indica que no era apta porque el usuario tenía cookies para ese origen
Panel de especulaciones con una carga previa fallida debido a las cookies.

Esto significa que los usuarios con cookies no se beneficiarán del rendimiento mejorado que proporciona la precarga cuando hacen clic en ese sitio, pero se prioriza la protección de la privacidad y las cargas de páginas precisas. Además, si un usuario ya visitó un sitio y tiene cookies para él, es más probable que tenga algunos recursos de ese sitio almacenados en caché y que experimente una carga de página más rápida, incluso sin la recuperación anticipada.

Impacto en los usuarios de la precarga de los dos primeros resultados

Al igual que con la mayoría de los cambios, la Búsqueda de Google lanzó la precarga en un experimento de prueba A/B y midió el impacto. Observaron mejoras significativas en el procesamiento de imagen con contenido más grande (LCP). En Chrome para Android, el LCP de los clics de la Búsqueda de Google se redujo en 67 milisegundos. Un lanzamiento posterior de Chrome para computadoras de escritorio generó una mejora similar en la LCP de 58.6 milisegundos. Estas son mejoras en el sitio al que se navega, no en el sitio de la Búsqueda de Google, pero benefician a los usuarios de la Búsqueda de Google.

Estas mejoras en el LCP pueden parecer insignificantes, pero para un sitio hiperoptimizado como la Búsqueda de Google, celebramos incluso las mejoras de milisegundos para nuestros usuarios, por lo que las mejoras en el rango de decenas de milisegundos son inusuales. Es posible que tu sitio obtenga un beneficio mucho mayor. Pruébala para averiguarlo.

La precarga con reglas de especulación se habilitó de forma predeterminada en la Búsqueda en Android desde octubre de 2022 y se lanzó para computadoras de escritorio en septiembre de 2024.

Más allá de los dos primeros resultados

Desde el lanzamiento inicial de la API de Speculation Rules, se mejoró con una propiedad de prioridad que permite que las especulaciones solo se produzcan cuando el usuario coloca el cursor sobre un vínculo o comienza a hacer clic en él.

La Búsqueda de Google decidió ir más allá de los dos primeros resultados de la búsqueda y también almacenar en caché los resultados restantes, pero solo cuando el usuario coloca el cursor sobre el vínculo, mediante el parámetro de configuración de prioridad moderate. Esto evita el desperdicio innecesario de recursos para los vínculos con menos probabilidades de que se haga clic en ellos.

Una vez más, la regla se puede ver en DevTools cuando realizas una búsqueda en Chrome y es idéntica a la regla anterior, pero esta vez con la opción "eagerness": "moderate" establecida:

Panel de reglas de DevTools que muestra una regla de lista que usa anonymouse-client-ip-when-cross-origin, una política de referente de origen estricto, una prioridad moderada y siete URLs
La regla de especulación que usa la Búsqueda de Google.

Si colocas el cursor sobre estos vínculos, se activará la carga previa. Ten en cuenta que la Búsqueda de Google enumera las URLs de forma explícita en lugar de usar la función de reglas de documentos de la API de Speculation Rules, ya que no desea realizar la precarga de otras URLs, como los anuncios.

Impacto en los usuarios de la carga previa más allá de los dos primeros resultados

Chrome para computadoras redujo el primer procesamiento de imagen con contenido (FCP) en 7.6 milisegundos y el LCP en 9.5 milisegundos para las navegaciones desde la Búsqueda de Google (como se muestra en las pruebas A/B). Estos representan ganancias menores en comparación con las mejoras de 58.6 milisegundos que se vieron en los dos primeros resultados, pero eso no es sorprendente, dado el tiempo de preparación más pequeño, ya que no se precargan con tanta rapidez. Sin embargo, estas siguen siendo buenas ganancias por los mismos motivos que se mencionaron anteriormente.

La precarga de los resultados de la búsqueda restantes en computadoras se lanzó de forma predeterminada en diciembre de 2024.

En el caso de los dispositivos móviles, donde el desplazamiento del mouse por encima de un elemento no suele estar disponible, no se observó ninguna mejora real y, si bien tampoco hubo regresiones, no se habilitaron estos precargas adicionales en los dispositivos móviles.

Google aún no termina de experimentar con esta nueva y emocionante API, y esperamos que la navegación por la Web sea lo más rápida posible. Tenemos algunos otros trucos en los que estamos trabajando.

A modo de ejemplo, Chrome lanzará páginas de resultados de búsqueda renderizadas previamente (para los usuarios que tengan habilitada la carga previa) cuando los usuarios escriban búsquedas en la barra de direcciones de Chrome y en otros lugares, como el cuadro de búsqueda en Android. Esto también está disponible para que otros motores de búsqueda lo implementen, no solo la Búsqueda de Google, aunque no conocemos ninguna implementación para otros motores de búsqueda en este momento.

La Búsqueda de Google no busca ir más allá e implementar la renderización previa para los vínculos de los resultados, ya que no está disponible para la navegación entre sitios (y hasta se debe habilitar para la renderización previa del mismo sitio y de varios orígenes).

Nota sobre la compatibilidad con navegadores

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: not supported.

Source

Por el momento, la API de Speculation Rules se implementa en navegadores basados en Chromium, pero Chrome publica la especificación de la API a través del proceso de estándares del W3C y desea que otros navegadores implementen esta API.

Actualmente, el proxy de precarga privada solo se implementa en Chrome y no en otros navegadores basados en Chromium, pero si otros navegadores implementan su propio proxy de precarga privada, es posible que la Búsqueda de Google también intente implementar estas mejoras allí.

Debido a las implicaciones de privacidad de la carga previa sin un proxy de carga previa privada, la Búsqueda de Google no realiza la carga previa en navegadores que no admiten esta tecnología y, por lo tanto, no implementó un resguardo con otras tecnologías para otros navegadores. Sin embargo, como mejora progresiva, esto solo significa que los usuarios de esos navegadores no se benefician de este pequeño aumento de velocidad.

Pruébala en tu sitio.

La API de Speculation Rules está disponible para que la usen todos los sitios, no solo la Búsqueda de Google. Además de las capacidades de precarga que se analizaron aquí, la renderización previa ofrece más beneficios cuando y donde se puede usar. Dado que sitios grandes como la Búsqueda de Google muestran claros beneficios de esta API para la experiencia del usuario, recomendamos a todos los propietarios de sitios que investiguen cómo pueden usar la API y beneficiarse de ella.

Además, las protecciónes de la privacidad que se detallan en esta publicación también están disponibles para otros sitios, con la salvedad de que los usuarios deben tener habilitada la compatibilidad con la carga previa extendida en su configuración para permitir que los sitios que no son de Google enruten el tráfico con el proxy de carga previa privada de Google. Esto se debe a que Google se presenta como una parte adicional entre el usuario y el sitio, lo cual no es necesario en los sitios de Google, ya que ya son una de las partes involucradas.