Novità di Lighthouse 10

Brendan Kenny
Brendan Kenny

Lighthouse è uno strumento di controllo dei siti web che aiuta gli sviluppatori a individuare opportunità e problemi di diagnostica per migliorare l'esperienza utente dei loro siti.

Lighthouse 10 è disponibile immediatamente sulla riga di comando tramite npm e in Chrome Canary. Verrà implementata nella versione stabile di Chrome 112 e in PageSpeed Insights nelle prossime settimane.

Modifiche al punteggio

La metrica Tempo all'interattività (TTI) verrà rimossa in Lighthouse 10, concludendo il processo di ritiro iniziato in Lighthouse 8. Il peso del punteggio del TTI del 10% viene spostato sulla metrica Cumulative Layout Shift (CLS), che ora costituirà il 25% del punteggio del rendimento complessivo.

Il TTI indica un punto nel tempo, ma il modo in cui è definito lo rende eccessivamente sensibile alle richieste di rete e alle attività lunghe con valori anomali. Largest Contentful Paint (LCP) e Speed Index sono in genere approcci più efficaci per valutare la percezione del caricamento dei contenuti di una pagina rispetto al conteggio delle richieste di rete attive. Il tempo di blocco totale (TBT), invece, gestisce in modo più affidabile le attività lunghe e la disponibilità del thread principale e, pur non essendo un proxy diretto, tende a correlarsi meglio con i Segnali web essenziali misurati sul campo.

L'aumento del peso del CLS è accidentale rispetto alla rimozione del TTI, ma riflette meglio la sua importanza come Core Web Vital e, idealmente, aumenterà l'attenzione per i siti che continuano a apportare modifiche non necessarie al layout.

Prevediamo che questo migliorerà i punteggi di rendimento della maggior parte delle pagine, poiché la maggior parte delle pagine tende a ottenere un punteggio migliore per CLS rispetto a TTI. In un'analisi di 13 milioni di caricamenti di pagine nell'ultima esecuzione di HTTP Archive, il 90% di queste pagine ha registrato un miglioramento del punteggio di rendimento di Lighthouse, con il 50% che ha registrato un miglioramento del rendimento di oltre 5 punti.

Un indicatore del punteggio Lighthouse, suddiviso per le metriche (FCP, SI, LCP, TBT e CLS) che compongono il punteggio totale

Se per qualche motivo hai ancora bisogno del valore TTI di Lighthouse (ad esempio in un'affermazione CI), è ancora disponibile invariato nell'output JSON di Lighthouse, solo con un peso del punteggio pari a 0 e nascosto nel report HTML. Qualsiasi accesso basato su script al valore JSON dovrebbe continuare a funzionare senza modifiche.

Nuovi controlli

Lighthouse 10 introduce un nuovo controllo del rendimento e una modifica significativa a un altro.

Cache back-forward

La cache back/forward (bfcache) è uno degli strumenti più efficaci disponibili per migliorare le prestazioni di una pagina per gli utenti reali. Oltre alla normale cache del browser, una pagina caricata dalla cache bf ripristina il layout e lo stato di esecuzione della pagina quasi istantaneamente, ignorando in gran parte tutte le attività di caricamento della pagina e mostrando la pagina immediatamente agli utenti quando navigano avanti e indietro nella cronologia.

Tuttavia, esistono diversi modi in cui una pagina può impedire al browser di ripristinare una pagina dalla bfcache. Questo nuovo controllo Lighthouse esce dalla pagina di test e vi ritorna per verificare se è possibile memorizzare nella cache bf e elenca i motivi in caso di errore.

Un risultato di esempio del controllo bfcache che elenca gli errori dovuti a una connessione IndexDB aperta e a gestori di svuotamento nella pagina

Per saperne di più, consulta la documentazione del controllo bfcache.

Input che impediscono l'inserimento

Il precedente controllo delle Best practice "Consente agli utenti di incollare contenuti nei campi delle password" è stato ampliato per verificare che l'utente possa incollare contenuti in qualsiasi campo di immissione (non di sola lettura). Per la maggior parte dei siti, impedire il copia e incolla è un'esperienza utente negativa e impedisce i flussi di lavoro di sicurezza e accessibilità legittimi.

Il nuovo controllo è ora "Consente agli utenti di incollare nei campi di immissione" (paste-preventing-inputs).

Utenti del nodo

Se utilizzi Lighthouse come libreria Node, in questa release potrebbero essere presenti alcune modifiche di interruzione programmatica da tenere in considerazione. Per informazioni dettagliate, consulta il log delle modifiche 10.0.

Lighthouse 10 include anche dichiarazioni di tipo TypeScript complete. Tutto ciò che è stato importato da lighthouse ora dovrebbe essere digitato, il che dovrebbe essere particolarmente utile se stai creando script per i flussi utente di Lighthouse.

Uno script Node che importa Lighthouse come funzione, a dimostrazione del fatto che l'oggetto options passato alla funzione ora viene sottoposto a controllo del tipo da TypeScript

Prova i tipi e facci sapere se riscontri problemi.

Eseguire Lighthouse

Lighthouse è disponibile in Chrome DevTools, npm (come modulo Node e strumento CLI) e come estensione del browser (in Chrome e Firefox). Inoltre, è alla base di diversi servizi Google, tra cui PageSpeed Insights.

Per provare l'interfaccia a riga di comando di Lighthouse Node, utilizza i seguenti comandi:

npm install -g lighthouse
lighthouse https://www.example.com --view

Contatta il team di Lighthouse

Per discutere delle nuove funzionalità, delle modifiche nella release di Lighthouse 10 o di qualsiasi altro argomento relativo a Lighthouse: