Sonraki boyamayla etkileşim (INP)

Tarayıcı desteği

  • Chrome: 96.
  • Edge: 96..
  • Firefox: Desteklenmez..
  • Safari: desteklenmez..

Kaynak

Chrome kullanım verileri, kullanıcıların bir sayfada geçirdiği sürenin% 90'ının sayfa yüklendikten sonra harcadığını gösteriyor. Bu nedenle, sayfa yaşam döngüsünün boyunca yanıt vermenin dikkatli bir şekilde ölçülmesi önemlidir. INP metriği bunu değerlendirir.

İyi yanıt verme, sayfanın etkileşimlere hızlı yanıt verdiği anlamına gelir. Bir sayfa bir etkileşime yanıt verdiğinde tarayıcı, boyadığı bir sonraki karede görsel geri bildirim sunar. Görsel geri bildirim, örneğin, çevrimiçi alışveriş sepetine eklediğiniz bir öğenin gerçekten eklenip eklenmediğini, bir mobil gezinme menüsünün açılıp açılmadığını, bir giriş formunun içeriğinin sunucu tarafından doğrulanıp doğrulanmadığını vb. bildirir.

Bazı etkileşimler doğal olarak diğerlerinden daha uzun sürer. Ancak özellikle karmaşık etkileşimlerde, kullanıcıya bir şey olduğunu bildirmek için hızlıca ilk görsel geri bildirimi sunmak önemlidir. Tarayıcının boyayacağı bir sonraki kare, bunu yapmanın en erken fırsatıdır.

Bu nedenle, INP'nin amacı bir etkileşimin nihai etkilerinin tümünü (ör. diğer eşzamansız işlemlerden gelen ağ getirmeleri ve kullanıcı arayüzü güncellemeleri) ölçmek değil, sonraki boyamanın engellendiği zamanı ölçmektir. Görsel geri bildirimi geciktirerek kullanıcılar sayfanın yeterince hızlı yanıt vermediğini düşünebilir. INP, geliştiricilerin kullanıcı deneyiminin bu kısmını ölçmesine yardımcı olmak için geliştirilmiştir.

Aşağıdaki videoda, sağdaki örnekte akordeonun açıldığına dair anında görsel geri bildirim verilmektedir. Düşük yanıt verme hızı sol taraftaki örnekte ve bunun nasıl olumsuz kullanıcı deneyimine yol açabileceği gösterilmektedir.

Kötü-iyi yanıt vermeyle ilgili bir örnek. Sol tarafta, uzun görevler akordeonun açılmasını engeller. Bu durum, kullanıcının deneyimin bozulduğunu düşünerek birden çok kez tıklamasına neden olur. Ana iş parçacığı yetiştiğinde geciken girişleri işler ve bu da akordeonun beklenmedik bir şekilde açılıp kapanmasına neden olur. Sağ tarafta, daha duyarlı bir sayfa akordeonu hızlı ve olaysız bir şekilde açar.

Bu kılavuzda, INP'nin işleyiş şekli ve nasıl ölçüldüğü açıklanmakta, ayrıca INP'yi iyileştirmeye yönelik kaynaklara yönlendirilmektedir.

INP nedir?

INP, kullanıcının sayfayı ziyaret ettiği süre boyunca gerçekleşen tüm tıklama, dokunma ve klavye etkileşimlerinin gecikmesini gözlemleyerek sayfanın kullanıcı etkileşimlerine genel yanıt verme durumunu değerlendiren bir metriktir. Nihai INP değeri, aykırı değerler göz ardı edilerek gözlemlenen en uzun etkileşimdir.

INP'nin nasıl hesaplandığıyla ilgili ayrıntılar

INP, bir sayfayla yapılan tüm etkileşimlerin gözlemlenmesiyle hesaplanır. Çoğu site için en kötü gecikmeye sahip etkileşim INP olarak raporlanır.

Bununla birlikte, çok sayıda etkileşime sahip sayfalarda, rastgele yaşanan kesintiler, normalde duyarlı olan sayfalarda olağan dışı yüksek gecikmeli etkileşime neden olabilir. Belirli bir sayfada ne kadar fazla etkileşim gerçekleşirse bunun gerçekleşme olasılığı da o kadar yüksek olur.

Etkileşim sayısı yüksek olan sayfaların gerçek duyarlılığını daha iyi ölçmek için her 50 etkileşimde en yüksek etkileşimi yoksayarız. Sayfa deneyimlerinin büyük çoğunluğunda 50'den fazla etkileşim olmadığı için en kötü etkileşim genellikle raporlanır. Daha sonra, tüm sayfa görüntülemelerinin 75. yüzdelik dilimi her zamanki gibi raporlanır. Böylece, kullanıcıların büyük çoğunluğunun deneyimlediği veya daha iyi bir deneyim sunduğu bir değer sunmak için aykırı değerler kaldırılır.

Etkileşim, aynı mantıksal kullanıcı hareketi sırasında tetiklenen bir etkinlik işleyici grubudur. Örneğin, dokunmatik ekranlı bir cihazda "dokunma" etkileşimleri pointerup, pointerdown ve click gibi birden fazla etkinlik içerir. JavaScript, CSS, yerleşik tarayıcı kontrolleri (form öğeleri gibi) veya bunların bir kombinasyonu bir etkileşimi teşvik edebilir.

Bir etkileşimin gecikmesi, kullanıcının etkileşimi başlatmasından, tarayıcının bir sonraki çerçeveyi çizmesine kadar geçen süre, etkileşimi tetikleyen etkinlik işleyiciler grubunun en uzun süresinden oluşur.

İyi bir INP puanı nedir?

"İyi" gibi etiketleri sabitleme veya "kötü" bunu tahmin etmek zor. Bir yandan, iyi yanıt vermeye öncelik veren geliştirme uygulamalarını teşvik etmek istersiniz. Öte yandan, kullanıcıların ulaşılabilir geliştirme beklentileri belirlemek için kullandığı cihazların özelliklerinde önemli farklılıklar olduğunu göz önünde bulundurmanız gerekir.

İyi bir yanıt veren kullanıcı deneyimleri sunduğunuzdan emin olmak için, alanda kaydedilen sayfa yüklemelerinin yüzde 75'lik dilimi (mobil ve masaüstü cihazlar arasında segmentlere ayrılmış olarak) iyi bir eşiktir:

  • 200 milisaniye veya altındaki bir INP, sayfanın iyi yanıt verdiği anlamına gelir.
  • 200 milisaniye üzerinde ve 500 milisaniye altında veya 500 milisaniye olan bir INP, sayfanın duyarlılığının iyileştirilmesi gerektiği anlamına gelir.
  • 500 milisaniye'nin üzerindeki bir INP, bir sayfanın düşük duyarlılığa sahip olduğu anlamına gelir.
İyi INP değerleri 200 milisaniye veya daha az, kötü değerler 500 milisaniyeden fazladır. Bu değerler arasındaki değerlerde ise iyileştirme yapılması gerekir.
İyi INP değerleri 200 milisaniye veya daha kısadır. Yetersiz değerler 500 milisaniyeden fazladır.

Etkileşimde neler var?

Ana iş parçacığındaki bir etkileşimi gösteren diyagram. Kullanıcı, görevlerin çalışmasını engellerken giriş yapar. Giriş, bu görevler tamamlanana kadar ertelenir, ardından işaretçi, fare yukarı ve tıklama etkinlik işleyicileri çalışır ve ardından oluşturma ve boyama işi bir sonraki kare sunulana kadar başlatılır.
Bir etkileşimin ömrü. Muhtemelen ana iş parçacığındaki uzun görevler gibi faktörlerden dolayı etkinlik işleyiciler çalışmaya başlayana kadar bir giriş gecikmesi oluşur. Daha sonra etkileşimin etkinlik işleyici geri çağırması çalışır ve bir sonraki kare sunulmadan önce bir gecikme olur.

Etkileşimin birincil itici gücü genellikle JavaScript'tir. Ancak tarayıcılar, JavaScript tarafından desteklenmeyen onay kutuları, radyo düğmeleri ve CSS tarafından desteklenen kontroller gibi kontroller aracılığıyla da etkileşim sağlar.

INP'nin amaçları doğrultusunda yalnızca aşağıdaki etkileşim türleri gözlemlenir:

  • Fareyle tıklama.
  • Dokunmatik ekranlı bir cihaza dokunma.
  • Fiziksel klavyede veya ekran klavyesinde bir tuşa basma.

Etkileşimler ana dokümanda veya dokümana yerleştirilmiş iframe'lerde gerçekleşir (ör. yerleştirilmiş bir videoda oynat tıklandığında). Son kullanıcılar, bir iframe'de nelerin bulunduğundan haberdar olmaz. Bu nedenle, üst düzey sayfanın kullanıcı deneyimini ölçmek için iframe'lerdeki INP'ler gerekir. JavaScript Web API'leri, iframe'lerin içeriğine erişemediğinden bu durum CrUX ile RUM arasında bir fark olarak gösterilebilir.

