Ottimizza la pubblicazione di file CSS

di Gemini Advanced. Questa regola viene attivata quando PageSpeed Insights rileva che una pagina include il blocco della visualizzazione esterno che ritardano il tempo necessario per la prima visualizzazione.

Panoramica

Prima che il browser possa visualizzare i contenuti, deve elaborare tutte le informazioni su stile e layout la pagina corrente. Di conseguenza, il browser bloccherà il rendering finché non verranno visualizzati fogli di stile esterni scaricati ed elaborati, che potrebbero richiedere più round trip e ritardare il primo rendering. Vedi struttura, layout e colorazione dell'albero di rendering per scoprire di più sul percorso di rendering critico. ed eseguire il rendering bloccare CSS per suggerimenti su come sbloccare il rendering e migliorare la pubblicazione dei CSS.

Consigli

Se le risorse CSS esterne sono di piccole dimensioni, puoi inserirle direttamente nel documento HTML: questa procedura prende il nome di incorporamento. Questo metodo di incorporamento di risorse CSS di piccole dimensioni consente al browser di procedere al rendering della pagina. Tieni presente che, se il file CSS è di grandi dimensioni e viene incorporato completamente, PageSpeed Insights potrebbe avvisarti che la pagina above the fold della pagina è troppo grande tramite Assegna priorità ai contenuti visibili. Nel caso di un file CSS di grandi dimensioni, dovrai individuare e incorporare le risorse CSS necessarie a visualizzare i contenuti above the fold posticipando il caricamento degli stili rimanenti dopo che il rendering di tali contenuti è stato completato.

Esempio di incorporamento di un file CSS di piccole dimensioni

Se il documento HTML ha il seguente aspetto:
<html>
  <head>
    <link rel="stylesheet" href="small.css">
  </head>
  <body>
    <div class="blue">
      Hello, world!
    </div>
  </body>
</html>
E la risorsa small.css è così:
  .yellow {background-color: yellow;}
  .blue {color: blue;}
  .big { font-size: 8em; }
  .bold { font-weight: bold; }
Quindi, puoi incorporare le risorse CSS più importanti nel seguente modo:
<html>
  <head>
    <style>
      .blue{color:blue;}
    </style>
    </head>
  <body>
    <div class="blue">
      Hello, world!
    </div>
    <noscript id="deferred-styles">
      <link rel="stylesheet" type="text/css" href="small.css"/>
    </noscript>
    <script>
      var loadDeferredStyles = function() {
        var addStylesNode = document.getElementById("deferred-styles");
        var replacement = document.createElement("div");
        replacement.innerHTML = addStylesNode.textContent;
        document.body.appendChild(replacement)
        addStylesNode.parentElement.removeChild(addStylesNode);
      };
      var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame ||
          window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
      if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
      else window.addEventListener('load', loadDeferredStyles);
    </script>
  </body>
</html>

Questa trasformazione, inclusa la determinazione di CSS critici/non critici, incorporamento del CSS critico e caricamento posticipato del CSS non critico, può essere eseguita automaticamente Moduli di ottimizzazione PageSpeed per nginx, apache, IIS, ATS e Open Lightspeed, quando attivi filtro prioritize_critical_css.

Vedi anche loadCSS per caricare i file CSS in modo asincrono, che può funzionare con Critica, uno strumento per estrarre il codice CSS fondamentale da una pagina web.

Gli stili fondamentali necessari per applicare uno stile ai contenuti above the fold vengono incorporati e applicati immediatamente al documento. Il file small.css completo viene caricato dopo la colorazione iniziale della pagina. Gli stili vengono applicati alla pagina al termine del caricamento, senza bloccare la visualizzazione iniziale dei contenuti critici.

Tieni presente che a breve la piattaforma web supporterà il caricamento dei fogli di stile senza blocchi del rendering, senza dover ricorrere a JavaScript, tramite le importazioni HTML.

Non incorporare URI dati di grandi dimensioni

Fai attenzione quando incorpori URI dati nei file CSS. Sebbene l'uso selettivo di URI di dati di piccole dimensioni nel tuo CSS possa avere senso, incorporare URI di dati di grandi dimensioni possono aumentare le dimensioni del CSS above the fold, il che rallenta il tempo di rendering della pagina.

Non incorporare attributi

Incorporare gli attributi CSS negli elementi HTML (ad es. <p style=...>) devono essere evitate se possibile, poiché spesso ciò comporta una duplicazione non necessaria del codice. Inoltre, l'incorporamento di codice CSS negli elementi HTML è bloccato per impostazione predefinita con Criterio di sicurezza del contenuto (CSP).

Feedback

Hai trovato utile questa pagina?

.