Core Web Vitals: LCP, INP e CLS, con 25 soluzioni

Core Web Vitals: LCP, INP e CLS spiegati

Core Web Vitals spiegati: LCP, INP, CLS e 25 soluzioni con codice | We.Inc

Cosa misurano LCP, INP e CLS, le soglie buone e scarse, dati sul campo e dati di laboratorio, un misuratore dal vivo per questa pagina e 25 soluzioni con codice raggruppate per causa, più note per piattaforma.

I Core Web Vitals sono tre misurazioni delle visite reali: Largest Contentful Paint (caricamento, buono a 2.5 secondi o meno), Interaction to Next Paint (reattività, buono a 200 millisecondi o meno) e Cumulative Layout Shift (stabilità, buono a 0.1 o meno). Una pagina li supera quando almeno il 75% delle visite rispetta tutti e tre.

Valori buoni

Il misuratore qui sotto misura questa pagina nel tuo browser mentre la usi. Poi trova la metrica che non superi e segui le soluzioni dedicate; ognuna indica la causa che risolve e fornisce il codice.

Domande frequenti

Cosa ha sostituito First Input Delay?

Interaction to Next Paint ha sostituito First Input Delay come Core Web Vital a marzo 2024. INP considera tutte le interazioni di una pagina, non solo la prima, e include il tempo necessario a disegnare il risultato.

Perché il mio punteggio Lighthouse è buono ma i Core Web Vitals non vengono superati?

Lighthouse è un singolo test su un singolo dispositivo simulato. I Core Web Vitals usano i visitatori reali degli ultimi 28 giorni, su telefoni e reti più lenti, e includono INP, che Lighthouse non può misurare.

I Core Web Vitals influiscono sul posizionamento in Google?

Fanno parte dei segnali di esperienza sulla pagina di Google. Google descrive la pertinenza e la qualità dei contenuti come molto più importanti, quindi dei buoni vitals aiutano soprattutto quando le pagine sono per il resto simili.

Quanto ci vuole perché le correzioni si vedano?

I dati sul campo coprono i 28 giorni precedenti, quindi i miglioramenti compaiono gradualmente nell'arco di circa quattro settimane dalla pubblicazione.

In cosa si differenzia da un punteggio di velocità

Le tre metriche

Soglie (valutate sul 75° percentile delle visite reali)

Dati sul campo e dati di laboratorio

Dati sul campo e dati di laboratorio

Migliorare LCP (soluzioni da 1 a 9)

1. Scarica per prima l'immagine hero

fetchpriority="high" dice al browser che questa immagine è la più importante. Non usare mai il lazy loading sull'immagine LCP.

2. Precarica un'immagine LCP impostata nel CSS

Le immagini di sfondo vengono scoperte tardi, dopo il caricamento del CSS. Un preload nella head avvia subito il download.

3. Servi la dimensione giusta

srcset e sizes permettono a un telefono di scaricare un file piccolo invece di quello per desktop.

4. Usa un formato immagine moderno

AVIF e WebP di solito pesano molto meno di JPEG a parità di qualità. picture consente un fallback ai browser più vecchi.

5. Non nascondere il testo mentre si caricano i font

font-display: swap mostra subito il testo con il font di riserva, così un titolo che è l'elemento LCP non resta bloccato dal download di un font.

6. Connettiti in anticipo alla CDN delle immagini

preconnect esegue in anticipo DNS, TCP e handshake TLS per un'origine di terze parti che ti servirà.

7. Rimanda gli script che non servono per mostrare la pagina

Gli script nella head senza defer o async bloccano il rendering. defer mantiene l'ordine ma aspetta che l'HTML sia stato analizzato.

8. Invia vero HTML, non un guscio vuoto

Se l'elemento LCP viene creato da JavaScript, niente può essere disegnato finché il bundle non viene scaricato ed eseguito. Il rendering lato server o il prerendering lo inseriscono nella prima risposta. Consulta la nostra guida alla SEO per le single page app per le opzioni.

9. Metti in cache l'HTML sull'edge

Una risposta lenta del server ritarda tutto. Metti in cache le pagine statiche su una CDN e imposta un Cache-Control sensato.

Migliorare INP (soluzioni da 10 a 17)

10. Spezza i task lunghi

Un task oltre i 50 ms blocca l'input. Cedi il main thread tra un blocco e l'altro così un clic può essere gestito nel mezzo. scheduler.yield è più recente; il fallback con setTimeout funziona ovunque.

11. Prima mostra il riscontro, poi lavora

Aggiorna subito il pulsante, poi esegui il lavoro pesante dopo che il browser ha avuto modo di disegnare.

12. Applica il debounce al lavoro legato alla digitazione

Filtrare un elenco lungo a ogni pressione di tasto rallenta la digitazione. Aspetta una breve pausa.

13. Segna gli aggiornamenti lenti di React come transizioni

startTransition permette a React di mantenere reattivo l'input e di renderizzare il risultato costoso quando può.

14. Ritarda gli script di terze parti

I widget di chat e i tag manager spesso eseguono codice pesante al caricamento. Caricali quando la pagina è inattiva o alla prima interazione.

15. Mantieni il DOM piccolo

Le pagine enormi rendono più lento ogni aggiornamento di stile e layout. content-visibility salta il rendering delle sezioni fuori schermo finché non si avvicinano.

16. Non leggere il layout in un ciclo di scrittura

Leggere offsetHeight dopo ogni modifica di stile forza ogni volta un ricalcolo del layout. Leggi tutto prima, poi scrivi.

17. Sposta i calcoli pesanti in un Web Worker

Analizzare un file grande o ordinare migliaia di righe può avvenire in un worker senza bloccare i clic.

Migliorare CLS (soluzioni da 18 a 25)

18. Dai una dimensione a immagini e video

width e height permettono al browser di riservare lo spazio prima che arrivi il file. Il CSS può comunque renderli responsive.

19. Riserva spazio per i contenuti incorporati

Mappe, video e iframe spesso si caricano tardi. aspect-ratio tiene aperto il loro riquadro.

20. Riserva spazio per banner e annunci

I contenuti inseriti sopra ciò che le persone stanno leggendo lo spingono in basso. Dai in anticipo allo spazio un'altezza minima.

21. Allinea le dimensioni del font di riserva

Quando subentra il web font, il testo può andare a capo diversamente. size-adjust su un font di riserva locale rende le due larghezze più simili.

22. Anima con transform, non con top o height

Spostare gli elementi con transform non sposta gli altri elementi, quindi non conta come layout shift.

23. Sovrapponi i banner dei cookie invece di spingere i contenuti

Un banner fissato in fondo allo schermo non sposta la pagina; uno inserito in alto sì.

24. Usa skeleton della stessa dimensione dei contenuti

Un segnaposto di caricamento deve occupare lo stesso spazio di ciò che lo sostituisce.

25. Mantieni funzionante la back/forward cache

Le pagine ripristinate dalla back/forward cache compaiono all'istante senza nuovi spostamenti. Un gestore unload lo impedisce; usa invece pagehide.

Note per piattaforma

Note per piattaforma

Le immagini sono la causa più comune di un LCP lento; riducile con il

convertitore WebP

Misuratore dal vivo per questa pagina

Misura LCP, CLS e INP di questa pagina nel tuo browser, dove supportato.

Buono

Da migliorare

Scarso

Non supportato in questo browser

INP (il più lento finora)

In attesa del rendering più grande

Clicca o scrivi in un punto qualsiasi per misurare

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito