Interaction to Next Paint (INP) istifadəçinin səhifə ilə qarşılıqlı əlaqəyə başladığı andan ekranda növbəti çərçivənin (frame) çəkildiyi ana qədər olan vaxtı ölçür. 2024-cü ilin mart ayından etibarən bu metrik rəsmi olaraq köhnə giriş gecikməsi metrikini əsas Core Web Vital kimi əvəz edib. INP-ni yaxşılaşdırmaq düymələrin, menyuların və forma girişlərinin ziyarətçi üçün sürətli və cavabdeh olmasını təmin edir. Əgər səhifə kliklərə və ya toxunuşlara cavab vermək üçün çox vaxt sərf edirsə, istifadəçilər tez-tez saytı xarab və ya yavaş hesab edirlər ki, bu da daha yüksək çıxış nisbətlərinə (bounce rates) gətirib çıxarır.
Niyə Interaction to Next Paint əvvəlki metriki əvəz etdi?
Sənaye INP-yə keçdi, çünki o, sadəcə ilkin gecikməni deyil, istifadəçi qarşılıqlı əlaqəsinin bütün həyat dövrünü əhatə edir. Köhnə metrik yalnız brauzerin girişi emal etməyə başlaması üçün lazım olan vaxta baxdığı halda, INP emal müddətini və sonrakı çərçivə yeniləməsini nəzərə alır. Bu, istifadəçi bir keçidi (toggle) kliklədikdə və ya formanı təqdim etdikdə saytın faktiki istifadə zamanı necə hiss olunduğuna dair daha dəqiq bir mənzərə təqdim edir. Qarşılıqlı əlaqənin ümumi müddətinə diqqət yetirməklə, sayt sahibləri kritik istifadəçi tapşırıqları zamanı baş verən performans darboğazları haqqında məlumat əldə edirlər.

Veb tərtibatçıları və sayt sahibləri bu dəyişikliyə səhifələrinin ümumi arxitekturasını yaxşılaşdırmaq üçün bir fürsət kimi baxmalıdırlar. Yavaş cavab müddəti çox vaxt əsas axını (main thread) tıxayan ağır JavaScript icrasının nəticəsidir. Əsas axın məşğul olduqda, o, istifadəçi girişlərini səmərəli şəkildə emal edə bilmir və bu da zəif INP ballarına səbəb olur. Skriptlərin necə yükləndiyini və Document Object Model ilə necə qarşılıqlı əlaqədə olduğunu yoxlamaqla, istifadəçilərin hərəkətlərinin vizual təsdiqini gözlədikləri vaxtı əhəmiyyətli dərəcədə azalda bilərsiniz.
Müasir veb saytlarda zəif qarşılıqlı əlaqə ballarına nə səbəb olur?
Yüksək INP dəyərlərinin arxasındakı ən çox yayılmış günahkar uzun müddət davam edən JavaScript icrasıdır. İstifadəçi bir düyməni kliklədikdə, brauzer həmin kliklə əlaqəli hər hansı hadisə dinləyicilərini (event listeners) icra etməlidir. Əgər bu dinləyicilər mürəkkəb məntiq, ağır hesablamalar və ya böyük DOM yeniləmələri ehtiva edirsə, əsas axın bloklanır. Bu, skript bitənə qədər brauzerin növbəti çərçivəni çəkməsinə mane olur. İdarə etdiyimiz tipik bir hesabda görürük ki, üçüncü tərəf izləmə skriptləri bu hadisələr zamanı emal vaxtının böyük bir hissəsini tutur.
Digər bir tez-tez rast gəlinən problem həddindən artıq DOM ölçüsü və layout thrashing ilə bağlıdır. Skript brauzeri bir çox elementin tərtibatını yenidən hesablamağa məcbur edən üslub dəyişikliyini işə saldıqda, qarşılıqlı əlaqə müddəti artır. Mürəkkəb CSS animasiyaları və ya dərindən iç-içə yerləşdirilmiş səhifə strukturları da bu problemə töhfə verə bilər. Saytınızda çox sayda qovşaq (node) varsa, hətta sadə qarşılıqlı əlaqələr belə brauzeri müasir performans standartlarının nəzərdə tutduğundan daha uzun müddət məşğul saxlayan yavaş reflow prosesini işə sala bilər.

