Google, Core Web Vitals setinde First Input Delay (FID) metriğini kaldırıp yerine Interaction to Next Paint (INP) metriğini getirdi. Bu değişiklik sıradan bir güncelleme değil; kullanıcı deneyiminin nasıl ölçüldüğüne dair köklü bir yaklaşım farkı. Sayfanız FID'de iyi puan alıyor olabilir ama INP'de zorlanıyor olabilir.

Core Web Vitals raporuna bakan site sahipleri INP'nin ne ölçtüğünü ve neden önemli olduğunu çoğu zaman bilmiyor. Bu yazıda metriği sadeleştirip pratik iyileştirme adımlarına odaklanıyorum.

1. FID ile INP Arasındaki Temel Fark

FID, kullanıcının sayfayla yaptığı ilk etkileşimin ne kadar sürede yanıt aldığını ölçüyordu. Bu, sayfa yüklenirken oluşan gecikmeyi yakalıyordu ama sayfanın geri kalanında yaşanan gecikmeleri görmezden geliyordu. Bir kullanıcı sayfada on kez tıklama yapsa, FID sadece ilkini değerlendiriyordu.

INP ise sayfadaki tüm etkileşimleri (tıklama, dokunma, klavye girişi) izliyor ve en kötü (ya da yüksek yüzdelik dilimdeki) yanıt süresini raporluyor. Bu, kullanıcı deneyiminin sayfa boyunca ne kadar tutarlı olduğunu gösteriyor; sadece ilk izlenimi değil.

2. INP Neden Daha Gerçekçi Bir Metrik?

Gerçek kullanıcı davranışını düşünün: bir e-ticaret sayfasında kullanıcı filtre tıklıyor, sepete ekle butonuna basıyor, menüyü açıyor. Bu etkileşimlerin her biri farklı anlarda, farklı JavaScript yükleri altında gerçekleşiyor. Sayfa ilk açıldığında hızlı yanıt veren ama üçüncü etkileşimde donan bir site, FID'de iyi puan alırken kullanıcıyı gerçekte sinirlendiriyordu. INP bu boşluğu kapatıyor.

3. İyi, Orta ve Kötü INP Değerleri

  • İyi: 200 milisaniyenin altı
  • İyileştirme gerekli: 200-500 milisaniye arası
  • Kötü: 500 milisaniyenin üzeri

Bu eşikler Google tarafından gerçek kullanıcı verisine (Chrome User Experience Report, kısaca CrUX) dayanarak belirlendi. Laboratuvar testinde iyi görünen bir sayfa, gerçek kullanıcı cihazlarında (özellikle orta seviye Android telefonlarda) çok daha yavaş INP değeri verebiliyor.

4. INP Nasıl Ölçülür?

Üç farklı araçla INP takibi yapılabiliyor. Google Search Console'daki Core Web Vitals raporu, sitenin gerçek kullanıcı verisini URL grubu bazında gösteriyor. PageSpeed Insights, hem laboratuvar hem alan verisini bir arada sunuyor. Chrome DevTools'un Performance paneli ise geliştirici seviyesinde, hangi JavaScript görevinin gecikmeye sebep olduğunu satır satır gösteriyor.

En güvenilir veri kaynağı gerçek kullanıcı verisidir, çünkü laboratuvar testi tek bir cihaz ve ağ koşulunu simüle ediyor; gerçek ziyaretçiler çok daha çeşitli cihaz ve bağlantı hızına sahip.

5. INP'yi İyileştirmenin Pratik Yolları

Uzun JavaScript görevlerini parçalayın

Ana iş parçacığını (main thread) 50 milisaniyeden uzun süre bloke eden JavaScript görevleri, kullanıcı etkileşimine yanıt vermeyi geciktiriyor. Bu görevleri daha küçük parçalara bölmek, tarayıcının etkileşimlere ara sırada yanıt verebilmesini sağlıyor.

Gereksiz üçüncü taraf script'leri azaltın

Analitik araçları, reklam script'leri veya sohbet widget'ları genelde sayfanın kendi kodundan çok daha fazla ana iş parçacığı yükü oluşturuyor. Bu script'lerin requestIdleCallback ile geciktirilmesi veya gerçekten gerekli olanların dışında kaldırılması INP'yi doğrudan iyileştiriyor.

Etkileşim sonrası DOM güncellemelerini sadeleştirin

Bir butona tıklandığında sayfanın büyük bir kısmını yeniden render eden kod, gecikmeye sebep oluyor. Güncellemeyi sadece değişen alanla sınırlı tutmak, tarayıcının işi çok daha hızlı bitirmesini sağlıyor.

Input gecikmesini azaltın

Form alanlarında ağır doğrulama (validation) mantığı her tuş vuruşunda çalışıyorsa, bu da INP'yi kötüleştiriyor. Doğrulamanın "debounce" edilmesi, yani kullanıcı yazmayı bir süre durdurduktan sonra çalıştırılması, algılanan gecikmeyi azaltıyor.

