Sebesség

Core Web Vitals: az INP mélyen

Az INP (Interaction to Next Paint) mint Core Web Vitals mutató: mit mér, miért váltotta a FID-et, és hogyan javíthatod a JavaScript-terhelés csökkentésével.

Scheo · 2026-07-18 · olvasási idő ~10 perc · Szerző: Schmidt Péter

Röviden: Az INP a teljes oldal-élettartam alatt mért interakciós késleltetés, amely 2024 márciusa óta a FID helyét vette át a Core Web Vitals mutatók között. A gyors válaszkészség főként a fő szál JavaScript-terhelésének csökkentésével javítható.
Kulcs tanulságok
  • Az INP a kattintások, koppintások és billentyűleütések teljes késleltetését méri, nem csak az első interakció késését, mint a FID.
  • A jó INP-érték 200 ms alatt van, a 200-500 ms közötti tartomány javításra szorul, az 500 ms feletti gyenge.
  • A leggyakoribb ok a fő szálat blokkoló, hosszú JavaScript-feladat, különösen harmadik felek szkriptjeinél és nagy DOM esetén.
  • Mobilon a gyengébb CPU miatt ugyanaz a szkript sokkal rosszabb INP-t okozhat, mint asztali gépen.
  • A legfontosabb javítási irány a hosszú feladatok feldarabolása és a fő szálnak való rendszeres visszaadás (yield).

Ha valaha ráböktél egy gombra egy telefonon, és egy fél másodpercig nem történt semmi, akkor pontosan azt tapasztaltad meg, amit az INP mutató megpróbál számszerűsíteni. Ez a cikk végigveszi, mi is ez a mutató, miért lépett a FID helyébe, hogyan méred, mi rontja el a leggyakrabban, és milyen konkrét irányokban tudsz rajta javítani.

Core Web Vitals: az INP mélyen
Core Web Vitals: az INP mélyen

Mi az INP, és miért váltotta le a FID-et?

Az INP (Interaction to Next Paint) azt méri, mennyi idő telik el egy felhasználói interakció (kattintás, koppintás, billentyűleütés) és a képernyő következő vizuális frissítése között, a teljes oldal-élettartamra vetítve. A Google 2024. március 12-én tette hivatalos Core Web Vitals mutatóvá a korábbi FID (First Input Delay) helyett (hivatalos információ, Google Search Central és web.dev).

A FID-nek két komoly korlátja volt. Egyrészt csak az első interakciót mérte az oldalon, holott a valós frusztráció gyakran később, görgetés vagy űrlap-kitöltés közben jelentkezik. Másrészt a FID kizárólag az input-késleltetést mérte, vagyis azt az időt, amíg a böngésző egyáltalán hozzáfért az eseményhez, de nem számolta bele az esemény feldolgozását és a változás kirajzolását. Emiatt sok oldal remek FID-et mutatott, közben a gyakorlatban akadozott. Az INP mindezt kiegészíti: minden számottevő interakciót figyel, és a rosszabbak közül választ egy reprezentatív, csúcs körüli értéket, így jobban tükrözi a tényleges élményt.

Mennyi a jó INP-érték?

A Google szerint a jó INP 200 ms alatti, a 200 és 500 ms közötti tartomány javításra szorul, az 500 ms feletti pedig gyenge. Ezek a küszöbök (hivatalos információ, web.dev) a 75. százalékos értékre vonatkoznak, vagyis a valós felhasználói mérések felső negyedét is bele kell férned a jó sávba ahhoz, hogy az oldalad átmenjen.

Fontos értened, hogy egyetlen interakció három szakaszra bomlik. Az input-késleltetés az az idő, amíg a böngésző el tud kezdeni foglalkozni az eseménnyel (jellemzően más, még futó feladatok miatt vár). A feldolgozási idő az eseménykezelő kódod futása. A megjelenítési késleltetés pedig az, amíg az új állapotot ki is rajzolja a böngésző. Az INP a három összegét adja. Ha tudod, melyik szakasz a legnagyobb, célzottan tudsz beavatkozni.

Hogyan méred az INP-t a gyakorlatban?

Két forrást érdemes kombinálnod: a valós felhasználóktól származó terepadatot és a labor-jellegű, hibakeresésre alkalmas mérési eszközöket. A kettő másra jó, ezért egyiket se hagyd ki.

Terepadat (valós felhasználók mérése):

Laboradat és hibakeresés (saját gépen reprodukálva):

