Core Web Vitals en 2026: qué es el INP y por qué ya afecta a tu posicionamiento

El INP sustituyó al FID como Core Web Vital en marzo de 2024. Es más exigente y más difícil de mejorar. Si tu INP está en rojo, Google ya lo está teniendo en cuenta para posicionar tu web.

  • 8 min
  • València

Tu web pasa el test de velocidad. El LCP está en verde. El CLS no da problemas. Pero desde que Google actualizó los Core Web Vitals en marzo de 2024, hay una tercera métrica que probablemente esté en amarillo o en rojo: el INP.

El INP —Interaction to Next Paint— mide algo diferente a lo que medían las métricas anteriores. No mide cuánto tarda en cargar tu página. Mide cuánto tarda en responder cuando el usuario hace algo: pulsa un botón, abre un menú, filtra un resultado. Y esa diferencia lo hace mucho más difícil de mejorar que cualquier optimización de carga que hayas hecho hasta ahora.

En este artículo: qué mide el INP exactamente, por qué las webs fallan en él aunque tengan buen rendimiento de carga, y qué se puede hacer cuando el número es demasiado alto.

65%
de las webs analizadas por HTTP Archive tienen un INP por encima de los 200ms recomendados por Google, incluso cuando el LCP y el CLS están en verde.
Fuente: HTTP Archive Web Almanac · 2025

Qué mide el INP y en qué se diferencia del FID

El First Input Delay (FID) medía el tiempo hasta que el navegador podía empezar a procesar la primera interacción del usuario. Era una métrica parcial: solo medía la primera, y solo medía el retraso en el inicio del procesamiento, no el tiempo hasta que el usuario veía alguna respuesta visual.

El Interaction to Next Paint (INP) mide el tiempo completo de respuesta de cualquier interacción durante toda la sesión del usuario: desde que pulsa hasta que el navegador actualiza la pantalla. Y toma el percentil 98 de todas las interacciones de la sesión, no la primera. Eso significa que una sola interacción lenta en un flujo complejo puede arrastrar el INP de toda la página.

CriterioFID (retirado)INP (actual)
Qué mideRetraso en el inicio del procesamientoTiempo completo de respuesta visual
Qué interaccionesSolo la primera interacciónTodas las interacciones de la sesión
Umbral «bueno»Menos de 100msMenos de 200ms
Umbral «necesita mejora»100–300ms200–500ms
Dónde fallaban websScripts de terceros bloqueando el hiloJavaScript pesado en respuesta a interacciones
Impacto en rankingFactor de ranking desde 2021Factor de ranking desde marzo de 2024

Por qué el INP es más difícil de mejorar que el LCP

El LCP —Largest Contentful Paint— mide cuándo se renderiza el elemento más grande visible. Las optimizaciones son relativamente directas: comprimir imágenes, usar CDN, eliminar recursos bloqueantes, preconectar a orígenes críticos. Hay un playbook establecido.

El INP no tiene un playbook único porque el problema puede estar en cualquier interacción de cualquier flujo. Un desplegable de navegación lento, un filtro de catálogo que bloquea el hilo, un formulario que tarda en validar: cualquiera de ellos puede ser el punto de falla. Identificar cuál de todas las interacciones de tu web está generando el peor INP requiere datos de usuario real (CrUX) o herramientas de profiling en el navegador, no solo PageSpeed Insights.

Otra razón: las causas del INP alto suelen estar en el JavaScript de la aplicación, no en los recursos externos. Y el JavaScript de la aplicación es código propio que hay que refactorizar. No se resuelve cambiando un parámetro de configuración. Requiere entender qué hace el hilo principal cuando el usuario interactúa y por qué tarda más de 200ms en liberar control.

Las causas más frecuentes de un INP alto

Tareas largas en el hilo principal. JavaScript que se ejecuta en bloques de más de 50ms sin ceder el control al navegador. Cuando el hilo está ocupado procesando una tarea larga, no puede responder a las interacciones del usuario. El resultado es una interfaz que se siente congelada aunque el diseño sea correcto.

