Sonraki Boyamayla Etkileşim (INP), Etkinlik Zamanlaması API'sinden gelen verileri kullanarak sayfa duyarlılığını değerlendiren kararlı bir Önemli Web Verileri metriğidir. INP, sayfa ömrü boyunca sayfayla gerçekleştirilen tüm tıklama, dokunma ve klavye etkileşimlerinin gecikmesini gözlemler ve aykırı değerleri göz ardı ederek en uzun süreyi bildirir. Düşük bir INP, sayfanın kullanıcı etkileşimlerinin büyük çoğunluğuna tutarlı bir şekilde hızlı yanıt verebildiği anlamına gelir.
Hızlı yanıt verme süresi, bir sayfanın etkileşimlere hızlı yanıt vermesi anlamına gelir. Bir sayfa etkileşime yanıt verdiğinde, tarayıcı etkileşimin başarılı olduğunu göstermek için oluşturduğu sonraki karede görsel geri bildirim sunar. Örneğin, aşağıdaki konularda geri bildirim sağlayabilir:
- Çevrimiçi alışveriş sepetine eklediğiniz bir öğenin gerçekten eklenip eklenmediği.
- Bir mobil gezinme menüsünün açılıp açılmadığı.
- Giriş içeriğinin sunucu tarafından doğrulanıp doğrulanmadığı.
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 söylemek için hızlıca başlangıçtaki görsel geri bildirimler sunmak önemlidir. Bunun için bir sonraki boyaya geçmek için gereken süre budur. Bu nedenle, INP'nin amacı etkileşimin tüm nihai etkilerini (ö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 süreyi ölçmektir. Görsel geri bildirimi geciktirerek kullanıcıların sayfanın eylemlerine yanıt vermediğini düşünmesini sağlarsınız.
INP'nin amacı, kullanıcının başlattığı tüm etkileşimler veya çoğu etkileşim için, bir kullanıcının bir etkileşimi başlatmasından sonraki karenin boyanmasına kadar geçen süreyi en aza indirmektir.
INP, bir sayfayla yapılan tüm etkileşimler gözlemlenerek hesaplanır. Çoğu site için en düşük gecikmeyle etkileşim INP olarak raporlanır. Ancak çok sayıda etkileşim bulunan sayfalarda rastgele kesintiler, normalde duyarlı olan bir sitede alışılmadık derecede yüksek gecikmeli bir etkileşime neden olabilir. Etkileşim ne kadar fazla olursa bu gerçekleşme olasılığı da o kadar artar. Buna karşı koymak ve bu tür sayfaların gerçek yanıtlama düzeyini daha iyi ölçmek amacıyla her 50 etkileşim için en yüksek bir etkileşimi göz ardı ederiz. Sayfa deneyimlerinin büyük çoğunluğunda 50'den fazla etkileşim bulunmadığından tarayıcı neredeyse her zaman en kötü etkileşimi bildirmeye devam eder. Daha sonra, tüm sayfa görüntülemelerinin 75. yüzdelik dilimi her zamanki gibi raporlanır ve böylece genel kullanıcı deneyimini daha iyi temsil eden bir değer sunmak için aykırı değerler de 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 cihazdaki "dokunma" etkileşimleri pointerup
, pointerdown
ve click
gibi birden fazla etkinliği içerir. Etkileşimler JavaScript, CSS, form öğeleri gibi yerleşik tarayıcı kontrolleri veya bunların bir kombinasyonu tarafından yönlendirilebilir.
Bir etkileşimin gecikmesi, etkileşimi artıran bir etkinlik işleyici grubunun en uzun süresinden oluşur. Bu süre, kullanıcının etkileşimi başlatmasından sonraki karenin görsel geri bildirimle sunulduğu ana kadar sürer.
Önemli nokta: INP'nin nasıl ölçüldüğü hakkında daha fazla bilgi için "Etkileşimde neler var?" bölümüne bakın.
İyi bir INP puanı nedir?
Kullanıcı deneyimlerini iyi yanıt verme hızıyla sunduğunuzdan emin olmak için ölçülmesi gereken bir eşik, alanda kaydedilen sayfa yüklemelerinin mobil ve masaüstü cihazlar genelinde segmentlere ayrılmış 75. yüzdelik dilimidir:
- 200 milisaniye'ye eşit veya daha az olan bir INP, sayfanızın iyi duyarlılığa sahip olduğu anlamına gelir.
- 200 milisaniye ile 500 milisaniye arasında bir INP olması, sayfanızın yanıt verme hızının iyileştirmesi gerektiği anlamına gelir.
- 500 milisaniye'den büyük bir INP, sayfanızın düşük yanıt hızına sahip olduğu anlamına gelir.
Etkileşimde neler bulunur?
Etkileşimin birincil sürücüsü genellikle JavaScript'tir. Ancak tarayıcılar, onay kutuları, radyo düğmeleri ve CSS tarafından desteklenen denetimler gibi JavaScript tarafından desteklenmeyen kontroller aracılığıyla etkileşim sağlar.
INP amaçları doğrultusunda yalnızca aşağıdaki etkileşim türleri gözlemlenir:
- Fare ile tıklama.
- Dokunmatik ekranı olan bir cihaza dokunulduğunda.
- Fiziksel klavyede veya ekran klavyede bir tuşa basma.
Önemli nokta: Fareyle reklamın üzerine gelme ve kaydırma, INP'yi etkilemez. Bununla birlikte, klavyeyle kaydırma (boşluk çubuğu, sayfa yukarı, sayfa aşağı vb.), INP'nin ölçtüğü diğer etkinlikleri tetikleyebilen bir tuş vuruşu içerir. Sonuçta oluşan kaydırma işlemleri, INP hesaplamasına dahil edilmez.
Etkileşimler ana dokümanda veya dokümana yerleştirilmiş iframe'lerde gerçekleşir. Örneğin, yerleştirilmiş bir videoda oynat düğmesini tıklama. Son kullanıcılar sayfanın hangi bölümlerinin iframe içinde olduğunu bilmediğinden, INP'yi tüm sayfa için doğru bir şekilde ölçmek için iframe'ler içinde INP'yi ölçmeniz gerekir. Ancak JavaScript Web API'lerinin iframe içeriğine erişimi yoktur ve bir iframe içinde INP'yi ölçemeyebilirler. Bu durum, CrUX ve RUM arasındaki fark olarak gösterilir.
Etkileşimler birden fazla etkinlikten oluşabilir. Örneğin, tuş vuruşu keydown
, keypress
ve keyup
etkinliklerini, dokunma etkileşimleri ise pointerup
ve pointerdown
etkinliklerini içerir. Etkileşim içindeki en uzun süreli etkinlik, etkileşimin gecikmesi olarak seçilir.
INP, kullanıcı sayfadan ayrıldığında hesaplanır ve yaşam döngüsü boyunca sayfanın genel yanıt verme gücünü temsil eden tek bir değer elde edilir. Düşük bir INP, bir sayfanın kullanıcı girişine güvenilir şekilde yanıt verdiği anlamına gelir.
INP ile First Input Delay (FID) arasındaki fark nedir?
INP, First Input Delay (FID) özelliğinin yerini alan metriktir. Her ikisi de yanıt verme metriğidir ancak FID yalnızca bir sayfadaki ilk etkileşimin giriş gecikmesini ölçmüştür. INP, giriş gecikmesinden etkinlik işleyicileri çalıştırmak için gereken süreye ve son olarak tarayıcının bir sonraki kareyi boyayana kadar tüm sayfa etkileşimlerini dikkate alarak FID'yi iyileştirir.
Bu farklılıklar, hem INP hem de FID'nin farklı duyarlılık metrikleri türleri olduğu anlamına gelir. FID'nin, sayfanın kullanıcı üzerindeki ilk gösterimini değerlendirmek için tasarlanmış bir yükleme duyarlılığı metriği olduğu durumlarda, INP sayfa etkileşimlerinin süresi içinde ne zaman gerçekleştiğine bakılmaksızın genel yanıt verme süresine ilişkin daha güvenilir bir göstergedir.
Herhangi bir INP değeri bildirilmezse ne olur?
Bir sayfa hiçbir INP değeri döndürmeyebilir. Bu, aşağıdakiler dahil olmak üzere çeşitli nedenlerle ortaya çıkabilir:
- Sayfa yüklendi, ancak kullanıcı sayfayla hiç etkileşim kurmadı.
- Sayfa yüklendi ancak kullanıcı, kaydırma veya öğelerin üzerine gelme gibi ölçülmeyen hareketler kullanarak sayfayla etkileşime geçti.
- Sayfayla etkileşimde bulunmak için komut dosyası çalıştırılmamış bir arama tarayıcısı veya gözetimsiz tarayıcı gibi bir bot sayfaya erişmektedir.
INP'yi ölçme
INP, çeşitli araçlar kullanılarak hem sahada hem de laboratuvarda ölçülebilir.
Önemli nokta: Web sitenizin INP'sini ölçmenin en iyi yolu, alandaki gerçek kullanıcılardan metrikler toplamaktır. Performansı değerlendirmek için laboratuvar verilerinden yararlanmaya alışkınsanız Laboratuvar ve alan verileri neden farklı olabilir? (Bu konuda ne yapılabilir) başlıklı makaleyi okumanızı öneririz.
Sahada
İdeal olarak INP'yi optimize etme yolculuğunuz alan verileriyle başlar. En iyi şekilde, Gerçek Kullanıcı İzleme'den (RUM) alınan alan verileri size yalnızca bir sayfanın INP değerini değil, aynı zamanda INP değerinden hangi belirli etkileşimin sorumlu olduğunu, etkileşimin sayfa yükleme sırasında mı yoksa sonrasında mı gerçekleştiğini, etkileşimin türünü (tıklama, tuşa basma veya dokunma) ve diğer değerli bilgileri vurgulayan bağlamsal veriler sunar.
Web siteniz Chrome Kullanıcı Deneyimi Raporu (CrUX)'na dahil edilmeye uygunsa, diğer Önemli Web Verileri'ndeki verilerin yanı sıra INP alanı verilerini PageSpeed Insights'taki CrUX üzerinden hızlıca alabilirsiniz. En azından, web sitenizin INP'sinin kaynak düzeyindeki resmini alabilirsiniz. Ancak bazı durumlarda, sayfa düzeyinde veriler de elde edebilirsiniz.
Ancak CrUX, üst düzeyde bir sorun olduğunu bildirse de genellikle sorunun ne olduğunu tam olarak anlamanıza yardımcı olacak kadar ayrıntı sağlamaz. RUM çözümü, yavaş etkileşimlere sahip sayfalar, kullanıcılar veya kullanıcı etkileşimleri hakkında daha fazla ayrıntıya ulaşmanıza yardımcı olabilir. INP'yi bireysel etkileşimlerle ilişkilendirebilmek, tahmin yürütmekten ve boşa çaba harcanmasını önlemeye yardımcı olur.
Laboratuvarda
Etkileşimlerinizin yavaş olduğunu gösteren alan verileriniz olduğunda, ideal olarak laboratuvarda testlere başlamanız önerilir. Bununla birlikte, alan verileri olmadığında laboratuvardaki yavaş etkileşimleri yeniden oluşturmak için bazı stratejiler vardır. Stratejiler arasında, yaygın kullanıcı akışlarını takip etme ve yol boyunca etkileşimleri test etme, ayrıca yükleme sırasında ana iş parçacığının genellikle en yoğun olduğu zamanlarda sayfayla etkileşimde bulunma yer alır. Böylece kullanıcı deneyiminin söz konusu önemli kısmı sırasında yavaş etkileşimleri ortaya çıkarır.
INP'yi iyileştirme
Sahadaki yavaş etkileşimleri belirleme ve bunları optimize etmek için laboratuvar verilerini kullanma hakkında rehberlik almak amacıyla INP'yi optimize etme rehberleri koleksiyonumuzu inceleyin.
Değişiklik günlüğü
Bazen metrikleri ölçmek için kullanılan API'lerde, bazen de metriklerin tanımlarında hatalar keşfedilir. Bu nedenle, değişikliklerin bazen yapılması gerekir ve bu değişiklikler dahili raporlarınızda ve kontrol panellerinizde iyileştirme veya regresyon olarak gösterilebilir.
Bu durumu yönetmenize yardımcı olmak için 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österilmiştir.
Bu metriklerle ilgili geri bildiriminiz varsa web-önemli geri bildirim Google grubunda geri bildiriminizi paylaşın.