Prestazioni web
Core Web Vitals, cache, CDN, immagini e font moderni, JavaScript leggero e misure reali.
Animazioni fluide sul web: compositor, will-change e reflow forzati
Quali proprietà CSS animare senza scatti, come evitare il layout thrashing alternando letture e scritture del DOM e come verificare con DevTools.
Back/forward cache: pagine istantanee con i tasti Indietro e Avanti
Come funziona la bfcache del browser, quali abitudini di codice la bloccano e come verificare che le pagine del sito vengano ripristinate all'istante.
Budget di prestazioni: fermare le regressioni prima di pubblicare
Come definire limiti di peso e di tempo per un sito, verificarli automaticamente a ogni modifica con Lighthouse CI e gestire la variabilità delle misure.
CLS: eliminare gli spostamenti di layout una causa alla volta
Le cause più comuni del Cumulative Layout Shift, da immagini senza dimensioni a banner e font, con le correzioni CSS e HTML che rendono la pagina stabile.
Code splitting e tree shaking: ridurre il bundle JavaScript
Come dividere il JavaScript in pezzi caricati quando servono, eliminare il codice morto dalle dipendenze e scoprire cosa gonfia davvero il bundle.
Compressione Brotli e gzip: livelli, precompressione e verifiche
Come funziona la compressione delle risposte HTTP, quando scegliere Brotli o gzip, quali livelli usare per file statici e dinamici e come verificarla.
CSS inutilizzato e CSS critico: alleggerire i fogli di stile
Come scoprire quanto CSS la pagina non usa, eliminarlo in sicurezza, estrarre gli stili critici e caricare il resto senza bloccare il primo rendering.
Dati di laboratorio e dati reali: perché i punteggi non coincidono
Lighthouse e dati sul campo misurano cose diverse: come leggere entrambi, perché divergono e quale dei due usare per decidere dove intervenire sul sito.
DOM troppo grande e content-visibility: pagine lunghe più leggere
Perché un DOM con troppi nodi rallenta stili, layout e interazioni, e come content-visibility, contain e la virtualizzazione degli elenchi riducono il lavoro.
103 Early Hints: sfruttare l'attesa del server per caricare prima
Come funziona la risposta HTTP 103 Early Hints, quali risorse indicare con preconnect e preload, i limiti di supporto e come verificare che funzioni.
Facciate per gli embed: video, mappe e chat senza rallentare
Come sostituire iframe pesanti di video, mappe e widget con un'anteprima leggera che carica il componente vero solo quando l'utente lo richiede.
HTTP/2 e HTTP/3: cosa cambia davvero per la velocità del sito
Multiplexing, compressione delle intestazioni e QUIC spiegati in pratica: quali vecchie ottimizzazioni abbandonare e cosa conta ancora con HTTP/2 e HTTP/3.
Idratazione e architettura a isole: meno JavaScript per pagine veloci
Perché le pagine generate dal server ma idratate per intero restano lente, e come idratazione parziale, isole e componenti server riducono il lavoro.
INP: ridurre la latenza delle interazioni sul main thread
Cosa misura l'Interaction to Next Paint, perché clic e tocchi sembrano lenti e come spezzare i task lunghi di JavaScript per ridare il controllo all'utente.
Leggere il waterfall di rete: cosa rivela ogni barra colorata
Guida pratica al grafico a cascata delle richieste in DevTools: fasi di connessione, catene di dipendenze, priorità e gli schemi che segnalano un problema.
Ottimizzare l'LCP: scomporre il tempo nelle sue quattro fasi
Come diagnosticare un LCP lento dividendolo in TTFB, ritardo di caricamento, durata del download e ritardo di rendering, con interventi mirati per ognuna.
Perdite di memoria nel browser: trovarle con gli heap snapshot
Come riconoscere una perdita di memoria in una pagina web, le cause più comuni come listener e nodi staccati, e come individuarle con il pannello Memory.
Preload, preconnect e fetchpriority: suggerire le priorità
Quando usare preload, preconnect, dns-prefetch e fetchpriority per aiutare il browser a scaricare prima ciò che conta, ed evitare gli abusi che rallentano.
Il pannello Performance di DevTools: leggere un profilo passo passo
Come registrare un profilo in Chrome DevTools, leggere tracce, flame chart e task lunghi, e passare da un rallentamento alla riga di codice responsabile.
Ridurre il TTFB: dove si perde il tempo prima del primo byte
Il Time to First Byte scomposto in redirect, DNS, connessione ed elaborazione sul server, con le cause tipiche di lentezza e gli interventi più efficaci.
RUM fatto in casa: PerformanceObserver e la libreria web-vitals
Come raccogliere LCP, INP e CLS dagli utenti reali con PerformanceObserver e web-vitals, inviarli in modo affidabile e analizzarli per percentili.
Script di terze parti: misurarne il costo e tenerli sotto controllo
Tag manager, widget, pixel e chat rallentano il sito più del codice proprio: come misurare il loro impatto, decidere cosa tenere e caricarli in modo sicuro.
Service worker e strategie di cache: velocità e funzionamento offline
Cache first, network first e stale-while-revalidate spiegate con esempi, più il ciclo di vita del service worker e gli errori che bloccano gli aggiornamenti.
Speculation Rules: prerender e prefetch per navigazioni istantanee
Come usare le Speculation Rules per precaricare o prerenderizzare le pagine successive, scegliere il livello di anticipo ed evitare effetti collaterali.
Web worker: spostare i calcoli pesanti fuori dal main thread
Quando conviene usare un web worker, come comunicare con postMessage e oggetti trasferibili, e quali lavori spostare per mantenere la pagina reattiva.