Etkileşimler birden fazla etkinlikten oluşabilir. Örneğin, bir tuş vuruşu keydown, keypress ve keyup etkinliklerini içerir. Dokunma etkileşimleri pointerup ve pointerdown etkinliklerini içerir. Etkileşim içindeki en uzun süresi olan etkinlik, etkileşimin toplam gecikmesine katkıda bulunur.

İki etkileşim içeren daha karmaşık bir etkileşimin tasviri. Bunlardan ilki, fare düğmesi bırakılmadan önce bir çerçeve oluşturan ve sonuç olarak başka bir kare sunulana kadar daha fazla işin başlatıldığı bir fare aşağı etkinliğidir.
Birden fazla etkinlik işleyiciye sahip etkileşimin tasviri. Etkileşimin ilk bölümü, kullanıcı fare düğmesini tıkladığında bir giriş alır. Ancak fare düğmesi bırakılmadan önce bir çerçeve gösterilir. Kullanıcı fare düğmesini bıraktığında, bir sonraki kare sunulmadan önce başka bir dizi etkinlik işleyicinin çalıştırılması gerekir.

Sayfanın INP'si, kullanıcı sayfadan ayrıldığında hesaplanır. Sonuç, sayfanın yaşam döngüsü boyunca genel yanıt verimini temsil eden tek bir değerdir. Düşük bir INP, sayfanın kullanıcı girişlerine güvenilir bir şekilde yanıt verdiğini gösterir.

INP'nin İlk Giriş Gecikmesi'nden (FID) farkı nedir?

INP, First Input Delay (FID) metriğinin yerini alacak metriktir. Her ikisi de duyarlılık metrikleri olsa da FID yalnızca bir sayfadaki ilk etkileşimin giriş gecikmesini ölçmüştür. INP, giriş gecikmesinden etkinlik işleyicilerinin çalıştırılmasına kadar ve son olarak da tarayıcı bir sonraki kareyi boyayana kadar bir sayfadaki tüm etkileşimleri gözlemleyerek FID'yi iyileştirir.

Bu farklılıklar, hem INP hem de FID'nin farklı duyarlılık metriği türleri olduğu anlamına gelir. FID, sayfanın kullanıcı üzerindeki ilk gösterimini değerlendirmek için tasarlanmış bir yükleme duyarlılığı metriği olduğunda, INP, sayfa etkileşimlerinin süresi ne olursa olsun genel yanıt vermenin daha güvenilir bir göstergesidir.

INP değeri raporlanmazsa ne olur?

Bir sayfa INP değeri döndürmeyebilir. Bu durum aşağıdakiler dahil olmak üzere çeşitli nedenlerden kaynaklanabilir:

  • Sayfa yüklendi, ancak kullanıcı klavyesindeki bir tuşa hiç tıklamadı, dokunmadı veya tuşa basmadı.
  • Sayfa yüklendi, ancak kullanıcı kaydırma veya öğelerin üzerine gelme gibi ölçülmeyen hareketler kullanarak sayfayla etkileşimde bulundu.
  • Sayfayla etkileşime geçmek için komut dosyası yazılmamış, arama tarayıcısı veya gözetimsiz tarayıcı gibi bir bot sayfaya erişiyor.

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

INP, gerçekçi kullanıcı etkileşimlerini simüle edebilmek için hem sahada hem de laboratuvarda ölçülebilir.

Sahada

İdeal olarak, INP'yi optimize etme yolculuğunuz alan verileriyle başlar. Gerçek Kullanıcı İzleme'den (RUM) alınan alan verileri yalnızca bir sayfanın INP değerini değil, aynı zamanda INP değerinden hangi etkileşimin sorumlu olduğunu (etkileşimin sayfa yükleme sırasında veya sonrasında gerçekleşip gerçekleşmediğini, etkileşimin türünü (tıklama, tuşa basma veya dokunma) ve etkileşimin hangi bölümünün yanıt verme düzeyini etkilediğini belirlemenize yardımcı olabilecek diğer değerli zamanlamaları) vurgulayan içerik verilerini de sağlar.

Web siteniz Chrome Kullanıcı Deneyimi Raporu'na (CrUX) dahil edilmeye uygunsa PageSpeed Insights'taki CrUX'te (ve diğer Core Web Vitals'da) INP alan verilerini hızlı bir şekilde alabilirsiniz. En azından, web sitenizin INP'sinin kaynak düzeyinde resmini elde edebilirsiniz ancak bazı durumlarda URL düzeyindeki verileri de alabilirsiniz.

