Como corrigir INP alto (Interaction to Next Paint) no WordPress
O que é o INP alto no WordPress?
O INP alto no WordPress é uma falha de Core Web Vitals que mede a responsividade da página a interações reais. O Interaction to Next Paint observa todos os cliques, toques e digitações durante a visita e reporta o pior tempo de resposta significativo, do momento da interação até o próximo quadro pintado na tela. A meta do Google é INP abaixo de 200 milissegundos; entre 200ms e 500ms é “precisa melhorar” e acima de 500ms é “ruim”. Diferente do LCP, que é sobre carregamento, o INP é sobre toda a vida da página, e quase sempre piora quando há JavaScript demais ocupando a thread principal e impedindo o navegador de responder rápido.
Como identificar
- O relatório de Core Web Vitals do PageSpeed Insights marca o INP acima de 200ms nos dados de campo.
- O Search Console acusa URLs com “INP maior que 200 ms” no relatório de Core Web Vitals.
- Cliques em menus, botões e abas demoram visivelmente a responder, com sensação de travamento.
- Campos de formulário e filtros reagem com atraso ao digitar ou selecionar, parecendo “presos”.
Como prevenir
- Mantenha o JavaScript na thread principal enxuto e adie ou carregue sob demanda scripts de terceiros
- Escreva handlers de evento leves, adiando trabalho não urgente para depois da pintura da resposta
- Monitore o INP no Search Console com regularidade para pegar regressões após mudanças de tema ou plugins
Causa
- JavaScript pesado executando na thread principal e gerando tarefas longas que atrasam a resposta a cada interação.
- Handlers de evento (clique, input) lentos, que rodam muito código de forma síncrona antes de a tela atualizar.
- Scripts de terceiros (chats, anúncios, tag managers) competindo pela thread principal durante a navegação.
- Re-renderizações grandes e manipulações de DOM custosas disparadas a cada interação do usuário.
- Bibliotecas e plugins que reexecutam trabalho pesado sem necessidade a cada evento, sem dividir as tarefas.
Como resolver
- Encontre as interações lentas: no PageSpeed Insights e no painel Performance do navegador, identifique quais interações registram o pior INP e quais scripts as tornam lentas.
- Reduza o JavaScript da thread principal: adie e remova scripts não essenciais para diminuir as tarefas longas; menos JavaScript competindo pela thread libera o navegador para responder às interações.
- Quebre as tarefas longas: divida o trabalho pesado em pedaços menores, devolvendo o controle ao navegador entre eles, para que ele consiga pintar a resposta da interação sem esperar a tarefa inteira.
- Otimize os handlers de evento: deixe os manipuladores de clique e input leves: adie o trabalho não urgente para depois da pintura e evite rodar lógica custosa de forma síncrona dentro do handler.
- Controle os scripts de terceiros: carregue chats, anúncios e tag managers sob demanda ou mova-os para um web worker, tirando-os da disputa pela thread principal durante a navegação.
- Meça nos dados de campo: depois das mudanças, acompanhe o INP no PageSpeed e no Search Console; por ser métrica de campo, ele só reflete a melhora após semanas de coleta de usuários reais.
// Handler de clique que responde JA e adia o trabalho pesado para depois da pintura
botao.addEventListener('click', function () {
// 1) Feedback visual imediato -> melhora o INP percebido
botao.classList.add('is-loading');
// 2) Cede a thread para o navegador pintar, depois roda o trabalho custoso
requestAnimationFrame(function () {
setTimeout(function () {
trabalhoPesado(); // calculo/rede/DOM grande
botao.classList.remove('is-loading');
}, 0);
});
});
// Quebra uma tarefa longa em pedacos, devolvendo o controle ao navegador entre eles
async function processaEmLotes(itens) {
for (let i = 0; i < itens.length; i++) {
processaItem(itens[i]);
if (i % 50 === 0) {
await new Promise(function (r) { setTimeout(r, 0); }); // yield
}
}
}