Manipulación del DOM excesiva en respuesta a eventos. Cuando un clic en un botón desencadena recalcular estilos, relayoutar y repintar una porción grande del DOM, el tiempo hasta el siguiente paint sube. Reducir el alcance del DOM que se modifica en cada interacción es una de las optimizaciones con más impacto en el INP.

Renderizado síncrono en frameworks JavaScript. Frameworks como React, Angular o Vue pueden generar actualizaciones de estado que bloquean el hilo hasta completar el renderizado. Las APIs de renderizado concurrente (como Concurrent Mode en React 18) dividen el trabajo en fragmentos más pequeños que no bloquean el hilo principal.

Scripts de terceros que se ejecutan en el hilo principal. Analytics, chat, mapas, herramientas de personalización: cualquier script de tercero que se ejecute en el hilo principal compite con tus propias interacciones. Identificar cuáles contribuyen al INP y moverlos a Web Workers cuando sea posible es una mejora con alto impacto.

Tip técnico: usar isInputPending() para ceder el hilo en tareas largas

La API navigator.scheduling.isInputPending() permite que una tarea larga de JavaScript compruebe si hay interacciones pendientes del usuario y, si las hay, ceda el control al hilo principal antes de continuar. Es una técnica de yielding que permite dividir el trabajo sin usar setTimeout(0) de forma ciega. El patrón es: ejecutar un bloque de trabajo, comprobar si hay input pendiente, ceder el hilo si lo hay, retomar el trabajo. Compatible con Chrome y Edge. Combinado con el scheduler.yield() de la Scheduler API, es el enfoque más moderno para optimizar INP en aplicaciones con JavaScript intensivo.

Cómo medir el INP real de tu web

PageSpeed Insights muestra el INP del laboratorio (Lighthouse) y el INP de campo (CrUX, datos reales). El dato relevante para el ranking de Google es el de campo. Si tu web tiene poco tráfico, puede no haber datos suficientes en CrUX y la métrica aparecerá como «sin datos».

Para medir el INP de forma más granular, la librería web-vitals de Google permite instrumentar el INP en tu propio código y enviarlo a Analytics o a cualquier sistema de monitorización. La función onINP() reporta el valor del INP junto con la interacción que lo causó (elemento, tipo de evento, tiempo de procesamiento). Es la forma más directa de saber exactamente dónde está el problema.

Si trabajas con un proyecto de desarrollo web a medida, añadir esta instrumentación es trabajo de horas. Si tu web está en un CMS con código no accesible, las opciones de diagnóstico granular son más limitadas. Puede ser otro argumento para el análisis de deuda técnica que mencionábamos en otro artículo.

Preguntas frecuentes sobre INP y Core Web Vitals

¿El INP afecta directamente al posicionamiento en Google?

Sí, desde marzo de 2024. Google incluye los Core Web Vitals —LCP, INP y CLS— como señales de la experiencia de página en el algoritmo de ranking. Un INP en rojo (más de 500ms) es una señal negativa. No es el único factor, pero compite con el resto de factores SEO en queries donde la intención y el contenido son equivalentes entre competidores.

¿Cómo sé cuánto está afectando el INP a mi ranking actual?

No hay una correlación directa visible. Google Search Console muestra el estado de los Core Web Vitals (bueno, necesita mejora, deficiente) pero no el impacto específico en posiciones. La forma de estimarlo es comparar el rendimiento de posicionamiento de páginas con INP bueno vs páginas con INP deficiente dentro del mismo sitio, controlando el resto de variables.

¿Qué es más prioritario, mejorar el LCP o el INP?

Depende de cuál está en peor estado. Si los dos están en rojo, empieza por el LCP porque sus soluciones son más directas y tienen impacto en la percepción de velocidad al cargar. Si el LCP está en verde y el INP no, el INP es la prioridad. Si los dos están en verde, el siguiente nivel es el INP porque es el más difícil de mantener en verde a medida que el proyecto crece en complejidad.

Si tu INP está en amarillo o rojo y no sabes exactamente qué interacción lo está causando, podemos diagnosticarlo. Sin informes genéricos: el problema concreto y la solución concreta.
Diagnosticamos tu rendimiento

Sobre el autor

Dani Marquina

Dani Marquina

Founder & CTO