INP (Interaction to Next Paint) โ bu 2024 mart oyidan Google'ning Core Web Vitals'iga rasmiy ravishda kiritilgan yangi metrika. U eski FID (First Input Delay) metrikasi o'rnini egalladi. INP foydalanuvchi sahifa bilan o'zaro aloqa qilganda (click, tap, klaviatura bilan yozish) sayt qancha tez javob berishini o'lchaydi. Bu metrika foydalanuvchi tajribasiga to'g'ridan-to'g'ri ta'sir qiladi va Google ranking uchun ham hisobga oladi.
Nima uchun FID o'rniga INP keldi
FID metrikasi 2018'dan ishlatilgan edi va u faqat sahifaning birinchi interaktsiyasi (ko'pincha sahifa yuklanishidagi birinchi click) uchun javob vaqtini o'lchardi. Lekin bu yetarli emas edi โ foydalanuvchi sahifada bir necha marta interaktsiya qiladi, va birinchi tezligi yaxshi bo'lsa ham, ikkinchi-uchinchi javoblar sekin bo'lishi mumkin.
INP esa butun sahifa hayoti davomidagi barcha foydalanuvchi interaktsiyalarining javob vaqtini o'lchaydi va eng yomon javoblardan birini (75-foizli yoki shunga o'xshash baholash) ko'rsatkich sifatida tanlaydi. Bu Google'ga foydalanuvchi tajribasining haqiqiy darajasini bilishga imkon beradi โ bir martalik tezlik emas, balki davomli reaksiya.
INP'ning yaxshi va yomon qiymatlari
Google INP uchun aniq chegaralar belgilagan. Yaxshi (Good) โ INP 200 millisekunddan kam. Bu foydalanuvchi click qilganda 200 ms ichida sayt javob berishini bildiradi va bu darajada foydalanuvchi sahifani \"tez\" deb baholaydi.
Yaxshilash kerak (Needs Improvement) โ INP 200 dan 500 ms gacha. Bu yomon emas, lekin yaxshilanishi mumkin. Foydalanuvchi vaqti-vaqti bilan sekinlik sezadi. Yomon (Poor) โ INP 500 ms dan yuqori. Bu sezilarli sekinlik va foydalanuvchi sahifani \"sekin\" yoki \"o'zilgan\" deb baholaydi. Bunday natija ranking uchun zarar va konversiya kamayishini ham keltiradi.
INP'ga ta'sir qiluvchi asosiy omillar
Birinchi va eng katta omil โ JavaScript bajarish vaqti. Foydalanuvchi click qilganda, brauzer JavaScript ishga tushirishi va keyin DOM yangilab keyingi frame'ni chiqarishi kerak. Agar JavaScript funktsiyasi 200ms+ ishlab tursa โ INP yomon. Eng tarqalgan sababchilar: katta JavaScript fayl'lar, og'ir hisoblashlar, ko'p DOM update'lar.
Ikkinchi omil โ render blocking. Asosiy thread (JavaScript ishlatadigan) band bo'lsa, brauzer click javobini berolmaydi. Click javob berish uchun brauzer kerak Long Tasks (50ms+ ishlatiladigan funktsiyalar) tugab kutadi. Sayt'da ko'p long tasks bo'lsa, INP yomonlashadi.
Uchinchi omil โ Third-party JavaScript. Google Analytics, Facebook Pixel, chat widget, reklama tag'lar โ barchasi qo'shimcha JavaScript. Ko'p uchinchi tomon JS bo'lsa, sahifa main thread band bo'lib INP yomonlashadi.
INP yaxshilash strategiyalari
Birinchi strategiya โ JavaScript optimizatsiyasi. Code splitting orqali katta JS file'larni kichik bo'laklarga ajratib, faqat kerakli kodni yuklash. Tree shaking bilan keraksiz kodni o'chirish. Dynamic import bilan boshlang'ich yuklanishni tezlashtirish โ kontent darrov ko'rinadi, qo'shimcha JS keyinroq yuklanadi.
Ikkinchi strategiya โ Long tasks'ni bo'lish. Agar funktsiya 50ms dan ko'p ishlasa, uni kichik bo'laklarga ajratish kerak. setTimeout, requestIdleCallback, scheduler.yield (yangi Web API) bilan bo'lish mumkin. Bu brauzerga \"vaqti-vaqti bilan click javob berish imkoniyatini qaytar\" deyish kabi.
Uchinchi strategiya โ Web Workers ishlatish. Og'ir hisoblashlarni asosiy thread'dan ajratib, alohida Web Worker thread'iga o'tkazasiz. Asosiy thread foydalanuvchi interaktsiyasiga javob berish uchun bo'sh qoladi, og'ir ishlar fonda davom etadi.
Third-party kodni boshqarish
Uchinchi tomon JavaScript'lar (Analytics, Facebook Pixel, chat, ads) eng katta INP yomonlashtiruvchilar. Strategiya: faqat kerakli third-party tag'larni ishlatish va ularning yuklashini optimallashtirish. Defer attribut yoki async attribut bilan asosiy kontent yuklanishini bloklamasa.
Yana yaxshiroq yondashuv โ server-side third-party integratsiya. Google Analytics 4'ni server-side qilib Google Tag Manager Server Container orqali, Facebook Conversions API'ni server tomonidan chaqirib. Bu foydalanuvchi brauzerida JavaScript yuki kamayadi va INP yaxshilanadi. Murakkabroq lekin samarali.
INP o'lchash va monitoring
Real foydalanuvchi INP'ni o'lchash uchun Chrome User Experience Report (CrUX) ma'lumotlari ishlatiladi. Bu real foydalanuvchilar bilan to'plangan ma'lumotlardir va Google Search Console'ning \"Core Web Vitals\" hisobotida ko'rsatiladi. Agar sayt katta bo'lsa va yetarli trafik bo'lsa, sahifa darajasidagi INP'ni ko'rishingiz mumkin.
Lab tests (Lighthouse, PageSpeed Insights) ham INP'ni o'lchaydi, lekin bu simulated qiymat. Real foydalanuvchi haqiqiy qiymatlari (\"field data\") boshqacha bo'lishi mumkin. Chrome DevTools'da yangi \"Performance\" panel ham INP measurement qo'shdi โ sayt o'lchov uchun foydali.
INP va Single Page Applications
SPA saytlar uchun INP ko'pincha klassik HTML saytlardan yomonroq, chunki client-side routing va dinamik kontent JavaScript ishini ko'paytiradi. React, Vue saytlarida har sahifa o'tish click katta JavaScript ishi keltiradi.
SPA optimizatsiya uchun: React Server Components, Vue Streaming, va yangi rendering strategiyalar. Bu yondashuvlar foydalanuvchi interaktsiyasi paytida JavaScript yukini kamaytiradi va INP'ni yaxshilaydi. Lekin amalga oshirish murakkab va vaqt talab qiladi.
Sayt.uz INP optimizatsiyasi
Sayt.uz INP hozirda 120ms โ yashil zonada. Bu PHP server tomonidan to'liq HTML yuborilishi va minimal JavaScript ishlatishimiz natijasi. Asosiy interaktsiyalar (link click, form submit) deyarli zudlik bilan javob beradi.
Foydalanuvchi tajriba real foydalanuvchi ma'lumotlariga ko'ra: 95% sahifa interaktsiyalari 150ms dan kam vaqt oladi. Bu mukammal natija va Google ko'zida bizning sayt sifati signali. INP 200ms dan past saytlar Core Web Vitals'da yashil belgi oladi va Google ranking bo'yicha qo'shimcha boost beradi.