Saját tapasztalatom szerint a leggyorsabb út az, ha a Web Vitals kiegészítővel bekapcsolod a részletes naplózást, majd valódi felhasználói utakat játszol le (menü megnyitása, szűrő váltása, kosárba tétel). Az akadozó interakció szinte azonnal kiugrik. A Lighthouse egyszeri futása nem ad közvetlen INP-értéket, mert az INP természeténél fogva interakciót igényel, ezért a laborban neked kell előállítanod az interakciót.

Mi rontja el leggyakrabban az INP-t?

A leggyakoribb ok a fő szálat hosszan blokkoló JavaScript, ami miatt a böngésző nem tud időben reagálni a felhasználói interakcióra. A böngésző egyetlen fő szálon végzi a szkriptfuttatást, az elrendezést és a rajzolást egyaránt, így ha ott egy hosszú feladat fut, minden más vár.

Tipikus kiváltók, amelyekkel a munkám során a legtöbbet találkozom:

Szakmai feltételezés, de a tapasztalat is ezt támasztja alá: a problémák többsége nem egyetlen nagy hibából, hanem sok kicsi, egyenként ártalmatlannak tűnő szkriptből áll össze, amelyek egyszerre terhelik a fő szálat.

Miért rosszabb az INP mobilon?

Mobilon ugyanaz a JavaScript sokkal lassabban fut, mert a telefonok CPU-ja gyengébb, ezért a fő szálat blokkoló feladatok aránytalanul nagyobb INP-t okoznak. Egy asztali gépen 50 ms alatt lefutó feladat egy középkategóriás telefonon könnyen 200-300 ms is lehet.

Ehhez jön, hogy a valós felhasználói terepadat túlnyomó része mobilról származik, tehát a Search Console értékelése főként a mobil élményt tükrözi. Ha csak asztali Chrome-ban tesztelsz, jó eséllyel alábecsülöd a problémát. Érdemes a DevToolsban bekapcsolnod a CPU-lassítást (4x vagy 6x throttling), hogy közelebb kerülj a valós mobil viselkedéshez.

Milyen konkrét irányokban javíthatod az INP-t?

A leghatásosabb irányok: a hosszú feladatok feldarabolása, a fő szálnak való rendszeres visszaadás, a szükségtelen JavaScript eltávolítása és a harmadik felek szkriptjeinek visszafogása. Nem garantált, hogy minden eset ugyanúgy javul, de ezek fedik le a problémák nagy részét.

Gyakorlati lépések:

  1. Darabold fel a hosszú feladatokat. Minden 50 ms feletti feladat kockázatos. Bontsd kisebb részekre, és add vissza a vezérlést a böngészőnek köztük.
  2. Adj vissza a fő szálnak (yield). A modern megközelítés a scheduler.yield(), ahol elérhető, egyébként egy setTimeout vagy egy await beszúrása is segít, hogy a böngésző közben feldolgozhassa a felhasználó kattintását.
  3. Halaszd el a nem kritikus munkát. Ami nem az azonnali válaszhoz kell, azt tedd requestIdleCallback-be vagy az interakció utáni rajzolás utánra.
  4. Csökkentsd a szállított JavaScriptet. Kód-szeletelés (code splitting), nem használt könyvtárak eltávolítása, lusta betöltés.
  5. Fogd vissza a harmadik feleket. Töltsd be őket később, és mérlegeld, tényleg kell-e minden widget.
  6. Tehermentesítsd a nehéz számítást. A tisztán számítási munkát Web Workerbe teheted, hogy le se terhelje a fő szálat.
  7. Fogd vissza az újrarenderelést. Keretrendszerben memoizálj, told le az állapotot lejjebb, kerüld a felesleges nagy renderelést.

Egy egyszerű minta arra, hogyan add vissza a vezérlést egy hosszú ciklusban:

async function feldolgoz(elemek) { for (let i = 0; i < elemek.length; i++) { munka(elemek[i]); if (i % 50 === 0) { await new Promise(r => setTimeout(r)); } } }

Ebben a példában minden ötvenedik elem után a setTimeout visszaadja a vezérlést a böngészőnek, így egy közben érkező kattintás nem ragad be a ciklus végéig. Ahol elérhető, a scheduler.yield() ennél is jobb, mert a feladatod utána visszakapja a prioritását.

Egy praktikus ellenőrzőlista, mielőtt lezárnád a munkát:

Az INP javítása ritkán egyetlen kapcsoló átbillentése. Inkább egy mérési kör: kideríted, melyik interakció a leglassabb, megnézed, melyik szakasza a szűk keresztmetszet, beavatkozol, majd újramérsz. Ez a módszeres kör segítheti, hogy az oldalad ténylegesen gyorsabbnak érződjön, ami jó eséllyel a felhasználói élményre és közvetve a keresési láthatóságra is pozitívan hat.

