Italiano

Scopri come utilizzare gli hint di risorse come preload, prefetch e preconnect per ottimizzare i tempi di caricamento del sito web e migliorare l'esperienza utente a livello globale.

Ottimizzare la velocit\u00e0 del sito web con gli hint di risorse: Preload, Prefetch e Preconnect

Nel frenetico mondo digitale di oggi, la velocit\u00e0 del sito web \u00e8 fondamentale. Gli utenti si aspettano che i siti web si carichino rapidamente e rispondano immediatamente. Tempi di caricamento lenti possono portare a una scarsa esperienza utente, a frequenze di rimbalzo pi\u00f9 elevate e, in definitiva, alla perdita di affari. Gli hint di risorse sono strumenti potenti che possono aiutare gli sviluppatori a ottimizzare i tempi di caricamento del sito web indicando al browser quali risorse sono importanti e come darle la priorit\u00e0. Questo articolo esplora tre hint di risorse chiave: preload, prefetch e preconnect e fornisce esempi pratici per l'implementazione.

Comprensione degli hint di risorse

Gli hint di risorse sono direttive che istruiscono il browser sulle risorse di cui una pagina web avr\u00e0 bisogno in futuro. Consentono agli sviluppatori di informare in modo proattivo il browser sulle risorse critiche, consentendogli di recuperarle o connettersi ad esse prima di quanto farebbe altrimenti. Questo pu\u00f2 ridurre significativamente i tempi di caricamento e migliorare le prestazioni percepite.

I tre principali hint di risorse sono:

Preload: Dare la priorit\u00e0 alle risorse critiche

Cos'\u00e8 Preload?

Preload \u00e8 un fetch dichiarativo che consente di indicare al browser di recuperare una risorsa necessaria per la navigazione corrente il prima possibile. Questo \u00e8 particolarmente utile per le risorse che vengono scoperte in ritardo dal browser, come immagini, font, script o fogli di stile caricati tramite CSS o JavaScript. Precaricando queste risorse, \u00e8 possibile impedire che diventino render-blocking e migliorare la velocit\u00e0 di caricamento percepita del sito web.

Quando usare Preload

Utilizzare preload per:

Come implementare Preload

\u00c8 possibile implementare preload utilizzando il tag <link> nell'<head> del documento HTML:

<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/styles/critical.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/images/hero.jpg" as="image">

Spiegazione:

Esempio: Precaricamento di un font

Immagina di avere un font personalizzato chiamato 'OpenSans' utilizzato sul tuo sito web. Senza il precaricamento, il browser scopre questo font solo dopo aver analizzato il file CSS. Ci\u00f2 pu\u00f2 causare un ritardo nel rendering del testo con il font corretto. Precaricando il font, puoi eliminare questo ritardo.

<link rel="preload" href="/fonts/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">

Esempio: Precaricamento di un file CSS critico

Se il tuo sito web ha un file CSS critico che \u00e8 essenziale per il rendering della visualizzazione iniziale, precaricarlo pu\u00f2 migliorare significativamente le prestazioni percepite.

<link rel="preload" href="/styles/critical.css" as="style">

Best practice per Preload

Prefetch: Anticipare le esigenze future

Cos'\u00e8 Prefetch?

Prefetch \u00e8 un hint di risorsa che indica al browser di recuperare le risorse che probabilmente saranno necessarie per future navigazioni o interazioni. A differenza di preload, che si concentra sulle risorse necessarie per la pagina corrente, prefetch anticipa la prossima mossa dell'utente. Questo \u00e8 particolarmente utile per migliorare la velocit\u00e0 di caricamento delle pagine o dei componenti successivi.

Quando usare Prefetch

Utilizzare prefetch per:

Come implementare Prefetch

\u00c8 possibile implementare prefetch utilizzando il tag <link> nell'<head> del documento HTML:

<link rel="prefetch" href="/page2.html">
<link rel="prefetch" href="/images/product.jpg">
<link rel="prefetch" href="/scripts/modal.js">

Spiegazione:

Esempio: Precaricamento delle risorse della pagina successiva

Se il tuo sito web ha un flusso utente chiaro, come un modulo a pi\u00f9 passaggi, puoi precaricare le risorse per il passaggio successivo quando l'utente si trova nel passaggio corrente.

<link rel="prefetch" href="/form/step2.html">

Esempio: Precaricamento delle risorse per una finestra modale

Se il tuo sito web utilizza una finestra modale che carica risorse aggiuntive quando viene aperta, puoi precaricare tali risorse per garantire un'esperienza utente fluida.

<link rel="prefetch" href="/scripts/modal.js">
<link rel="prefetch" href="/styles/modal.css">

Best practice per Prefetch

Preconnect: Stabilire connessioni anticipate

Cos'\u00e8 Preconnect?

Preconnect \u00e8 un hint di risorsa che consente di stabilire connessioni anticipate a importanti server di terze parti. Stabilire una connessione comporta diversi passaggi, tra cui la ricerca DNS, l'handshake TCP e la negoziazione TLS. Questi passaggi possono aggiungere una latenza significativa al caricamento delle risorse da tali server. Preconnect consente di avviare questi passaggi in background, in modo che quando il browser deve recuperare una risorsa dal server, la connessione sia gi\u00e0 stabilita.

Quando usare Preconnect

Utilizzare preconnect per:

Come implementare Preconnect

\u00c8 possibile implementare preconnect utilizzando il tag <link> nell'<head> del documento HTML:

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com">

Spiegazione:

Esempio: Pre-connessione a Google Fonts

Se il tuo sito web utilizza Google Fonts, la pre-connessione a https://fonts.gstatic.com pu\u00f2 ridurre significativamente la latenza del caricamento dei font.

<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

L'attributo `crossorigin` \u00e8 fondamentale qui perch\u00e9 Google Fonts utilizza CORS per servire i font.

Esempio: Pre-connessione a una CDN

Se il tuo sito web utilizza una CDN per servire risorse statiche, la pre-connessione all'hostname della CDN pu\u00f2 ridurre la latenza del caricamento di tali risorse.

<link rel="preconnect" href="https://cdn.example.com">

Best practice per Preconnect

Combinazione di hint di risorse per prestazioni ottimali

La vera potenza degli hint di risorse risiede nella loro combinazione strategica. Ecco un esempio pratico:

Immagina un sito web che utilizza un font personalizzato ospitato su una CDN e carica un file JavaScript critico.

  1. Pre-connettersi alla CDN: Stabilire una connessione anticipata alla CDN che ospita il font e il file JavaScript.
    <link rel="preconnect" href="https://cdn.example.com" crossorigin>
  2. Precaricare il font: Dare la priorit\u00e0 al caricamento del font per prevenire FOUT.
    <link rel="preload" href="https://cdn.example.com/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  3. Precaricare il file JavaScript: Dare la priorit\u00e0 al caricamento del file JavaScript per garantire che sia disponibile quando necessario.
    <link rel="preload" href="https://cdn.example.com/scripts/app.js" as="script">

Strumenti per l'analisi degli hint di risorse

Diversi strumenti possono aiutarti ad analizzare l'efficacia dei tuoi hint di risorse:

Insidie comuni e come evitarle

Il futuro degli hint di risorse

Gli hint di risorse sono in continua evoluzione, con nuove funzionalit\u00e0 e miglioramenti aggiunti alle specifiche del browser. Rimanere aggiornati con gli ultimi sviluppi negli hint di risorse pu\u00f2 aiutarti a ottimizzare ulteriormente le prestazioni del tuo sito web. Ad esempio, modulepreload \u00e8 un hint di risorsa pi\u00f9 recente specificamente progettato per il precaricamento dei moduli JavaScript. Inoltre, l'attributo `priority` per gli hint di risorse consente di specificare la priorit\u00e0 di una risorsa rispetto ad altre risorse. Il supporto del browser per queste funzionalit\u00e0 \u00e8 ancora in evoluzione, quindi verifica la compatibilit\u00e0 prima di implementarle.

Conclusione

Gli hint di risorse sono strumenti potenti per ottimizzare i tempi di caricamento del sito web e migliorare l'esperienza utente. Utilizzando strategicamente preload, prefetch e preconnect, puoi informare in modo proattivo il browser sulle risorse critiche, ridurre la latenza e migliorare le prestazioni percepite del tuo sito web. Ricorda di dare la priorit\u00e0 alle risorse critiche, utilizzare gli hint di risorse con giudizio e testare sempre l'impatto sulle prestazioni delle tue modifiche. Seguendo le best practice descritte in questo articolo, puoi migliorare significativamente le prestazioni del tuo sito web e offrire un'esperienza migliore ai tuoi utenti in tutto il mondo.