Ancak CrUX, bir sorun olup olmadığını size söyleyebilir ancak sorunun nedenini bildiremez. RUM çözümü, duyarlılıkla ilgili sorun yaşayan sayfalar, kullanıcılar veya kullanıcı etkileşimleri hakkında daha fazla ayrıntı öğrenmenize yardımcı olabilir. INP'yi tek tek etkileşimlerle ilişkilendirebilmek, tahmin yürütmeyi ve boşa çaba harcamayı önler.

Laboratuvarda

İdeal olarak, bir sayfanın etkileşimlerinin yavaş olduğunu gösteren saha verilerine sahip olduktan sonra laboratuvarda teste başlamak istersiniz. Alan verileri, laboratuvardaki sorunlu etkileşimleri yeniden oluşturma işini çok daha kolay hale getirecektir.

Bununla birlikte, alan verilerinizin olmaması tamamen mümkündür. INP, bazı laboratuvar araçlarında ölçülebilir ancak laboratuvar testi sırasında bir sayfa için elde edilen INP değeri, ölçüm döneminde hangi etkileşimlerin gerçekleştirildiğine bağlıdır. Kullanıcı davranışları tahmin edilemez ve son derece değişken olabilir. Bu da laboratuvardaki testlerinizin, sorun etkileşimlerini saha verilerinin yapabileceği şekilde göstermeyebileceği anlamına gelir. Ayrıca, bazı laboratuvar araçları yalnızca herhangi bir etkileşim olmadan sayfanın yüklendiğini gözlemlediğinden sayfanın INP değerini raporlamaz. Bu gibi durumlarda Toplam Engelleme Süresi (TBT) INP için makul bir proxy metriği olabilir ancak kendi başına INP'nin yerine geçmez.

Bir sayfanın INP'sini değerlendirmek söz konusu olduğunda laboratuvar araçlarında sınırlamalar olsa da laboratuvarda yavaş etkileşimleri yeniden oluşturmak için bazı stratejiler vardır. Stratejiler, kullanıcı deneyiminin bu önemli bölümünde yavaş etkileşimleri belirlemek amacıyla, genel kullanıcı akışlarını takip etmeyi ve süreç boyunca etkileşimleri test etmeyi, ayrıca sayfa yüklenirken (ana iş parçacığı genellikle en yoğun olduğunda) etkileşimde bulunmayı içerir.

INP'yi iyileştirme

Sahadaki yavaş etkileşimlerin tespiti ve bu etkileşimlerin nedenlerini belirleyip optimize etmenize yardımcı olması için laboratuvar verilerini kullanma sürecinde size yol gösterecek INP'yi optimize etmeyle ilgili bir kılavuz koleksiyonu mevcuttur.

Değişiklik günlüğü

Hatalar bazen metrikleri ölçmek için kullanılan API'lerde ve bazen metriklerin tanımlarında keşfedilir. Sonuç olarak, bazen değişikliklerin yapılması gerekir. Bu değişiklikler, dahili raporlarınızda ve kontrol panellerinizde iyileştirmeler veya regresyonlar olarak görünebilir.

Bu metrikleri yönetmenize yardımcı olmak amacıyla, söz konusu metriklerin uygulanmasında veya tanımında yapılan tüm değişiklikler bu Değişiklik Günlüğü'nde gösterilecektir.

Bu metrikler hakkında geri bildiriminiz varsa web-vitals-feedback Google grubuna gönderin.

Bilginizi test etme

INP metriğinin birincil hedefi nedir?

Bir sayfanın ilk içeriğinin gösterilmesi için geçen süreyi ölçmek için.
Yanlış: Bu, İlk Zengin İçerikli Boyama'yı açıklar.
Bir sayfanın görsel kararlılığını ölçmek ve beklenmedik düzen kaymalarını en aza indirmek için
Incorrect - This describes Cumulative Layout Shift
Bir sayfanın tamamen etkileşimli hale gelmesi için gereken süreyi değerlendirmek
Yanlış. Bu, Etkileşime Hazır Olma Süresi ile ilgili, ancak INP özellikle kullanıcı girişine yanıt vermeye odaklanır
Kullanıcının başlattığı tüm veya çoğu etkileşim için, kullanıcının bir etkileşimi başlatmasından sonraki karenin boyanmasına kadar geçen süreyi en aza indirmek.
Doğru!

INP'yi hesaplamak için aşağıdaki etkileşim türlerinden hangileri gözlemlenir? (Geçerli olan tüm seçenekleri işaretleyin.)

