Rendimiento web con HTML: Core Web Vitals en la práctica

Optimiza LCP, CLS e INP desde el marcado HTML con decisiones de carga, prioridad y estabilidad visual.

El rendimiento no empieza en JavaScript: empieza en HTML.

LCP mejora cuando priorizas el contenido principal (imagen hero, fuente crítica, CSS base).

CLS baja cuando reservas espacio para imágenes, vídeos y embeds.

INP mejora evitando scripts bloqueantes y cargas innecesarias en el primer render.

  • Piensa en causa y efecto, no en hacks. 📈
  • No todo debe cargar con la misma urgencia.
  • El navegador necesita pistas para decidir qué descargar antes. Si el hero depende de una imagen pesada o una fuente, dale prioridad explícita.
  • Evita sobreusar `preload`: úsalo solo en recursos realmente críticos del primer pantallazo.
  • CSS principal en head.

Mapa rápido de métricas: qué tocar en HTML

Piensa en causa y efecto, no en hacks. 📈

Prioridad de recursos críticos

No todo debe cargar con la misma urgencia.

El navegador necesita pistas para decidir qué descargar antes. Si el hero depende de una imagen pesada o una fuente, dale prioridad explícita.

Evita sobreusar `preload`: úsalo solo en recursos realmente críticos del primer pantallazo.

  • CSS principal en head.
  • Hero image con `fetchpriority="high"`.
  • Resto de imágenes con `loading="lazy"`.

Estabilidad visual (CLS): cero sorpresas

El usuario odia clicar un botón que se mueve.

Los saltos de contenido suelen venir de imágenes sin dimensiones, banners que aparecen tarde o iframes sin espacio reservado.

La solución no es compleja: declara tamaños y define contenedores estables desde el HTML.

HTML
18

Rendimiento web con HTML: Core Web Vitals en la práctica

Optimiza LCP, CLS e INP desde el marcado HTML con decisiones de carga, prioridad y estabilidad visual.

Código del tema: preload | fetchpriority | lazy | width/height | defer

📘 Teoría

Mapa rápido de métricas: qué tocar en HTML

Piensa en causa y efecto, no en hacks. 📈

1

LCP

Prioriza el recurso principal con `preload`/`fetchpriority`.

2

CLS

Define `width` y `height` para evitar saltos de layout.

3

INP

Reduce bloqueo inicial: scripts con `defer` y menos trabajo temprano.

Prioridad de recursos críticos

No todo debe cargar con la misma urgencia.

El navegador necesita pistas para decidir qué descargar antes. Si el hero depende de una imagen pesada o una fuente, dale prioridad explícita.

Evita sobreusar `preload`: úsalo solo en recursos realmente críticos del primer pantallazo.

  • CSS principal en head.
  • Hero image con `fetchpriority="high"`.
  • Resto de imágenes con `loading="lazy"`.
Patrón de prioridad para el primer render
<head>
  <link rel="preload" as="image" href="/img/hero.webp" />
  <link rel="stylesheet" href="/css/app.css" />
</head>
<body>
  <img
    src="/img/hero.webp"
    alt="Equipo colaborando"
    width="1200"
    height="640"
    fetchpriority="high"
    loading="eager"
    decoding="async"
  />
</body>

Estabilidad visual (CLS): cero sorpresas

El usuario odia clicar un botón que se mueve.

1

Los saltos de contenido suelen venir de imágenes sin dimensiones, banners que aparecen tarde o iframes sin espacio reservado.

2

La solución no es compleja: declara tamaños y define contenedores estables desde el HTML.

Reserva espacio en contenido dinámico
<img src="/img/curso.jpg" alt="Curso" width="640" height="360" loading="lazy" />

<iframe
  src="https://www.youtube.com/embed/VIDEO_ID"
  title="Vídeo del curso"
  width="560"
  height="315"
  loading="lazy"
></iframe>

🧪 Aprende probando

Ejemplo Ejemplo guiado: hero optimizado Combina prioridad de imagen, dimensiones y carga correcta.

🏁 Retos

Reto Reto: elimina saltos de layout Añade los atributos mínimos para estabilizar una imagen.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre HTML.

Test de HTML

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .