Cos'è il Cumulative Layout Shift (CLS) e come risolverlo

La guida definitiva per trovare, misurare e risolvere il Cumulative Layout Shift del tuo sito

Arjen Karel Core Web Vitals Consultant
Arjen Karel - linkedin
Last update: 2026-03-27

Cumulative Layout Shift (CLS) in breve

Il Cumulative Layout Shift (CLS) è un Core Web Vital che misura la stabilità visiva di una pagina web. Quantifica la quantità di contenuti visibili che si spostano in modo imprevisto durante il ciclo di vita della pagina, utilizzando la formula: frazione di impatto moltiplicata per la frazione di distanza. Un buon punteggio CLS è inferiore a 0.1, mentre i punteggi superiori a 0.25 sono considerati scadenti. Almeno il 75% delle visite alla pagina deve ottenere un punteggio "buono" per superare il test.

Il Cumulative Layout Shift (CLS) è una metrica incentrata sull'utente che misura la stabilità visiva di una pagina web. Tiene traccia della frequenza e della misura in cui i contenuti di una pagina si spostano durante il caricamento. Gli spostamenti di layout possono essere frustranti per gli utenti, in quanto possono causare clic accidentali, formattazione della pagina interrotta e un'esperienza UX generalmente confusa.

Dal 2020 il Cumulative Layout Shift (CLS) è una delle tre metriche dei Core Web Vitals. Il CLS rappresenta la parte di stabilità visiva dei Core Web Vitals e determina quanto sia stabile il contenuto principale della pagina web durante il suo intero ciclo di vita.

In parole povere: un buon punteggio CLS garantirà un'esperienza visivamente stabile!

Come Risolvere il Cumulative Layout Shift (CLS)

Cos'è il Cumulative Layout Shift (CLS)?

Il Cumulative Layout Shift (CLS) rappresenta la parte di "stabilità visiva" dei Core Web Vitals. Il Cumulative Layout Shift (CLS) misura i movimenti della pagina man mano che i contenuti vengono renderizzati o che nuovi contenuti vengono mostrati sulla pagina. Calcola un punteggio basato su quanta parte della pagina si sposta in modo imprevisto e di quanto si sposta. Questi spostamenti di contenuto sono molto fastidiosi, ti fanno perdere il segno in un articolo che hai iniziato a leggere o, peggio ancora, ti fanno cliccare sul pulsante sbagliato!

Cos'è un buon punteggio di Cumulative Layout Shift (CLS)?

Un buon punteggio CLS è compreso tra 0 e 0.1. Se il tuo punteggio CLS è compreso tra 0.1 e 0.25 ha bisogno di miglioramenti. Qualsiasi punteggio CLS superiore a 0.25 è considerato scadente. Per superare i Core Web Vitals per il Cumulative Layout Shift, almeno il 75% dei tuoi visitatori deve avere un punteggio CLS "buono".

L'importanza del CLS nelle performance web e nella user experience

Il Cumulative Layout Shift (CLS) è collegato sia alle performance web che alla user experience perché influisce direttamente su quanto una pagina web risulti stabile e prevedibile durante il caricamento. Ecco perché è importante:

  • UX, coinvolgimento e percezione del brand: Gli spostamenti di layout imprevisti interrompono il flusso dell'utente, rendendo più difficile trovare informazioni, cliccare sui pulsanti e interagire con la pagina come previsto. Questa frustrazione può portare a esperienze scadenti in cui gli utenti abbandonano del tutto il sito web. La user experience di un sito web si riflette sul brand che lo gestisce. Frequenti spostamenti di layout possono dare l'impressione di un sito web mal progettato o mal mantenuto, interrompere il coinvolgimento dell'utente e portare a una diminuzione delle interazioni e a tassi di rimbalzo potenzialmente più elevati.
  • Accessibilità: Gli spostamenti di layout possono essere particolarmente di disturbo per gli utenti con disabilità che si affidano a tecnologie assistive o screen reader. Un layout stabile garantisce a tutti di navigare e interagire con il sito web in modo efficace.
  • SEO e Ranking di Ricerca: I Core Web Vitals sono un fattore di ranking piccolo ma significativo in Google. Google, insieme ad altri motori di ricerca, dà la priorità ai siti web che offrono una buona user experience. Il CLS è una delle metriche dei Core Web Vitals che Google considera quando posiziona i siti web. L'ottimizzazione per il CLS può dare al tuo sito web un vantaggio competitivo nei risultati di ricerca.

Come viene misurato il CLS?

Il CLS di una pagina può essere misurato con la Layout Instability API. Il seguente è un semplice utilizzo di questa API:

new PerformanceObserver((entryList) => {
  for (const entry of entryList.getEntries()) {
    console.log('Layout shift:', entry);
  }
}).observe({type: 'layout-shift', buffered: true});

Calcolo del CLS

Il CLS viene calcolato utilizzando una formula semplice ma elegante:

CLS = sum(impact-fraction * distance-fraction)

La frazione di impatto (impact-fraction) misura quanta parte del contenuto visibile della pagina si è spostata. La frazione di distanza (distance-fraction) misura di quanto il contenuto si è spostato. Se, per esempio, il 50% della pagina (quanta parte) si è spostato del 25% (di quanto) del viewport della pagina, il punteggio CLS = 0.50 * 0.25 = 0.125.

Spostamenti di layout previsti vs. imprevisti

Non tutti gli spostamenti di layout sono negativi, solo quelli che non ti aspetti. Quando clicchi su un link "carica altri elementi", ad esempio, ti aspetteresti che appaiano più elementi sulla pagina e che il contenuto della pagina si sposti.

Ecco perché solo gli spostamenti di layout imprevisti causeranno un contributo al CLS. Ad esempio, se un utente clicca su un pulsante e in risposta vengono aggiunti nuovi contenuti alla pagina (ad esempio un menu a tendina), lo spostamento di layout verrà escluso dal CLS. Per la precisione: gli spostamenti di layout che si verificano entro 500 millisecondi dall'input dell'utente verranno esclusi dai calcoli.

Sessioni di layout shift

Quando il CLS è stato introdotto per la prima volta, alcuni siti venivano ingiustamente puniti con un punteggio CLS negativo. Ad esempio, una pagina che implementa lo scorrimento infinito (infinite scrolling) avrebbe visto l'impatto dei nuovi contenuti aggiunti sommato al punteggio CLS totale per ogni nuovo scorrimento. Ecco perché il CLS ora viene calcolato in sessioni. Ogni sessione ha una durata massima di 5 secondi e un intervallo di 1 secondo tra gli spostamenti di layout. La sessione con il punteggio CLS più alto diventerà il punteggio CLS finale.

Se, ad esempio, durante la prima sessione il punteggio CLS è 0.095, poi nella sessione successiva il CLS è 0.15, e per l'ultima sessione il punteggio CLS è 0, il punteggio CLS finale sarà il più alto dei tre: 0.15.

Il CLS e i Core Web Vitals

Il Cumulative Layout Shift (CLS) è un'importante metrica incentrata sull'utente per misurare la stabilità visiva. Il Cumulative Layout Shift (CLS) fa parte dei Core Web Vitals insieme al Largest Contentful Paint (LCP) e all'Interaction to Next Paint (INP). Insieme, queste tre metriche misurano le performance di caricamento, l'interattività e la stabilità visiva.

Cause comuni del CLS

L'origine di tutti gli spostamenti di layout è fondamentalmente la stessa. Ad un certo punto un elemento che era posizionato sopra un altro elemento ha occupato più o meno spazio rispetto a prima. Questo è tipicamente dovuto a una o più di queste cause:

Immagini, video e iframe senza dimensioni

I media non dimensionati sono la causa numero uno di CLS sul web. Secondo il Web Almanac 2025, il 62% delle pagine mobile ha almeno un'immagine senza dimensioni esplicite. Per la guida completa che copre immagini non dimensionate, video, iframe, la trappola CSS width: auto, l'art direction, le discrepanze delle immagini responsive, il lazy loading e le immagini placeholder, consulta Come Immagini e Media Causano Spostamenti di Layout.

Scambio di web font (Web font swaps)

I web font vengono scaricati da internet mentre la pagina viene renderizzata con un font di fallback. Quando arriva il web font, la differenza di dimensioni tra il font di fallback e quello finale causa uno spostamento di layout. Solo l'11% delle pagine precarica (preload) i web font, il che significa che la stragrande maggioranza del web è vulnerabile al CLS causato dallo scambio di font.

La soluzione prevede due tecniche: fare in modo che il font di fallback corrisponda al web font utilizzando le metric overrides di @font-face (size-adjust, ascent-override) e accelerare la distribuzione dei font tramite il self-hosting e il precaricamento (preload) dei font critici. Consulta la guida fix-and-identify per esempi di codice.

Animazioni e transizioni CSS

Le animazioni CSS che utilizzano proprietà che attivano il layout (layout-triggering) come top, left, width e height costringono il browser a ricalcolare il layout a ogni frame, producendo CLS. Secondo il Web Almanac, il 39% delle pagine mobile presenta animazioni non composite che contribuiscono al CLS. La soluzione è utilizzare invece transform e opacity, che vengono eseguiti sul compositore della GPU e non attivano mai il layout. Per la procedura completa, consulta spostamento di layout causato dalle transizioni CSS.

Annunci, embed e contenuti iniettati dinamicamente

Gli annunci caricano tardi e spingono i contenuti verso il basso. I banner di consenso sui cookie appaiono e spostano la pagina. Le richieste AJAX iniettano nuovi contenuti senza riservare spazio. Questi sono tutti lo stesso problema: qualcosa appare sulla pagina di cui il browser non era a conoscenza al momento del rendering. La soluzione è sempre riservare spazio con min-height e isolare il container con contain: layout style. Per gli embed di terze parti come YouTube e Google Maps, il pattern facade elimina del tutto il CLS.

Spostamenti di layout attivati dallo scroll

Questa è la causa di CLS che Lighthouse non rileverà mai. Gli header che si nascondono allo scroll, gli effetti di parallasse e le barre di navigazione che si rimpiccioliscono spesso animano top o height, e lo scroll non è un input escludente nelle specifiche della Layout Instability. Ogni spostamento di layout attivato dallo scroll conta ai fini del tuo punteggio CLS. La soluzione: usa transform: translateY() per qualsiasi animazione attivata dallo scroll. Consulta come le animazioni attivate dallo scroll causano CLS per la procedura completa.

Trovare e risolvere i problemi di CLS

La diagnosi del CLS segue la stessa metodologia "field-data-first" degli altri Core Web Vitals. Inizia con Google Search Console o uno strumento RUM come CoreDash per confermare quali pagine sono interessate e quali elementi si stanno spostando. Successivamente, utilizza Chrome DevTools o l'estensione Core Web Vitals Visualizer per riprodurre il problema localmente e identificare la causa principale.

Per il processo diagnostico completo passo dopo passo, le istruzioni per gli strumenti, le correzioni del codice per ogni causa e una checklist per soluzioni rapide, consulta la nostra guida dedicata: Trova e Risolvi i Problemi di Cumulative Layout Shift (CLS).

Caso di studio: Rakuten 24 e l'impatto sul business del CLS

Rakuten 24, un'importante piattaforma di e-commerce giapponese, ha condotto uno studio dettagliato sull'impatto del Cumulative Layout Shift sulle proprie metriche di business. Riducendo il CLS sulle pagine dei prodotti e delle categorie, Rakuten 24 ha ottenuto risultati notevoli:

  • Aumento del 53.37% delle entrate per visitatore per gli utenti che hanno riscontrato un CLS basso rispetto a quelli con un CLS alto.
  • Aumento del 33.13% del tasso di conversione (conversion rate) per la stessa coorte con CLS migliorato.
  • Diminuzione del 15.20% del tasso di rimbalzo (bounce rate) tra i visitatori con esperienze di pagina stabili.

Questi numeri dimostrano che il CLS non è solo una metrica tecnica. L'instabilità visiva costa direttamente in termini di entrate alle aziende frustrando gli utenti durante il loro percorso di navigazione e acquisto. Quando gli elementi si spostano in modo imprevisto, gli utenti perdono fiducia, cliccano in modo errato e abbandonano le loro sessioni. Lo studio su Rakuten 24 conferma che investire nell'ottimizzazione del CLS ha un ritorno sull'investimento misurabile, in particolare per i siti di e-commerce in cui ogni interazione è fondamentale.

Cosa mostrano i dati del mondo reale sul CLS

I dati di CoreDash mostrano che il CLS è il Core Web Vital con le performance migliori, con il 92.8% dei caricamenti di pagina su corewebvitals.io che ottiene un punteggio "buono" e praticamente nessun divario di dispositivo tra mobile e desktop. Sia il desktop (92.8% buono) che il mobile (92.7% buono) ottengono punteggi CLS quasi perfetti, con un p75 di 0 su entrambi i tipi di dispositivo.

Questo è in contrasto con metriche come LCP e INP, in cui le performance mobile sono significativamente peggiori rispetto al desktop. Il CLS è in modo del tutto eccezionale migliore su mobile che su desktop su tutto il web, il che è l'opposto di ogni altro Core Web Vital.

A livello globale, secondo il Web Almanac 2025, il quadro è meno ottimistico:

  • Il 72% dei siti web ottiene buoni punteggi CLS complessivamente, mentre l'11% ha un CLS scadente.
  • Il 62% delle pagine mobile ha almeno un'immagine non dimensionata (in calo rispetto al 66% nel 2024, ma ancora un importante contributore al CLS).
  • Il 39% delle pagine mobile presenta animazioni non composite che contribuiscono al CLS.
  • Solo l'11% delle pagine precarica i web font, il che significa che la stragrande maggioranza dei siti è vulnerabile agli spostamenti di layout causati dallo scambio di font.

Il CLS ha mostrato un costante miglioramento anno su anno a livello globale, ma i dati rivelano che le immagini non dimensionate e le animazioni non composite rimangono le due cause più comuni. Affrontare questi due problemi da soli eliminerebbe gli spostamenti di layout per gran parte del web.

Guide correlate

Questa pagina hub copre il Cumulative Layout Shift ad alto livello. Per una guida pratica e dettagliata su come trovare e risolvere i problemi di CLS, esplora queste guide dedicate:

Per una panoramica completa di tutte le metriche dei Core Web Vitals e delle strategie di ottimizzazione, visita la panoramica dei Core Web Vitals o utilizza la Ultimate Core Web Vitals Checklist per analizzare il tuo sito.

About the author

Arjen Karel is a web performance consultant and the creator of CoreDash, a Real User Monitoring platform that tracks Core Web Vitals data across hundreds of sites. He also built the Core Web Vitals Visualizer Chrome extension. He has helped clients achieve passing Core Web Vitals scores on over 925,000 mobile URLs.

CoreDash has MCP built in.

Connect it to Claude or any AI agent. Ask it why your INP spiked last Tuesday.

See how it works

Le tue Domande sul CLS con Risposta

Comprendere il CLS

Cos'è un buon punteggio CLS?

Un buon punteggio CLS è pari o inferiore a 0.1. I punteggi tra 0.1 e 0.25 necessitano di miglioramenti, e i punteggi superiori a 0.25 sono considerati scadenti. Per superare la valutazione dei Core Web Vitals, almeno il 75% delle visite alla tua pagina deve avere un punteggio CLS di 0.1 o migliore. A differenza delle metriche basate sul tempo come l'LCP o l'INP, il CLS è un punteggio adimensionale calcolato a partire dalla frazione di impatto e dalla frazione di distanza degli spostamenti di layout.

Come viene calcolato il CLS?

Il CLS viene calcolato utilizzando la formula: frazione di impatto moltiplicata per la frazione di distanza. La frazione di impatto è la percentuale del viewport che è stata interessata dallo spostamento. La frazione di distanza indica di quanto si sono spostati gli elementi, come percentuale del viewport. Ad esempio, se il 50% del viewport si è spostato e il contenuto si è mosso del 25% dell'altezza del viewport, il punteggio CLS per quello spostamento sarebbe 0.50 * 0.25 = 0.125. Il browser raggruppa gli spostamenti in "finestre di sessione" (session windows, massimo 5 secondi, con un intervallo di 1 secondo tra gli spostamenti) e la finestra di sessione più ampia diventa il punteggio CLS finale.

Cause e Soluzioni

Cosa causa il Cumulative Layout Shift?

Le cause più comuni di CLS sono immagini e iframe senza attributi di larghezza e altezza espliciti, web font che vengono scambiati con dimensioni diverse, contenuti iniettati dinamicamente (annunci, banner sui cookie, barre promozionali), animazioni CSS che utilizzano proprietà che attivano il layout (top, left, width, height invece di transform) e script di terze parti a caricamento ritardato. Secondo i dati globali, il 62% delle pagine mobile ha immagini non dimensionate e il 40% ha animazioni non composite, rendendoli i due principali contributori al CLS.

Gli spostamenti di layout avviati dall'utente contano ai fini del CLS?

No, gli spostamenti di layout che si verificano entro 500 millisecondi da un'interazione dell'utente (clic, tocco o pressione di un tasto) sono esclusi dal punteggio CLS. Il browser contrassegna questi spostamenti con un flag "hadRecentInput" e non li include nel calcolo. Tuttavia, se la risposta a un'interazione dell'utente richiede più di 500 millisecondi, qualsiasi spostamento di layout che si verifichi dopo quella finestra di 500 ms verrà conteggiato ai fini del CLS. Questo è il motivo per cui è importante assicurarsi che tutte le risposte interattive vengano completate rapidamente.

CLS e SEO

Il CLS influisce sui posizionamenti SEO?

Sì, il CLS è uno dei tre Core Web Vitals che Google utilizza come segnale di ranking. Sebbene Google abbia affermato che i Core Web Vitals sono un fattore di ranking relativamente piccolo rispetto alla pertinenza dei contenuti, possono essere l'elemento decisivo tra pagine con qualità dei contenuti simile. Ancora più importante, un CLS scadente influisce direttamente sul comportamento degli utenti: il caso di studio di Rakuten 24 ha mostrato una differenza del 53.37% nelle entrate per visitatore tra gli utenti che hanno riscontrato un CLS basso rispetto a un CLS alto. Migliorare il CLS avvantaggia sia i tuoi posizionamenti di ricerca che i tuoi tassi di conversione.

Cos'è il Cumulative Layout Shift (CLS) e come risolverloCore Web Vitals Cos'è il Cumulative Layout Shift (CLS) e come risolverlo