Fareyle tıklama.
Doğru!
Fare tekerleği veya dokunmatik yüzeyle sayfayı kaydırabilirsiniz.
Yanlış: INP kaydırmayı dikkate almıyor
Dokunmatik ekrana dokunma.
Doğru!
Fare imlecini öğelerin üzerine getirmek.
Yanlış: INP, fareyle üzerine gelme işlemini dikkate almaz.
Klavyede bir tuşa basma.
Doğru!
Sayfayı yakınlaştırma veya uzaklaştırma.
Yanlış: INP, yakınlaştırmayı dikkate almaz.

"Gecikme" nasıldır? nasıl tanımlanmış?

Tarayıcının, bir etkileşimin etkinlik işleyicilerini işlemesi için gereken süre.
Yanlış: Bu yalnızca işleme süresini hesaba katar, giriş gecikmesi veya sonraki kareyi gösterme süresini dikkate almaz.
Bir sayfadaki tüm etkileşimlerin görsel bir yanıt üretmesi için gereken ortalama süre.
Yanlış: INP ortalamaya değil en uzun etkileşime odaklanır
Tarayıcının, bir etkileşimle ilişkili etkinlik işleyicileri işlemeye başlaması için geçen süre.
Yanlış: Bu, yalnızca giriş gecikmesini hesaba katar, işleme ve oluşturma süresini hesaba katmaz.
Etkileşimin başlangıcından bir sonraki karenin tamamen gösterildiği ana kadar geçen süre.
Doğru!

INP ile FID arasındaki fark nedir?

INP, bir sayfanın ilk içeriğinin görüntülenmesi için gereken süreyi, FID ise kullanıcı girişine yanıt verme süresini ölçer.
Yanlış: Bu, INP değil, First Contentful Paint'i tanımlar
INP tüm etkileşimlerin tam süresini dikkate alırken, FID yalnızca ilk etkileşimin giriş gecikmesini ölçer.
Doğru!
INP ve FID, bir sayfanın etkileşimli hale geldiği farklı zaman damgalarını ölçer.
Yanlış: INP ve FID, etkileşimlerin ne zaman gerçekleştiğinden bağımsız olarak sayfanın etkileşimlere ne kadar hızlı yanıt verdiğini ölçer.
Aralarında fark yoktur. INP ve FID, aynı metrik için kullanılan iki farklı addır.
Yanlış - Farklı tanımları var

INP verileri, PageSpeed Insights gibi araçlarda bir sayfa için hangi durumlarda kullanılamayabilir?

Sayfa, INP verilerini bildirmeyen özel bir performans ölçümü kitaplığı kullanıyor.
Yanlış. INP, web platformu API'leri kullanılarak otomatik olarak ölçülür ve sayfaların performanslarını özel kitaplıklar aracılığıyla bildirmesine bağlı değildir.
Chrome kullanıcılarından gelen, CrUX veri kümesinde anlamlı bir INP değeri hesaplamak için yeterli etkileşim verisi yok.
Doğru!
Kullanıcılar sayfayla yalnızca kaydırma ve fareyle üzerine gelme işlemleriyle etkileşime geçti. Bu işlemler INP için dikkate alınmaz.
Doğru!
Bu sayfa, INP için otomatik olarak optimizasyon yapan bir çerçeve kullanılarak oluşturulduğundan bildirimde bulunmaya gerek yoktur.
Yanlış: Çerçeveler INP'ye yardımcı olabilir ancak veri mevcutsa metrik yine de alakalıdır ve raporlanır

Laboratuvar ortamında yavaş etkileşimleri yeniden oluşturmak için en etkili strateji nedir?

Zorlu koşullar oluşturmak için yavaş ve güvenilir olmayan bir ağ bağlantısına sahip üst düzey bir cihazı simüle etme.
Yanlış: Ağ önemli bir rol oynasa da cihaz özelliklerinin yavaş etkileşimlere yol açma olasılığı daha yüksektir
Etkileşimleri yalnızca sayfa tamamen yüklendikten ve boşta kaldıktan sonra test etme.
Yanlış: Bu yöntem, yükleme sırasında yavaş olan etkileşimleri atlayabilir.
Olası performans sorunlarını belirlemek için yükleme sırasında sayfayla etkileşim kurma ve genel kullanıcı akışlarını takip etme.
Doğru!
Çoğu kullanıcının karşılaşma olasılığı düşük olan karmaşık ve uç durum etkileşimlerine odaklanma
Yanlış: Yaygın kullanıcı akışları, tipik INP sorunlarını belirlemek için daha alakalı

Bu test Gemini 1.5 tarafından oluşturuldu ve gerçek kişiler tarafından incelendi. Geri bildiriminizi paylaşın