Elimina le risorse che bloccano il rendering

La sezione Opportunità del report Lighthouse elenca tutti gli URL che bloccano la prima visualizzazione della pagina. L'obiettivo è ridurre l'impatto di questi URL di blocco del rendering incorporando le risorse critiche, posticipando quelle non critiche e rimuovendo tutto ciò che non viene utilizzato.

Screenshot del controllo Lighthouse Elimina le risorse di blocco della visualizzazione

Quali URL vengono contrassegnati come risorse che bloccano il rendering?

Lighthouse segnala due tipi di URL di blocco del rendering: script e fogli di stile.

Un tag <script> che:

  • Si trova nella <head> del documento.
  • Non ha un attributo defer.
  • Non ha un attributo async.

Un tag <link rel="stylesheet"> che:

  • Non ha un attributo disabled. Quando questo attributo è presente, il browser non scarica il foglio di stile.
  • Non ha un attributo media che corrisponda specificamente al dispositivo dell'utente. media="all" è considerato un elemento di blocco del rendering.

Come identificare le risorse critiche

Il primo passo per ridurre l'impatto delle risorse di blocco del rendering è identificare ciò che è critico e ciò che non lo è. Utilizza la scheda Copertura in Chrome DevTools per identificare CSS e JS non fondamentali. Quando carichi o esegui una pagina, la scheda indica la quantità di codice utilizzata rispetto a quella caricata:

Chrome DevTools: scheda Copertura
Chrome DevTools: scheda Copertura.

Puoi ridurre le dimensioni delle pagine inviando solo il codice e gli stili di cui hai bisogno. Fai clic su un URL per esaminare il file nel riquadro Risorse. Gli stili nei file CSS e il codice nei file JavaScript sono contrassegnati in due colori:

  • Verde (critico): stili necessari per il primo rendering; codice fondamentale per la funzionalità di base della pagina.
  • Rosso (non critico): stili che si applicano a contenuti non immediatamente visibili; codice non utilizzato nelle funzionalità principali della pagina.

Come eliminare gli script di blocco del rendering

Una volta identificato il codice critico, sposta questo codice dall'URL di blocco del rendering a un tag script incorporato nella pagina HTML. Quando la pagina viene caricata, avrà tutto il necessario per gestire le funzionalità principali.

Se in un URL di blocco del rendering è presente codice non critico, puoi mantenerlo nell'URL e poi contrassegnare l'URL con gli attributi async o defer (vedi anche Aggiungere interattività con JavaScript).

Il codice che non viene utilizzato deve essere rimosso (vedi Rimuovi il codice inutilizzato).

Come eliminare i fogli di stile che bloccano il rendering

In modo simile all'incorporamento del codice in un tag <script>, incorpora gli stili critici necessari per il primo rendering all'interno di un blocco <style> all'head della pagina HTML. Poi carica in modo asincrono il resto degli stili utilizzando il link preload (vedi Differire il CSS inutilizzato).

Valuta la possibilità di automatizzare il processo di estrazione e incorporamento del CSS "Above the Fold" utilizzando lo strumento Critical.

Un altro approccio per eliminare gli stili di blocco del rendering è dividere questi stili in file diversi, organizzati in base alla query supporti. Poi aggiungi un attributo media a ogni link del foglio di stile. Durante il caricamento di una pagina, il browser blocca solo la prima visualizzazione per recuperare i fogli di stile che corrispondono al dispositivo dell'utente (vedi CSS che bloccano il rendering).

Infine, ti consigliamo di minimizzare il CSS per rimuovere spazi bianchi o caratteri aggiuntivi (vedi Minimizzare il CSS). In questo modo, invii agli utenti il bundle più piccolo possibile.

Indicazioni specifiche per lo stack

AMP

Utilizza strumenti come lo strumento di ottimizzazione AMP per eseguire il rendering lato server dei layout AMP.

Drupal

Potresti usare un modulo per incorporare codice JavaScript e CSS fondamentale e usare l'attributo defer per codice JavaScript e CSS non fondamentale.

Joomla

Esistono diversi plug-in Joomla che possono esserti utili per incorporare asset di importanza critica o rimandare le risorse meno importanti.

WordPress

Esistono diversi plug-in di WordPress che possono esserti utili per incorporare le risorse di importanza critica o rimandare le risorse meno importanti.

Risorse