Mål med både lab- og field-data — de svarer på ulike spørsmål. Lighthouse er lab (syntetisk, reproduserbar, for feilsøking); RUM er field (reelle brukere, for sannhet). Hvis du bare stoler på én, optimaliserer du feil ting.
Mål med både lab- og field-data — de svarer på ulike spørsmål. Lighthouse er lab (syntetisk, reproduserbar, for feilsøking); RUM er field (reelle brukere, for sannhet). Hvis du bare stoler på én, optimaliserer du feil ting.
| Lab (Lighthouse) | Field / RUM |
|---|
| Kilde | Én syntetisk kjøring, fast enhet/nettverk | Reelle besøk, alle enheter/nettverk |
| Bra for | Feilsøking, CI-regresjonsporter, repeterbart | Hva brukere faktisk opplever |
| INP | Kan ikke måle (ingen reelle interaksjoner) | Målt gjennom hele besøket |
| Svakhet | Reflekterer ikke din reelle trafikk | Støyete, trenger volum, vanskeligere å feilsøke |
Lighthouse kjører én enkelt strupet lasting på en ren maskin — flott for å reprodusere et problem, ubrukelig for å kjenne din p75. INP spesielt kan bare fanges i field, fordi det trenger reelle interaksjoner over en økt.
import { onLCP, onCLS, onINP } from "web-vitals";
function send(metric) {
// Attribution-build forteller deg HVILKET element/interaksjon som forårsaket det
navigator.sendBeacon("/rum", JSON.stringify({
name: metric.name, value: metric.value, id: metric.id,
}));
}
onLCP(send); onCLS(send); onINP(send); // rapporter hver metrikk når den ferdigstilles
Dette er samme metodikk som Googles CrUX (Chrome User Experience Report), som driver søkerangering — CrUX er reell-bruker-p75, ikke lab.
Senior-signalet er å vite at lab ≠ field, at rangering bruker field-p75, og at INP kun er reell i field. Å optimalisere en Lighthouse-score mens reell p75 forblir dårlig er en klassisk felle dette spørsmålet er designet for å avsløre.
Et bibliotek av IT-intervjuspørsmål med detaljerte svar — fra Junior til Senior.
Doner