Blog details

INP Sorunları: Tespit ve Düşürme Rehberi

INP Sorunları: Tespit ve Düşürme Rehberi

Bir sayfa hızlı açılabilir, ama yine de yavaş hissedilebilir. Kullanıcı düğmeye basar, kısa bir donma olur, sonra arayüz tepki verir. 2026’da INP, tam da bu hissi ölçen temel metriktir.

Google, 2024’te FID yerine INP’yi aldı ve Core Web Vitals içinde bunu kullanmayı sürdürüyor. Bu yüzden LCP iyi olsa bile etkileşimler ağırsa sayfa deneyimi zayıf kalır.

Zor kısım şurada başlar: INP sorunları çoğu zaman tek bir bug’dan çıkmaz. Sağlam bir teşhis için Search Console, PageSpeed Insights, DevTools, Lighthouse ve RUM verisini birlikte okumak gerekir.

INP neden yükselir, 2026’da neden hâlâ bu kadar önemli?

INP, kullanıcının tıklama, dokunma veya klavye etkileşimine arayüzün ne kadar geç cevap verdiğini ölçer. Ölçüm, yalnızca olay dinleyicisinin çalışma süresine bakmaz. JavaScript’in bitmesini, stil ve layout hesaplarını, ardından ekrana gelen ilk görsel güncellemeyi de kapsar.

Bugün için genel eşikler nettir. 200 ms ve altı iyi, 200 ile 500 ms arası geliştirilmesi gereken alan, 500 ms üstü zayıf kabul edilir. INP’nin farkı şudur: Sayfa yaşam döngüsü boyunca görülen etkileşimlerin içinden en kötüye yakın deneyimi öne çıkarır. Yani tek bir ağır tıklama bile genel hissi bozabilir.

Bu yüzden INP, “sayfa açıldı mı” sorusunu değil, “sayfa bana cevap verdi mi” sorusunu yanıtlar. Core Web Vitals üçlüsünde LCP görünür başlangıcı, CLS görsel stabiliteyi, INP ise tepki hızını anlatır. 2026’da da bu denge değişmiş değil.

Bir ayrımı netleştirmek gerekir. Web tarafındaki INP, oyun forumlarında geçen input lag ile aynı şey değildir. Oyunlardaki input lag tartışmaları çoğunlukla FPS ve ağ gecikmesine odaklanır. Genel input delay videoları da cihaz ve sürücü ayarlarını anlatır. Tarayıcıdaki INP ise daha çok ana iş parçacığı yükü, JavaScript maliyeti ve render gecikmesiyle ilgilidir.

INP sorunlarını tespit etmek için en doğru akış

Teşhiste en sık yapılan hata, tek bir araca bakıp karar vermektir. Oysa INP için saha verisi ve laboratuvar verisi birlikte okunmalıdır.

A focused developer sits in a dimly lit, cozy home office, reviewing abstract data charts on a computer monitor. Warm ambient light illuminates the workspace, emphasizing the concentrated digital analysis process.

Önce Search Console’daki Core Web Vitals raporuna bakın. Burada sorunlu URL’ler tek tek değil, benzer şablon grupları halinde görünür. Mobil ve masaüstü ayrımını mutlaka kontrol edin. Çünkü INP sorunları çoğunlukla düşük güçlü mobil cihazlarda sertleşir. Ayrıca bu veri 28 günlük saha verisine dayanır. Bugün düzeltip yarın raporda temiz sonuç görmeyi beklemeyin.

Search Console iyi bir alarmdır. Hata ayıklama aracı değildir.

Sonra aynı şablonu PageSpeed Insights’ta açın. PSI iki farklı katman sunar: Chrome kullanıcı verisine dayalı saha verisi ve Lighthouse lab testi. Saha verisi sorunun gerçek kullanıcılarda yaşanıp yaşanmadığını söyler. Lab testi ise muhtemel darboğazları gösterir.

Araçları birlikte kullanırken şu tablo pratik olur:

AraçEn iyi kullanım alanıGüçlü yanıSınırı
Search ConsoleHangi şablonların sorunlu olduğunu bulmakSite çapında öncelik verirSatır düzeyinde neden söylemez
PageSpeed InsightsSaha ve lab verisini yan yana görmekHızlı karşılaştırma sağlarTek test her sorunu yakalamaz
Chrome DevToolsSorunlu etkileşimi profil almakKök nedeni gösterirGerçek kullanıcı dağılımını vermez
LighthouseJS yükü ve ana iş parçacığı maliyetini taramakTekrarlanabilir test üretirHer zaman gerçek INP’yi temsil etmez
RUM araçlarıGerçek kullanıcı etkileşimlerini izlemekCihaz, sayfa ve aksiyon bazında görünürlük sağlarKurulum ve etiketleme ister

Bu aşamada RUM tarafı devreye girmelidir. web-vitals kütüphanesiyle INP’yi gerçek oturumlarda toplayabilir, veriyi GA4, BigQuery, Sentry, Datadog veya benzeri sistemlere taşıyabilirsiniz. Asıl değer, metriği sadece sayfa bazında değil, etkileşim bazında topladığınızda ortaya çıkar. “Sepete ekle”, “filtre uygula”, “menü aç” gibi aksiyonları ayırın. Yüksek INP’nin hangi hareket sırasında oluştuğunu görmeden doğru düzeltme zorlaşır.

Chrome DevTools ve Lighthouse ile kök nedeni bulun

Teşhis burada netleşir. DevTools Performance panelinde kayıt başlatın, sorunlu etkileşimi yapın, sonra ana iş parçacığını inceleyin. Aradığınız şey genelde uzayan bir görevdir. 50 ms üstüne taşan işler, etkileşimi bekletmeye başlar.

Zaman çizelgesinde şu izlere bakın: uzun JavaScript çalışması, ağır style recalculation, layout patlaması, pahalı paint işlemleri ve interaction’dan hemen sonra çalışan üçüncü taraf betikler. Tıklamanın ardından açılan akordeon, modal ya da filtre paneli bazen sorunun kendisi değildir. Asıl sorun, aynı anda çalışan analytics kodu, DOM’a basılan yüzlerce düğüm veya senkron JSON işleme olabilir.

Lighthouse burada ikinci katmandır. Gerçek kullanıcıdaki INP’yi bire bir üretmeyebilir, ama kötü alışkanlıkları çabuk gösterir. Kullanılmayan JavaScript, ağır üçüncü taraf script’leri, yüksek main-thread time ve büyük render-blocking kaynaklar genelde ilk ipuçlarını verir. Bu yüzden Lighthouse’u sonuç aracı gibi değil, şüpheli alanları sıralayan bir tarama aracı gibi görmek daha doğrudur.

Bir ayrıntı daha önemli: yüksek INP her zaman ilk yükleme anında çıkmaz. Sayfa açıldıktan 20 saniye sonra çalışan canlı arama, filtreleme veya sonsuz kaydırma da sorumlu olabilir. Bu yüzden sadece sayfa açılışını profile almak yetmez. Kullanıcının asıl etkileşim akışını kaydetmek gerekir.

INP’yi düşüren teknik müdahaleler

Teşhis tamamlandıysa sıra müdahalede. Hedef basittir: etkileşim anındaki işi azaltmak ve görsel yanıtı öne çekmek.

Ana iş parçacığını boşaltın

En yaygın sebep, tıklama anında fazla iş yapmaktır. Bir butona basıldığında aynı görev içinde doğrulama, analytics, DOM güncellemesi ve veri işleme çalışıyorsa gecikme artar. Görsel güncellemeyi önce yapın, ağır işi sonra taşıyın. Örneğin paneli açma işini requestAnimationFrame() ile öne alıp, raporlama veya pahalı hesapları sonraya bırakmak çoğu arayüzde fark yaratır.

Uzun döngüleri bölmek de işe yarar. 500 öğelik filtre sonucunu tek seferde basmak yerine parçalayın. Uygun senaryolarda Web Worker kullanın. Arama, sıralama, büyük JSON parse işlemleri ve metin işleme işleri ana iş parçacığından çıkınca INP genelde düşer.

DOM ve layout maliyetini azaltın

Bazı sayfalarda JavaScript kısa sürer, ama asıl zaman layout hesaplarında gider. Bunun tipik nedeni, DOM yazımı ile okumasını art arda karıştırmaktır. Önce ölçün, sonra yazın. getBoundingClientRect() gibi ölçümlerle DOM değişikliklerini aynı akışta sık sık karıştırırsanız tarayıcı zorunlu layout çalıştırır.

Büyük liste ve tablo bileşenleri de risklidir. Sanallaştırma, görünmeyen öğeleri üretmemek ve gereksiz alt ağaçları render etmemek etkileşim süresini kısaltır. Özellikle filtre, sekme ve açılır menü gibi bileşenlerde ilk tepkiyi küçük tutmak gerekir.

JavaScript yükünü ve üçüncü tarafları azaltın

Ağır paketler yalnızca LCP’yi bozmaz, INP’yi de vurur. Çünkü daha fazla kod, daha fazla parse ve daha fazla çalışma süresi demektir. Gerekmeyen modülleri çıkarın, etkileşim sonrası lazım olacak kodu import() ile geç yükleyin. Bu yaklaşım, büyük SPA’larda çoğu zaman hızlı sonuç verir.

Üçüncü taraf script’ler ayrı bir başlık hak eder. Isı haritası, sohbet kutusu, A/B test aracı ve reklam etiketleri tıklama anına yapışıyorsa sorun büyür. Gereksiz olanları kaldırın. Gerekli olanları geciktirin veya kullanıcı etkileşiminden bağımsız bir zamana taşıyın. Daha kapsamlı bir plan gerekiyorsa, Core Web Vitals odaklı hız optimizasyonu çalışmaları bu alanları birlikte ele alır.

Kalıcı iyileşme için ölçümü yayına bağlayın

Bir kez düzeltip bırakmak yetmez. INP sorunları çoğu ekipte yeni sürümle geri gelir. Bu yüzden ölçümü yayın sürecine bağlamak gerekir.

Pratik düzen şu şekilde işler:

  1. RUM verisinde sayfa şablonu, cihaz türü ve ana etkileşim adı tutulur.
  2. Yeni sürümden sonra bu segmentlerde p75 değişimi izlenir.
  3. Search Console’da doğrulama başlatılır, ama karar yalnızca oradaki gecikmeli veriye bırakılmaz.
  4. Sorunlu şablonlar için düzenli DevTools profili alınır.

Bu rutin, teknik SEO ve ürün geliştirme ekiplerini aynı tabloya toplar. Çünkü kötü etkileşim, sadece frontend sorunu değildir. Bazen etiket yönetimi, bazen CMS çıktısı, bazen de arayüz kararı işin içindedir. Bu yüzden performans takibini teknik SEO uygulama çözümleri ile birlikte düşünmek daha sağlıklıdır.

Sonuç

INP sorunları en hızlı, doğru sırayla ele alındığında çözülür. Önce Search Console ile sorunlu şablonu bulun, sonra PageSpeed Insights ve RUM ile gerçek etkisini doğrulayın, son olarak DevTools’ta etkileşim profilini açıp ağır görevi parçalayın.

Hızlı aksiyon planı basit olabilir:

  1. En kötü mobil şablonu seçin.
  2. O şablodaki tek bir sorunlu etkileşimi adlandırın.
  3. Görsel yanıtı öne çekip uzun görevi bölün, ardından yeniden ölçün.

Kullanıcı düğmeye bastığında sayfa hemen karşılık veriyorsa, INP düzelmeye başlar. Asıl farkı da kullanıcı hisseder.

This post may contain affiliate links. If you make a purchase through these links, I may earn a small commission at no extra cost to you.