Hangi Sayfada Önce Ölçmeli?

INP, etkileşim olan sayfalarda anlamlı: formu, menüsü, filtresi, sepeti olan sayfalar. Yalnızca düz metin okunan bir sayfada etkileşim az olduğu için sorun nadir çıkar. Önce iletişim formu ve ana menü gibi en çok kullanılan etkileşimlerin olduğu sayfalara bakın.

Laboratuvarda INP Yerine Ne Bakılır?

Laboratuvar testleri gerçek kullanıcı etkileşimini yapmadığı için INP'yi doğrudan veremiyor. Onun yerine toplam engelleme süresi gibi bir ölçüt yaklaşık bir fikir veriyor: ana iş parçacığının sayfa yüklenirken ne kadar süre meşgul kaldığını gösteriyor. Bu ölçüt yüksekse INP'nin de kötü olma ihtimali artıyor, ama bu bir tahmin, kesin değil.

Menü ve Sohbet Düğmesi Etkisi

Sayfanın sürekli açık olan bileşenleri, örneğin sohbet düğmesi ya da çerez bildirimi, ağır kod taşıyorsa her etkileşimi etkileyebiliyor. Bunları sayfa açılırken değil, ziyaretçi etkileşime girdikten sonra yüklemek bir çözüm. Küçük bir menüyü sade kodla yazmak da ağır bir bileşenden daha iyi sonuç veriyor.

Kendi Sitemde Ne Yapıyorum?

Analitik kodunu sayfa açılır açılmaz değil, ziyaretçi sayfayla etkileşime girdikten sonra yüklüyorum. Böylece ilk etkileşimler bu yükle rekabet etmiyor. Sitelerde ağır bir kütüphane kullanmıyorum, çoğu etkileşim birkaç satırlık sade kodla çalışıyor. Hız çalışmasının genel adımlarını web sitesi hızı yazımda anlattım.

Küçük Bir Site İçin Gerçekçi Hedef

Küçük bir kurumsal sitede INP'nin kötü çıkması genellikle ağır üçüncü taraf kodlarından kaynaklanıyor. Bu kodları azalttığınızda sorun çoğu zaman kendiliğinden çözülüyor. Mükemmel bir değer peşinde olmak yerine, iyi aralıkta kalmak ve yeni bir bileşen eklerken yeniden ölçmek yeterli. Multimedya tarafı için multimedya ve UX SEO yazısına bakın.

Kimlere Önermiyorum?

Etkileşimi neredeyse hiç olmayan, tek sayfalık bir tanıtım sitesinde INP üzerine uzun bir çalışma gereksiz. Bu ölçütü form, filtre ve sepet gibi etkileşimli bileşenleri olan siteler için önemsiyorum.

6. INP ve Sıralama İlişkisi

Core Web Vitals, Google'ın sayfa deneyimi sinyalinin bir parçası ve sıralamayı etkileyen çok sayıda faktörden biri. INP tek başına sıralamayı belirlemiyor ama kötü bir INP değeri, kullanıcının sayfada kalma süresini ve dönüşüm oranını doğrudan etkiliyor; bu da dolaylı olarak SEO performansını zayıflatıyor. Teknik SEO danışmanlığı hizmetim kapsamında Core Web Vitals denetimi ve iyileştirmesi de yer alıyor.

Sitenizin INP performansını gerçek veriyle değerlendirmek isterseniz aşağıdan iletişime geçebilirsiniz.

Sık Sorulan Sorular

INP nedir, FID'den farkı ne?

INP (Interaction to Next Paint), sayfadaki tüm etkileşimlerin yanıt süresini ölçer; FID ise yalnızca ilk etkileşimi ölçüyordu. INP, kullanıcı deneyiminin sayfa boyunca tutarlılığını gösterdiği için daha kapsamlı bir metriktir.

İyi bir INP değeri nedir?

200 milisaniyenin altı iyi kabul edilir. 200-500 milisaniye arası iyileştirme gerektirir, 500 milisaniyenin üzeri kötü kabul edilir.

INP nasıl ölçülür?

Google Search Console'daki Core Web Vitals raporu, PageSpeed Insights ve Chrome DevTools Performance paneli INP değerini gösterir. Gerçek kullanıcı verisi (CrUX) tabanlı ölçüm, laboratuvar testinden daha güvenilir sonuç verir.

INP'yi iyileştirmenin en etkili yolu nedir?

Ana iş parçacığını bloklayan uzun JavaScript görevlerini küçük parçalara bölmek, gereksiz üçüncü taraf script'leri kaldırmak veya geciktirmek ve etkileşim sonrası DOM güncellemelerini sadeleştirmek INP'yi doğrudan iyileştirir.