CLS da 0,4 a 0,06 nel flusso di prenotazione di una vacanza
I layout shift erano nel flusso di prenotazione, e la maggior parte avveniva dopo il primo caricamento della pagina.
Una single page application con un flusso di prenotazione che saltava
Prijsvrij è un sito di viaggi olandese: cerca, confronta e prenota una vacanza. L'intero sito è una single page application, e lo stesso team gestisce Prijsvrij.be e D-reizen.
Ho passato due giornate da quattro ore in sede. Il primo giorno ho fatto l'audit del sito. Il secondo giorno ho esaminato i risultati con il team e spiegato, passo dopo passo, come risolvere prima i problemi più urgenti.

La prima schermata, il flusso di prenotazione e i clic
La maggior parte dei layout shift avveniva durante le soft navigation: l'app aggiorna i contenuti senza caricare una nuova pagina. Un test Lighthouse sulla homepage non li vede mai. I visitatori reali che cliccano durante la prenotazione invece sì, e CrUX assegna quegli shift all'URL che hanno aperto per primo.

Ho consegnato l'audit a fine marzo 2026 e l'ho esaminato con i loro sviluppatori a Den Bosch il 15 aprile, e online una settimana dopo. Il CLS era la parte difficile, con più cause del solito per un setup di questo tipo. I loro sviluppatori lo hanno sistemato su tutti e tre i siti e a maggio il CLS su desktop è diventato verde su ciascuno di essi.
Una mattina di giugno il loro front-end lead mi ha scritto. Aveva passato le ultime settimane a fare modifiche su prijsvrij.nl partendo dai dati di CoreDash tramite la connessione con Claude Code, e i grafici stavano andando nella direzione giusta. Si poteva aggiungere anche D-reizen? Nel giro di un'ora sia D-reizen sia Prijsvrij.be erano su CoreDash.
Ora tocca all'INP. Quando l'ho esaminato a fine giugno ho riconosciuto il pattern: l'ho visto molte volte. Si risolve con un piano passo dopo passo collaudato, purché ogni singolo passaggio sia fatto esattamente nel modo giusto. Questo sistema la parte più grossa. Solo dopo emergono i problemi sottostanti, che sono sempre minori. Ho quindi suggerito un approccio più pratico: interventi piccoli e mirati, meno teoria e più azione. A luglio ci siamo incontrati nel loro ufficio, pranzo incluso, e continuiamo a vederci ogni trimestre.
Il LCP su mobile sale durante le vacanze, quando gran parte del traffico arriva da persone che sono in vacanza. Rimane comunque ben sotto i 2,5 secondi e sta già tornando a scendere.
Un'animazione di caricamento sposta solo il layout shift
L'animazione dava l'impressione di mascherare l'attesa. Lo shift arrivava nel momento in cui lasciava il posto ai dettagli del volo.
Il tracking dentro il clic pesa su ogni clic
Un tag nel click handler viene eseguito prima che lo schermo possa aggiornarsi. Spostato dopo l'aggiornamento, il visitatore vede prima il risultato e il tag gira comunque.
Una single page application continua a cambiare
Ogni release aggiunge componenti e tag che l'ultimo controllo non aveva mai visto. Ecco perché torno ogni trimestre.
Layout shift in una single page application che Lighthouse non vede mai?
Inviami l'URL del flusso di prenotazione o checkout: lo navigherò cliccando come fa un visitatore, soft navigation incluse.
Oppure scopri la consulenza. Altri risultati nella pagina dei clienti.