Decidi se il CSS critico è il problema giusto da risolvere
Inizia con le evidenze, non con un'etichetta di audit. Registra un caricamento a freddo per una pagina prioritaria su profili rappresentativi mobile e desktop. Ispeziona la waterfall e il trace: è un foglio di stile a ritardare il primo contenuto, ed è sufficientemente consistente da importare?
Prova prima interventi a minor manutenzione: rimuovi regole inutilizzate verificate, minimizza e comprimi l'output, carica il CSS per route solo dove necessario ed evita catene @import di plain CSS. web.dev definisce estrazione e differimento come tecniche avanzate.
Un ritardo nella prima resa misurato è legato al CSS, una visita a freddo conta, e il layout iniziale può essere mantenuto.
Se il collo di bottiglia è server, immagini, font, JavaScript o un foglio di stile già piccolo, il CSS inline difficilmente aiuterà.
Definisci la viewport iniziale come matrice di test
La viewport iniziale, talvolta chiamata above the fold, è ciò che un visitatore vede prima di scorrere. Non ha un'altezza universale: dispositivi, zoom, lingua, cookie e varianti di contenuto la modificano. Una singola schermata desktop può non rappresentare uno smartphone o un titolo tradotto.
Usa profili nominati. Includi layout stretti e larghi, breakpoint chiave, strutture di login differenti e qualsiasi banner di consenso, promozione, messaggio di manutenzione o errore che appaia nella parte alta della pagina.
Registra template, viewport, locale, autenticazione, consenso e varianti della parte alta della pagina usati per generare e testare il set.
Testa rapido scorrimento, menu e focus sui form; una regola differita è insicura se il suo controllo può apparire prima che tutto il CSS applicato sia disponibile.
Estrai un piccolo set da una singola source of truth
Genera il CSS critico dal build di produzione. L'estrazione può identificare regole usate in una viewport, ma rivedi regole condizionali, dinamiche e di transizione. Non copiare a mano un secondo design system nei template; si discosterà man mano che componenti e markup evolvono.
Mantieni l'output generato e versionato con il rilascio, mentre il CSS di origine resta autorevole. Includi inline solo le regole necessarie per lo stato iniziale utilizzabile. Blocchi inline grandi aumentano l'HTML e non possono essere riutilizzati dalla cache esterna nelle pagine successive. Confronta navigazione a freddo e a caldo prima di dichiarare il cambiamento un miglioramento.
Tieni traccia dei byte inline compressi, dei byte rimanenti del foglio di stile e delle regole duplicate. Una richiesta bloccante in meno non è necessariamente un guadagno netto.
Segnala una build quando l'estrazione è vuota, supera il budget di dimensione inline o cambia inaspettatamente rispetto a una baseline revisionata.
Carica il resto del CSS in modo sicuro e rispetta i vincoli di policy
Il foglio di stile rimanente deve arrivare prima che i contenuti inferiori e gli stati successivi appaiano completi. Un pattern documentato esegue un preload del CSS come link rel=preload e lo trasforma in foglio di stile dopo il caricamento, con fallback senza JavaScript. Preload richiede la risorsa presto; non applica il CSS. Un set incompleto può restyleare visibilmente.
Verifica la Content Security Policy prima di usare un handler inline di caricamento. web.dev nota che la policy può vietare JavaScript inline nell'onload, quindi usa un loader compatibile o un altro design. Testa con JavaScript disabilitato. File qualificati con media aiutano per stili veramente condizionali come print; una query che non corrisponde non blocca la resa, sebbene possa ancora scaricare.
Verifica che un visitatore senza JavaScript riceva il CSS completo e possa completare il percorso prioritario.
Indaga separatamente un font o un'immagine rilevante per la prima viewport che arriva in ritardo; il CSS critico non modifica il loro comportamento di fetch.
Testa regressioni visive, funzionali e di cache
Usa comparazioni visive su ogni viewport nominata e stato della parte alta della pagina. Controlla testo non stilizzato, sovrapposizioni, navigazione nascosta, indicatori di focus mancanti, layout shift e uno snap quando il CSS differito si applica. Esegui la navigazione con tastiera, percorsi touch, errori e scorrimento veloce. Se una regola differita rende un controllo inutilizzabile, appartiene al percorso critico o il design deve cambiare.
Testa visite a freddo e a caldo. I test a freddo mostrano se la rimozione della attesa del CSS migliora la resa; i test a caldo mostrano il costo ripetuto dei byte inline. Testa HTML memorizzato in cache precedente e un ritorno dopo il deploy. Mantieni asset compatibili mentre l'HTML in cache potrebbe richiederli e non sovrascrivere un URL di foglio di stile fingerprintato.
Confronta first content e main visible content, quindi usa il trace per spiegare un guadagno o una regressione.
Includi focus, contrasto, preferenze di movimento, zoom e ordine leggibile. Una resa più veloce non è un superamento se l'interfaccia è inaccessibile.
Operalo come una funzionalità di delivery reversibile
Dai alla pipeline un proprietario e documenta i suoi input, l'artifact, i template, i profili di test e il limite di dimensione inline. Esegui i test ogni volta che cambiano CSS, markup, una libreria di componenti, un feature flag o un terzo sopra la piega. Coverage guida la revisione, ma una singola registrazione non può provare che una regola sia sicura ovunque.
Rilascia dietro una configurazione reversibile quando praticabile. Registra il percorso di foglio di stile known-good, versione artifact, identificatore di build e metodo di recupero. Se appare una regressione, ripristina prima la delivery compatibile, poi diagnostica lo stato mancante. SIU usa questo workflow per stabilizzare i percorsi critici prima che l'impatto cliente si estenda.
Un nuovo banner, flusso di consenso, locale, breakpoint o layout account richiede rigenerazione e test.
Reverti template e configurazione di delivery a una generazione compatibile; non modificare URL immutabili di asset che documenti più vecchi potrebbero riferire.
