Slow TTFB
Si el HTML llega tarde porque PHP, MySQL, fallos de caché o APIs externas son lentos, todas las fases posteriores del LCP también empiezan tarde.
Un Largest Contentful Paint deficiente no siempre es un problema de tamaño de imagen. El tiempo de LCP se compone de respuesta del servidor, descubrimiento del recurso, descarga y retraso de renderizado. Identifico qué fase está consumiendo realmente el presupuesto y corrijo la ruta de WordPress/plantilla que lo provoca.
En WordPress, el elemento LCP suele ser una imagen hero, imagen destacada, encabezado o slider. El navegador solo puede renderizarlo después de que WordPress envíe HTML, el recurso sea descubierto, se resuelvan sus dependencias y el CSS o las animaciones permitan pintarlo.
Si el HTML llega tarde porque PHP, MySQL, fallos de caché o APIs externas son lentos, todas las fases posteriores del LCP también empiezan tarde.
Las imágenes de fondo CSS, el marcado generado por sliders, las imágenes above-the-fold con lazy loading y los heroes inyectados por JavaScript pueden no ser descubribles en el HTML inicial.
Una imagen crítica puede competir con fuentes, scripts e imágenes de menor valor si faltan o se usan mal los priority hints o preloads.
Servir una imagen de 2400 px a un viewport móvil estrecho desperdicia ancho de banda incluso en WebP/AVIF. Importan un srcset, sizes y dimensiones correctos.
El recurso LCP puede terminar de descargarse y aun así esperar a CSS crítico, webfonts, layout o animaciones antes de poder pintarse.
Transiciones de opacidad, carruseles y reveals controlados por JavaScript pueden mantener oculto o inestable al candidato LCP final incluso cuando el recurso ya está listo.
Mirar solo un resultado final de 3,8 s oculta la solución. Inspecciono el elemento LCP y sus fases de tiempo y sigo esos retrasos hasta decisiones de WordPress, tema o builder.
El candidato puede cambiar entre home, landing, producto y artículo, así que la optimización sigue la familia de páginas que realmente falla en los datos de campo.
Comprueba el tiempo de origen/servidor/caché antes de dedicar horas a microoptimizaciones de frontend.
Uso DevTools para ver cuándo descubre el navegador el recurso LCP y qué dependencia de stylesheet o script retrasó ese descubrimiento.
Verifica que preload/fetch priority se utilicen solo para recursos realmente críticos; demasiados recursos de alta prioridad compiten entre sí.
Compara dimensiones intrínsecas, dimensiones renderizadas, selección srcset/sizes y formato de compresión en anchos móviles habituales.
Si la imagen termina de descargar pronto pero el LCP ocurre más tarde, reviso fuentes, CSS, animaciones, opacidad, sliders y tareas largas del main thread alrededor del paint.
La implementación suele ser una cadena corta de cambios concretos. Los temas y constructores de WordPress a veces esconden el recurso crítico detrás de CSS o JavaScript; moverlo a la ruta HTML correcta puede importar más que otra ronda de compresión.
Capturo trazas de laboratorio y grupos de páginas con datos de campo para optimizar el elemento que realmente ven los usuarios en las plantillas que fallan.
Corrijo primero retrasos de caché/origen/backend cuando el TTFB consume una parte grande del presupuesto de LCP.
Usa marcado de imagen responsive cuando corresponda, evita lazy loading en el candidato visible above the fold y elimina dependencias innecesarias para descubrir el recurso.
Uso preload/fetchpriority con cuidado para el asset LCP real y evito que recursos de menor valor compitan durante la primera vista.
Reduzco restricciones de CSS, fuentes y animaciones y me aseguro de que el candidato LCP pueda pintarse en cuanto esté listo.
Vuelve a ejecutar trazas comparables después del despliegue y observa Search Console/CrUX mientras se acumulan nuevos datos de campo.
Obtienes el desglose temporal y la implementación que lo corrige, no consejos genéricos de «comprime imágenes / activa CDN».
TTFB, retraso de carga, duración de carga y retraso de renderizado para URLs representativas que fallan.
Carga responsive, prioridad y cambios de marcado para el elemento crítico cuando corresponda.
Cambios a nivel de plantilla cuando fondos CSS, sliders o la salida del constructor provocan un descubrimiento tardío.
Cambios en CSS, fuentes y scripts que permiten renderizar antes el contenido LCP ya disponible.
QA visual en móvil/escritorio y confirmación de que los cambios de lazy loading/prioridad no han perjudicado otras páginas.
Explicación clara del retraso entre desplegar la corrección y ver un cambio en la evaluación móvil de datos de campo.
Para LCP junto con INP/CLS en varias plantillas, el servicio de Core Web Vitals es la opción global más adecuada.
Para Core Web Vitals, un buen Largest Contentful Paint es de 2,5 segundos o menos en el percentil 75. El objetivo son los datos de campo; las herramientas de laboratorio ayudan a reproducir y diagnosticar la causa.
La imagen puede descubrirse tarde, quedar bloqueada por CSS, esperar a un TTFB lento, recibir baja prioridad o retrasarse por animaciones/fuentes. LCP es todo el recorrido hasta pintar el elemento, no solo el tamaño del archivo.
A veces. Preload o fetch priority pueden ayudar cuando el navegador descubriría tarde la imagen crítica, pero preloads innecesarios o duplicados compiten por ancho de banda. El waterfall debe justificar el cambio.
Sí. Una imagen grande de fondo en el hero puede convertirse en candidato LCP, pero el descubrimiento mediante CSS puede llegar más tarde que una imagen presente en el HTML inicial. El marcado responsive de imagen puede mejorar descubrimiento y dimensionado.
Sí. El navegador no puede descubrir los recursos de la página hasta recibir suficiente HTML/CSS. Una respuesta lenta del servidor retrasa toda la línea temporal del LCP.
Los datos de campo de Core Web Vitals se agregan durante un periodo móvil, por lo que no cambian inmediatamente después de un deploy. Usa trazas de laboratorio y monitorización de usuarios reales para validar de inmediato mientras los datos de campo se actualizan.