Források és további olvasnivalók

Gyakori kérdések

Mikor váltotta le az INP a FID-et?

A Google 2024. március 12-én tette hivatalos Core Web Vitals mutatóvá az INP-t a FID helyett. Azóta a FID már nem szerepel a három fő mutató között.

Mennyi a jó INP-érték?

A jó INP 200 ms alatti, a 200-500 ms közötti tartomány javításra szorul, az 500 ms feletti pedig gyenge. Ezek a 75. százalékos valós felhasználói értékre vonatkoznak.

Mi a különbség az INP és a FID között?

A FID csak az első interakció input-késleltetését mérte, az INP viszont az összes számottevő interakció teljes késleltetését figyeli, beleértve a feldolgozást és a kirajzolást is.

Miért fontos a JavaScript az INP szempontjából?

A böngésző a felhasználói interakciókat és a szkriptfuttatást ugyanazon a fő szálon végzi. Egy hosszan futó JavaScript-feladat blokkolja a szálat, így a böngésző késleltetve reagál a kattintásra.

Hogyan tudom megmérni az INP-t?

Valós adathoz használd a Search Console-t vagy a PageSpeed Insights terepadatát, hibakereséshez pedig a Web Vitals Chrome-kiegészítőt és a DevTools Performance paneljét, miközben magad kattintgatsz.

Miért rosszabb az INP mobilon?

A telefonok gyengébb CPU-ja miatt ugyanaz a szkript sokkal lassabban fut, és a valós terepadat túlnyomó része mobilról származik, ezért a mobil élmény súlyozottabban jelenik meg az értékelésben.

Források és további olvasnivalók

Ezen az oldalon a hivatalosan igazolt információt elsődleges forrásokból építjük fel; a saját tapasztalatot és a szakmai becslést mindig külön jelöljük a szövegben.

Kapcsolódó

Core Web Vitals: miért számít az oldalsebesség 2026-ban?

Kapcsolódó

Hogyan zajlik egy AI-SEO audit: folyamatleírás

Kapcsolódó

Belső linkelés a gyakorlatban egy kkv-oldalon

Helyi szolgáltatás a környékeden

Országosan dolgozunk, online és személyesen. Válaszd ki a városodat, és nézd meg, hogyan segítünk helyben:

Online marketing & AI SEO SzékesfehérvárOnline marketing & AI SEO BudapestOnline marketing & AI SEO VeszprémOnline marketing & AI SEO DunaújvárosOnline marketing & AI SEO GyőrOnline marketing & AI SEO DebrecenOnline marketing & AI SEO SzegedOnline marketing & AI SEO MiskolcOnline marketing & AI SEO PécsOnline marketing & AI SEO KecskemétOnline marketing & AI SEO NyíregyházaOnline marketing & AI SEO SzombathelyOnline marketing & AI SEO SzolnokOnline marketing & AI SEO TatabányaOnline marketing & AI SEO KaposvárOnline marketing & AI SEO BékéscsabaOnline marketing & AI SEO EgerOnline marketing & AI SEO ZalaegerszegOnline marketing & AI SEO SzekszárdOnline marketing & AI SEO Salgótarján

Weboldalkészítés városra bontva

Ha először a honlap kell, itt városonként arról írtunk:

Weboldalkészítés SzékesfehérvárWeboldalkészítés BudapestWeboldalkészítés VeszprémWeboldalkészítés DunaújvárosWeboldalkészítés GyőrWeboldalkészítés DebrecenWeboldalkészítés SzegedWeboldalkészítés MiskolcWeboldalkészítés PécsWeboldalkészítés KecskemétWeboldalkészítés NyíregyházaWeboldalkészítés SzombathelyWeboldalkészítés SzolnokWeboldalkészítés TatabányaWeboldalkészítés KaposvárWeboldalkészítés BékéscsabaWeboldalkészítés EgerWeboldalkészítés ZalaegerszegWeboldalkészítés SzekszárdWeboldalkészítés Salgótarján

15 perces AI-láthatósági gyorselemzés - díjmentesen

Megnézzük három, számodra fontos keresőkérdésnél, hogy megjelenik-e a céged a ChatGPT, a Gemini és a Google AI-válaszaiban, mely versenytársakat ajánlják helyetted, és melyik három területen érdemes először javítani. A weboldaladat előzetesen átnézzük, tehát nem sablonos, automata riportot kapsz.

Adataidat kizárólag a kapcsolatfelvételhez használjuk. Kapcsolat: m@rketinges.hu
💬 Konzultáció