# Misurare l'LCP: laboratorio contro campo

Il LCP di campo dice se la pagina passa, quello di laboratorio dice perché. Qui il campo segna 1.724 ms di p75 e due run di lab differiscono del 42%.

> Pagina: https://ui.eneawork.it/blog/misurare-lcp-lab-vs-field
> Markdown: https://ui.eneawork.it/blog/misurare-lcp-lab-vs-field.md

*2026-11-01*

Il LCP di campo dice se la pagina passa per gli utenti reali; il LCP di laboratorio dice perché, ma due run di fila possono differire del 42%. Qui il campo segna 1.724 ms di p75, il laboratorio 3,5 s e 5,0 s sulla stessa URL.

Il beacon in client/src/rum.ts ha registrato 229 letture LCP tra il 25 ottobre e il 1 novembre 2026: p75 1.724 ms, con 33 letture sopra i 2,5 s e 22 sopra i 4 s. La route /blog ha p75 4.288 ms su 10 letture. I numeri si rileggono da GET /api/rum/summary. Due run di Lighthouse 13.6.0 sulla stessa URL, https://ai.eneawork.it/, a cinque minuti di distanza il 28 ottobre 2026, hanno misurato 3,5 s e 5,0 s di LCP, con TBT 1.090 ms e 1.980 ms. Il catalogo EneUI misura 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie, letti da /api/stats il 1 novembre 2026. Definizione e soglie: web.dev, licenza CC BY 4.0.

## Stessa metrica, due domande

## I due comandi

curl -sS "https://ui.eneawork.it/api/rum/summary?days=7" -H "x-admin-token: $ADMIN_TOKEN" npx lighthouse https://ui.eneawork.it --only-categories=performance --output=json --output-path=./lcp.json

Il primo comando restituisce il p75 per metrica e per device sulle ultime visite; il secondo produce un report con LCP, CLS e TBT di una singola esecuzione. Servono entrambi: uno dice se il problema esiste, l'altro dove nasce.

## Perché due run non coincidono

Lighthouse simula una CPU più lenta e una rete diversa a ogni esecuzione, e la cache parte vuota solo se la azzeri. Script di terze parti, font e immagini hero arrivano con tempi diversi: da qui i 1.475 ms di scarto tra due run a cinque minuti di distanza.

## Come leggere il divario

## La limitazione

229 letture non sono un campione: il p75 non è segmentato per connessione e 10 letture su una route si spostano con una sola visita lenta. Il beacon conta solo le visite che eseguono JavaScript, quindi chi blocca gli script non entra nel dato.

## Dove continuare

Nel catalogo EneUI: 111.985 componenti, 1.556 blocchi e il record image auto slider, un carosello che può diventare l'elemento LCP. Le guide: cosa peggiora l'LCP e cosa sono i Core Web Vitals; le soglie in Lighthouse CI spiegano come fissare il budget in una pipeline.

## FAQ

### Quale dato devo guardare per primo?

Il campo, perché è quello che Google usa per la soglia. Se il p75 di campo è sotto i 2,5 s la pagina passa, qualunque cosa dica una singola run di laboratorio.

### Perché il laboratorio misura un LCP più alto del campo?

Perché Lighthouse simula una CPU lenta e una rete mobile anche quando gli utenti reali navigano in fibra. Il laboratorio risponde a una domanda diversa: quanto costa la pagina in condizioni dichiarate.

### Quante letture servono per un p75 affidabile?

Non c'è un numero fisso, ma sotto le cento letture il p75 si muove con poche visite. Qui 10 letture su una route bastano a produrre un valore che cambia ogni giorno.

### Il beacon RUM sostituisce il Chrome UX Report?

No. Il CrUX aggrega tutti gli utenti Chrome che hanno attivato la telemetria; il beacon vede solo chi visita il sito con JavaScript attivo. I due numeri possono divergere.

### Come fisso una soglia in CI?

Usa Lighthouse CI con un budget sull'LCP simulato e confronta la mediana di tre run, non una sola. Il campo resta il giudice finale.
