A CrUX (Chrome User Experience Report) a Google nyilvános adatbázisa, amely valódi Chrome-felhasználók böngészéséből gyűjti a sebesség-mérőszámokat. Ez a mezei adat (field data): nem egy szimulált mérés, hanem az, amit az emberek tényleg tapasztaltak az oldaladon az elmúlt 28 napban.
Mezei adat vs labor adat
A labor adat (lab data) egy kontrollált környezetben lefuttatott mérés. Egy szerver betölti az oldalt, előre beállított CPU-lassítással és hálózati fékkel, majd kiszámolja az értékeket. Ilyen a Lighthouse futtatása is.
A mezei adat ezzel szemben sok ezer valós látogatásból összegyűjtött statisztika. Különböző eszközök, hálózatok, országok, cache-állapotok keverednek benne. A PageSpeed Insights mindkettőt megmutatja: felül a CrUX-ot, alul a Lighthouse-futást.
Miért tér el a kettő
A két szám szinte soha nem egyezik, és ez nem hiba. A labor mérés egy hideg betöltés, üres cache-sel, egy adott helyről. A mezei adat tartalmazza a visszatérő látogatókat, a régi Android-telefonokat és a gyenge mobilnetet is.
A INP (Interaction to Next Paint) mérőszámot ráadásul laborban nem is lehet rendesen mérni. Ahhoz valódi kattintás kell. A Lighthouse helyette TBT (Total Blocking Time) értéket ad, ami csak közelítés.
Percentilis, nem átlag
A CrUX a 75. percentilist használja. Ha az LCP mezei értéke 2,4 másodperc, az azt jelenti: a látogatások 75%-a ennél gyorsabb volt. Az átlag itt félrevezetne, a leglassabb esetek pedig aránytalanul rontanák a képet.
A Core Web Vitals küszöbök is erre a percentilisre vonatkoznak. A "jó" minősítéshez mindhárom mérőszámnak teljesítenie kell.
Röviden: a labor adat megmondja, mit javíts, a mezei adat megmondja, hogy megérte-e.
Mit néz ebből a riport
Az audit lekéri az oldal CrUX-adatait, ha elérhetők. Ha nincs elég forgalom, a riport ezt nem ellenőrizhető állapotként jelzi, nem hibaként. Ilyenkor a labor mérés marad támpontnak.
Miért fontos
A Google a mezei adatot nézi
A Core Web Vitals rangsorolási jelzés a CrUX-ból jön, nem a Lighthouse-pontszámból. Ha a labor mérésed 95 pont, de a mezei LCP 4,1 másodperc, a Google az utóbbit látja.
Ez a magyar KKV-oldalak leggyakoribb félreértése. A riportokban rendszeresen látunk olyan oldalt, ahol a tulajdonos büszke a zöld Lighthouse-pontszámra, közben a valós felhasználók fele lassú betöltést kap.
Üzleti következmény
A mezei adat a tényleges bevételkiesést tükrözi. Ha a látogatók negyede 4 másodpercnél tovább vár, az mérhető lemorzsolódás. A labor szám ezt nem mutatja meg.
A Search Console Core Web Vitals jelentése szintén CrUX-alapú. URL-csoportokra bontja az oldalakat. Ott látod, hogy a terméklapok vagy a blogbejegyzések a gyengék.
Amit a labor adat ad
A labor mérés viszont reprodukálható és azonnali. Módosítasz valamit, újrafutsz, látod a különbséget. A mezei adat ehhez 28 napot kér.
Technikai példa
A CrUX API-ból közvetlenül is lekérhető a mezei adat. Így nem kell a PageSpeed felületét nézni.
curl -X POST "https://chromeuxreport.googleapis.com/v1/records:queryRecord?key=API_KULCS" \
-H "Content-Type: application/json" \
-d '{"url": "https://pelda.hu/termek/valami", "formFactor": "PHONE"}'
A válasz percentilist és eloszlást ad vissza mérőszámonként:
{
"record": {
"key": { "url": "https://pelda.hu/termek/valami", "formFactor": "PHONE" },
"metrics": {
"largest_contentful_paint": {
"percentiles": { "p75": 3120 },
"histogram": [
{ "start": 0, "end": 2500, "density": 0.61 },
{ "start": 2500, "end": 4000, "density": 0.27 },
{ "start": 4000, "density": 0.12 }
]
}
}
}
}
A p75 értéke 3120 ms. Ez a "javítandó" sávba esik, mert 2500 ms felett van. A hisztogramból az is látszik, hogy a látogatások 12%-a 4 másodpercnél is lassabb volt.
Saját RUM-méréshez a hivatalos könyvtár elég:
<script type="module">
import { onLCP, onINP, onCLS } from 'https://unpkg.com/web-vitals@4?module';
const kuld = (m) => {
navigator.sendBeacon('/rum', JSON.stringify({ nev: m.name, ertek: m.value }));
};
onLCP(kuld);
onINP(kuld);
onCLS(kuld);
</script>
Ez ugyanazokat a mérőszámokat gyűjti, mint a CrUX, de azonnali visszajelzést ad.
Gyakori kérdések
Miért zöld a PageSpeed pontszámom, ha a mezei adat piros?
A pontszám a labor mérésből jön, egy szimulált eszközön, üres cache-sel. A mezei adat valós felhasználók ezreitől származik, gyengébb telefonokkal és rosszabb hálózaton. A Google a rangsorolásnál a mezei adatot nézi. A zöld pontszám tehát jó jel, de nem bizonyíték.
Mennyi forgalom kell ahhoz, hogy legyen CrUX-adatom?
A Google nem közöl konkrét küszöböt. A tapasztalat az, hogy napi néhány száz látogatás alatt jellemzően nincs URL-szintű adat. Ilyenkor előbb az origin-szintű adat jelenik meg, később az egyes URL-eké. Kis oldalnál a hiány normális állapot.
Mennyi idő alatt látszik a javítás a CrUX-ban?
A CrUX 28 napos csúszóablakot használ. A változás fokozatosan szivárog be, teljes hatás nagyjából egy hónap után látszik. Ha gyorsabb visszajelzés kell, építs saját RUM-mérést a web-vitals könyvtárral. Az másnap már mutat eredményt.
Beleszámít a Safari és a Firefox forgalom?
Nem. A CrUX kizárólag Chrome-felhasználóktól gyűjt adatot, azoktól is csak azoktól, akik engedélyezték a statisztikák küldését. Ha a közönséged nagy része iPhone-on Safarit használ, a mezei adat nem teljes képet ad. Ilyenkor a saját RUM-mérés pontosabb.
Melyiket javítsam előbb, a labor vagy a mezei problémát?
A mezei adat mondja meg, hogy van-e egyáltalán baj. A labor mérés mondja meg, hogy mit csinálj. Kezdd a mezei adattal a prioritásnál, aztán a Lighthouse diagnosztikából dolgozz. A kettő együtt használható, külön-külön félrevezet.