INP: qué es y cómo mejorar esta métrica de Core Web Vitals

El INP (Interaction to Next Paint) mide la rapidez con la que tu web responde a los clics y toques del usuario. Junto con el LCP (carga) y el CLS (estabilidad visual), forma el trío de Core Web Vitals que Google usa para evaluar tu web.
El límite es 200 milisegundos. Si lo superas, tu posicionamiento lo nota.
Contenido del artículo
ToggleDiferencia entre INP y FID (y por qué ahora es más difícil)
| Métrica | Qué medía | El problema |
|---|---|---|
| FID (antigua) | El retraso del primer clic del usuario. Solo el primero. Solo el inicio del procesamiento. | Podías tener un botón que tardara 2 segundos en responder, y aprobar igual. |
| INP (actual) | El peor caso de interactividad de toda la sesión. Todos los clics. La latencia completa hasta que la pantalla se actualiza. | Si algún botón o interacción es lenta, la métrica falla . |
En cristiano: antes bastaba con que la primera impresión fuera buena. Ahora, si tienes un solo botón que responde mal, Google te lo va a hacer pagar.
Qué es un buen INP
Google evalúa el INP al percentil 75 de todas las interacciones de la página. Esto significa que el 75% de las interacciones deben ser rápidas .
| Estado | Tiempo | Qué significa |
|---|---|---|
| Bueno | ≤ 200 ms | Tu web responde bien. Estás en el verde. |
| Necesita mejorar | 200 – 500 ms | Puede ser aceptable, pero estás en zona de riesgo. |
| Malo | > 500 ms | Tus usuarios notan el retraso. Afecta a tu SEO . |
Por qué falla el INP (los 3 problemas principales)

1. JavaScript bloquea el hilo principal
El navegador usa un solo hilo para todo: procesar JavaScript y mostrar los cambios visuales. Cuando un script ocupa ese hilo durante más de 50 ms, el navegador no puede responder a los clics del usuario .
Los culpables más comunes:
Scripts de analytics (Google Analytics, Hotjar)
Chatbots y widgets de terceros
Píxeles de publicidad
Event handlers pesados que hacen cálculos complejos al hacer clic
2. Tareas largas en el clic
Cuando haces clic en un botón, el navegador ejecuta un “handler”. Si ese handler hace una llamada a una API, procesa datos o actualiza un componente pesado de React/Vue, INP mide todo ese tiempo.
3. Layout thrashing
Cuando una interacción provoca que la página recalcule la posición de muchos elementos (redimensiones, cambios de estilo), el tiempo entre el clic y la actualización visual se dispara. Las animaciones con width, height o margin en lugar de transform u opacity son las principales culpables .
Cómo auditar tu INP
No adivines. Mide con datos reales.
| Herramienta | Qué mide | Cuándo usarla |
|---|---|---|
| PageSpeed Insights | Datos de campo (CrUX) e INP real de tus usuarios | Para un diagnóstico inicial y saber si hay problemas |
| Google Search Console | URLs con problemas de INP según datos reales de Chrome | Para identificar qué páginas prioritarias están fallando |
| Chrome DevTools (pestaña Performance) | INP marcado en la línea de tiempo con interacciones reales | Para identificar exactamente qué elemento y qué script causan el retraso |
| web-vitals.js | Datos de INP con atribución (saber qué script y qué elemento falla) | Para monitorización continua con usuarios reales |
Cómo mejorar el INP
1. Elimina o aplaza scripts de terceros
Los scripts que no controlas (analytics, chat, publicidad) son la principal causa de INP pobre. No puedes optimizar su código, pero sí puedes controlar cuándo se cargan.
Qué hacer:
Añade
deferoasynca los scripts no críticosCarga los widgets de chat solo cuando el usuario haga clic en un placeholder (lazy loading)
Ejemplo:
<script src="https://chat-provider.com/widget.js" defer></script>
2. Divide tareas largas en trozos más pequeños
Si tu propio JavaScript hace operaciones pesadas, divídelas en partes más pequeñas y deja que el navegador respire entre cada una .
Ejemplo:
// Mal: bloquea el hilo 800ms for (let i = 0; i < 10000; i++) { procesar(i); } // Bien: cede el control cada 50 elementos async function procesarLista(items) { for (let i = 0; i < items.length; i += 50) { const chunk = items.slice(i, i + 50); procesarChunk(chunk); await new Promise(r => setTimeout(r, 0)); } }
3. Optimiza event listeners
Si tienes muchos elementos con listeners individuales (cada tarjeta de producto, cada ítem de menú), usa delegación de eventos :
// Mal: 100 listeners document.querySelectorAll('.card').forEach(card => { card.addEventListener('click', handleClick); }); // Bien: 1 listener en el padre document.querySelector('.grid').addEventListener('click', (e) => { if (e.target.closest('.card')) handleClick(e); });
4. En WordPress con Elementor
Elementor tiende a acumular JavaScript pesado . Soluciones concretas:
Carga scripts de terceros solo en las páginas que los necesitan
Desactiva widgets que no uses (carouseles, animaciones, partículas)
Usa un plugin de caché que minifique y combine JS (WP Rocket, W3 Total Cache)
5. En WooCommerce
El INP en WooCommerce suele fallar en tres interacciones :
| Interacción problemática | Por qué falla | Solución |
|---|---|---|
| Clic en variación de producto | Re-renderiza todo el formulario con cada cambio | Reduce el tamaño del JSON de variaciones o cárgalo bajo demanda |
| Añadir al carrito | wc-cart-fragments.js refresca todo el carrito | Desactiva wc-cart-fragments en páginas que no son de carrito |
| Aplicar cupón | Bloquea la UI mientras espera respuesta del servidor | Pasa la lógica a un Web Worker o acepta el límite arquitectónico |
El INP no es un número, es un síntoma
Optimizar el INP no es un capricho. Es una señal de que tu web tiene el código limpio, que los scripts de terceros no secuestran el navegador y que tus usuarios no se quedan esperando.
Si mejoras el INP, también mejora la experiencia de usuario, la tasa de conversión y el posicionamiento. No es magia. Es hacer las cosas bien.
Empieza por lo que más duele: los scripts de terceros y las tareas largas del hilo principal. Luego ve limpiando lo que sobra. Paso a paso.

Consultor SEO Freelance
Te formo en el complejo y maravilloso mundo del SEO para 2026
-
Los mejores directorios gratuitos para mejorar tu SEO local -
Cómo obtener más reseñas en Google Business Profile -
SEO Local: Aparecer en Google Maps y cerca de tus clientes -
Guía de jerarquía H1, H2, H3: estructura tu contenido SEO -
GEO: cómo optimizar tu web para la IA y Google AI Overviews 2026 -
Plan de contenidos SEO para tu blog en 5 pasos (guía 2026) -
Cómo crear robots.txt y sitemap en 2026: guía paso a paso -
CLS: qué es y cómo mejorar esta métrica de Core Web Vitals 2026 -
INP: qué es y cómo mejorar esta métrica de Core Web Vitals 2026 -
LCP: qué es y cómo mejorar esta métrica de Core Web Vitals 2026








