Línea de tiempo de carga de página mostrando una imagen LCP descargándose antes gracias a rel=preload y fetchpriority=highIntroducción

Precarga de Imágenes: Cómo rel=preload y fetchpriority Aceleran tu LCP

Ver contenido

Precarga de Imágenes: Cómo rel=preload y fetchpriority Aceleran tu LCP

Introducción

Precargar una imagen significa indicarle al navegador que la descargue con máxima prioridad, antes de que el escáner de precarga (preload scanner) normal la descubra en el HTML. El UXR SEO Analyzer verifica si la imagen LCP (Largest Contentful Paint) de una página usa <link rel="preload"> o el atributo fetchpriority="high", porque este es uno de los ajustes más efectivos y de menor esfuerzo para mejorar el LCP.

El Problema: Descubrimiento Tardío de la Imagen LCP

El navegador normalmente descubre las imágenes a medida que parsea el HTML. Si tu imagen LCP está definida mediante CSS (background-image) o se inyecta dinámicamente vía JavaScript, el navegador puede tardar en descubrirla, retrasando el momento en que empieza a descargarla y, por lo tanto, el momento del LCP.

Qué Hace rel=preload

<link rel="preload" as="image" href="/hero.jpg" fetchpriority="high">

Esta etiqueta en el <head> le dice al navegador: "vas a necesitar este recurso pronto, empieza a descargarlo ahora mismo", sin esperar a que el parser HTML llegue a la etiqueta <img> correspondiente.

Qué Hace fetchpriority="high"

Aumentar la prioridad de la imagen LCP especificando fetchpriority="high" en el elemento de imagen puede hacer que el LCP ocurra antes. Este atributo es particularmente efectivo cuando se usa en la imagen LCP de una página, y elevar su prioridad con este atributo puede mejorar el LCP con relativamente poco esfuerzo.

<img src="/hero.jpg" fetchpriority="high" width="1200" height="600" alt="...">

¿Preload o fetchpriority? Cuándo Usar Cada Uno

EscenarioSolución
Imagen LCP declarada directamente en el HTML inicialfetchpriority="high" en la etiqueta <img>
Imagen LCP como fondo CSS (background-image)<link rel="preload"> para descubrimiento temprano
Imagen LCP responsiva con srcsetrel="preload" con imagesrcset/imagesizes

Preload sigue siendo necesario para el descubrimiento temprano de imágenes LCP incluidas como fondos CSS, y para aumentar la prioridad de esas imágenes de fondo conviene incluir fetchpriority="high" también en el preload.

El Error Más Común: Combinarlo con Lazy Loading

Nunca combines loading="lazy" con la imagen que estás precargando o marcando como fetchpriority="high"—son estrategias opuestas. Lazy loading retrasa la carga; preload/fetchpriority la acelera. Aplicar ambas a la misma imagen confunde al navegador y generalmente el lazy loading gana, anulando el beneficio.

Impacto Esperado

Si el preload ya está declarado como uno de los primeros elementos en el <head>, un fetchpriority="high" adicional puede no mejorar mucho más el LCP; pero si el preload ocurre después de que otros recursos ya cargaron, un fetchpriority alto sí puede mejorar el LCP de forma notoria.

Cómo lo Detecta el UXR SEO Analyzer

El analizador identifica el elemento de imagen candidato a LCP en el viewport inicial y verifica si existe un <link rel="preload" as="image"> correspondiente en el <head>, o si la etiqueta <img> incluye fetchpriority="high". Si ninguna de las dos señales está presente, se reporta como una oportunidad de mejora de LCP de bajo esfuerzo—generalmente una de las correcciones más rápidas de aplicar en toda la auditoría.

Fetch Priority Como API Independiente

Además de imágenes, el atributo fetchpriority también aplica a scripts, hojas de estilo e iframes, permitiendo ajustar la prioridad relativa de cualquier recurso sin depender exclusivamente de preload. Para imágenes, sin embargo, la combinación de ambas técnicas (preload para descubrimiento temprano + fetchpriority para prioridad de red) suele dar el mejor resultado cuando el elemento LCP no es trivial de descubrir desde el HTML inicial.

Relación con el Preload Scanner

El navegador cuenta con un escáner de precarga (preload scanner) que analiza el HTML de forma especulativa mientras el parser principal sigue procesando el documento, descubriendo recursos como imágenes y scripts antes de que el árbol DOM esté completo. Este escáner ya adelanta bastante trabajo por sí solo—pero no puede descubrir recursos que solo existen dentro de JavaScript o de reglas CSS, que es exactamente el caso donde el preload manual se vuelve indispensable.

Artículos Relacionados


Referencias

  1. web.dev - Preload critical assets to improve loading speed
  2. web.dev - Optimize resource loading with the Fetch Priority API
  3. web.dev - Optimize Largest Contentful Paint
  4. Chrome Developers - LCP request discovery

Artículos relacionados

Versión relacionada

Guía detallada

Guía de Precarga de Imágenes: Implementación Práctica para Reducir el LCP

Cómo implementar rel=preload y fetchpriority=high para la imagen LCP, incluyendo variantes responsivas y fondos CSS, sin caer en los errores que anulan el beneficio.

Hub de categoría

Hub

Images Seo Hub

Las imágenes son críticas para el engagement del usuario, pero también pueden ser el mayor cuello de botella de rendimiento de tu sitio web

En la misma categoría

Introducción

Lcp Lazy Loading Explained

Has agregado lazy loading a tus imágenes para mejorar el rendimiento—pero tu página realmente se volvió más lenta

Introducción

Lcp Explained

Largest Contentful Paint (LCP) es uno de los Core Web Vitals de Google—un conjunto de métricas que miden la experiencia real del usuario en tu sitio web

Introducción

Fetchpriority Explained

Cuando tu pagina carga, el navegador realiza docenas de solicitudes para varios recursos: imagenes, scripts, hojas de estilo, fuentes

Introducción

Render Blocking Resources Explained

Los recursos que bloquean el renderizado son archivos que impiden que el navegador muestre contenido a los usuarios hasta que se descarguen y procesen...

Otros temas

Hub

Performance Seo Hub

El rendimiento es un factor de ranking crítico e impacta directamente la experiencia del usuario