Xüsusi INP darboğazlarını necə müəyyən etmək olar?
INP problemlərini həll etmək üçün əvvəlcə hansı elementlərin gecikmələrə səbəb olduğunu müəyyən etməlisiniz. İstifadəçi qarşılıqlı əlaqəsini qeyd etmək üçün Chrome DevTools Performance panelindən istifadə edərək başlayın. Əsas axın fəaliyyətində qırmızı bayraqlarla işarələnmiş uzun tapşırıqları axtarın. Bu tapşırıqlar brauzerin girişlərə cavab vermədiyi vaxt bloklarını göstərir. Çağırış yığınını (call stack) araşdıraraq, uzun icra müddətinə görə məsul olan xüsusi funksiyaları və ya üçüncü tərəf kitabxanalarını dəqiq müəyyən edə bilərsiniz.
Problemli skriptləri müəyyən etdikdən sonra optimallaşdırma işlərinizi prioritetləşdirmək üçün aşağıdakı addımlardan istifadə edə bilərsiniz. Unutmayın ki, hər bir skript dərhal diqqət tələb etmir, lakin ödəniş düymələri və ya axtarış çubuqları kimi əsas istifadəçi yollarına təsir edənlər ilk növbədə həll edilməlidir. Bu elementləri müxtəlif cihaz növləri üzrə yoxlayarkən ardıcıllıq vacibdir, çünki mobil cihazlar çox vaxt daha aşağı emal gücünə malikdir və ağır skript yükü altında yüksək INP ballarına daha çox meyllidirlər.
- Performance panelindən istifadə edərək Chrome-da istifadəçi qarşılıqlı əlaqələrini qeyd edin.
- Potensial əsas axın bloklayıcılarını tapmaq üçün 50 millisaniyəni keçən tapşırıqları süzgəcdən keçirin.
- Qarşılıqlı əlaqə hadisələri zamanı işə düşən üçüncü tərəf skriptlərini yoxlayın.
- CPU dövrlərini istehlak edən xüsusi funksiyaları müəyyən etmək üçün çağırış yığınını təhlil edin.
- Təkmilləşdirmə üçün avtomatlaşdırılmış təkliflər almaq üçün brauzer konsolunda Lighthouse hesabatından istifadə edin.
Cavabdehliyinizi yaxşılaşdırmaq üçün praktiki strategiyalar
Optimallaşdırma səyləri uzun tapşırıqları daha kiçik, idarə oluna bilən hissələrə bölməyə yönəlməlidir. Siz scheduler API-dən və ya setTimeout-lardan istifadə edərək əsas axına güzəştə gedə bilərsiniz, bu da brauzerə tapşırıqlar arasında yeniləmələri çəkməyə imkan verir. Bu, intensiv əməliyyatlar zamanı interfeysin donmasının qarşısını alır. Bundan əlavə, kritik olmayan JavaScript-in yüklənməsini əsas axın boşalana qədər təxirə salmağı düşünün, bu da istifadəçi təcrübəsinin qarşılıqlı əlaqənin ilk kritik saniyələrində hamar qalmasını təmin edir.
Hadisə dinləyicilərində görülən işi minimuma endirmək də çox effektivdir. Mürəkkəb məlumat emalını ayrı bir axında işləyən və UI-ni bloklamayan Web Workers-ə köçürün. Ağır hesablamaları boşaltmaqla, əsas axınınız kliklərə və toxunuşlara dərhal cavab vermək üçün sərbəst qalır. Bu arxitektur dəyişiklik çox vaxt müştəri tərəfində renderinqə və ya ağır çərçivələrə əsaslanan məzmunla zəngin saytlarda performans problemlərini həll etməyin ən effektiv yoludur.
Alien Road müştərilər üçün INP optimallaşdırmasını necə tətbiq edir
Alien Road-da INP optimallaşdırmasına yanaşmamız müştərinin istehsal mühitinin dərin texniki auditi ilə başlayır. Biz ən yüksək çıxış nisbətləri ilə əlaqəli olan xüsusi qarşılıqlı əlaqələri müəyyən etməyə diqqət yetiririk. Məsələn, e-ticarət saytı üçün tipik bir işdə, ödəniş düymələrinin və miqdar seçicilərinin tövsiyə olunan vaxt çərçivələrində cavab verməsini təmin etmək üçün ödəniş prosesini təhlil edirik. Biz faktiki müştərilərin bu qarşılıqlı əlaqələri müxtəlif mobil cihazlarda necə yaşadığına dair məlumat toplamaq üçün real istifadəçi monitorinqi alətlərindən istifadə edirik.
Darboğazları müəyyən etdikdən sonra saytın cavabdehliyini təkmilləşdirmək üçün mərhələli sınaq planı həyata keçiririk. Komandamız üçüncü tərəf skriptlərini ayırmağa, əsas axın istifadəsini optimallaşdırmağa və DOM manipulyasiyasını sadələşdirməyə diqqət yetirir. Biz optimallaşdırmadan əvvəlki və sonrakı sahə məlumatlarını müqayisə edərək tərəqqimizi hesabat edirik və dəyişikliklərin real dünyadakı təkmilləşdirmələri əks etdirdiyinə əmin oluruq. Bu proses bizə saytın əsas funksionallığını pozmadan ən son Google performans standartlarına uyğun maddi nəticələr təqdim etməyə imkan verir.
Qaçınılması lazım olan ümumi tələlər hansılardır?
Bir çoxu biznes əməliyyatları üçün vacib olduğundan, bütün üçüncü tərəf teqlərini silmək həvəsindən çəkinin. Bunun əvəzinə, bu skriptləri asinxron və ya tənbəl (lazily) yükləməyə diqqət yetirin. Digər bir ümumi səhv, aşağı səviyyəli aparatın reallığını nəzərə almadan tək bir cihaz üçün həddindən artıq optimallaşdırmadır. Saytınızın auditoriyanızın əksəriyyəti üçün cavabdeh qalmasını təmin etmək üçün həmişə orta səviyyəli cihazlarda sınaqdan keçirin. Yalnız sintetik laboratoriya məlumatlarına etibar etmək çaşdırıcı ola bilər, ona görə də tapıntılarınızı həmişə faktiki istifadəçi performansı məlumatları ilə yoxlayın.
CSS mürəkkəbliyinin çox vaxt nəzərdən qaçırıldığını da qeyd etmək lazımdır. JavaScript adətən əsas günahkar olsa da, mürəkkəb seçicilər və kütləvi üslub vərəqləri brauzeri klikdən sonra tərtibat dəyişikliklərini emal etmək üçün əlavə vaxt sərf etməyə məcbur edə bilər. CSS-inizi sadə saxlayın və geniş miqyaslı reflow-ları işə salan tez-tez DOM dəyişikliklərindən çəkinin. Üslubunuzu sadə və skriptlərinizi səmərəli saxlamaqla, bütün platformalarda yüksək sürətli qarşılıqlı əlaqələri dəstəkləyən balanslaşdırılmış bir mühit yaradırsınız.
Bu həftə haradan başlamaq lazımdır?
Optimallaşdırma səyahətinizə bu həftə saytınızın ən vacib qarşılıqlı əlaqələrinin sadə auditini aparmaqla başlaya bilərsiniz. Üç əsas səhifə seçin və onların cavabdehliyini əl ilə ölçün. Düymələri klikləyərkən və ya menyuları açarkən hər hansı bir gecikmə hiss etsəniz, axını nəyin blokladığını görmək üçün Performance tabında qeyd aparın. Bu yüksək təsirli sahələrə diqqət yetirmək, ümumi sayt performansınız və istifadəçi məmnuniyyətiniz üçün ən sürətli qələbələri təmin edəcəkdir.
- Yavaş elementləri müəyyən etmək üçün ödəniş və ya əlaqə formalarınızın əl ilə yoxlanışını həyata keçirin.
- Yavaş hiss olunan hər bir qarşılıqlı əlaqə üçün Chrome-da Performance qeydi aparın.
- İştirak edən skriptləri tapmaq üçün performans xronologiyasındakı ‘Long Tasks’-ı araşdırın.
- Qarşılıqlı əlaqələr zamanı işə düşən hər hansı qeyri-vacib üçüncü tərəf skriptlərini təxirə salın.
- İstifadə olunmamış CSS və JavaScript-i silmək üçün DevTools-da ‘Coverage’ tabından istifadə edin.
Nəhayət, Google Search Console Core Web Vitals hesabatından istifadə edərək tərəqqinizi izlədiyinizə əmin olun. Bu hesabat saytınızın real istifadə məlumatlarına əsasən necə performans göstərdiyinə dair aydın bir mənzərə təqdim edir. Əgər balların yaxşılaşdığı bir tendensiya görürsünüzsə, bu kiçik, artan dəyişiklikləri digər səhifələrdə tətbiq etməyə davam edin. Performansa ardıcıl diqqət yetirmək nəticədə istifadəçi təcrübəsini əhəmiyyətli dərəcədə sürətləndirəcək və saytınızın uzun müddətdə rəqabətədavamlı qalmasına kömək edəcəkdir.
Oxumağa davam edin: SEO (axtarış sistemi optimallaşdırması) · SEO