Menu
Performance e Ottimizzazione

Come ottimizzare i font web in WordPress per migliorare le prestazioni

Gianluca Gentile · · 4 min di lettura

Come ottimizzare i font web in WordPress per migliorare le prestazioni

I font web sono tra le risorse più pesanti che il browser deve scaricare per renderizzare una pagina. Google Fonts, Adobe Fonts e altri servizi offrono centinaia di font bellissimi, ma ogni font aggiunge richieste HTTP e kilobyte al caricamento. In questa guida ti spiego come ottimizzare i font per migliorare le prestazioni del tuo sito WordPress senza rinunciare alla tipografia.

Il problema dei font web nelle prestazioni

Un singolo font web con tutti i pesi (regular, bold, italic, bold italic) e il set di caratteri completo può pesare oltre 500 KB. Se usi due font diversi (uno per i titoli e uno per il corpo del testo), il peso raddoppia. Il browser deve scaricare questi file prima di poter mostrare il testo, causando due problemi:

  • FOIT (Flash of Invisible Text): il testo rimane invisibile finché il font non viene scaricato. L’utente vede la pagina senza testo per qualche istante.
  • FOUT (Flash of Unstyled Text): il browser mostra il testo con un font di fallback e poi lo sostituisce quando il font web viene scaricato, causando un fastidioso spostamento del layout.

Entrambi i problemi peggiorano il punteggio Cumulative Layout Shift (CLS) e Largest Contentful Paint (LCP) nelle Core Web Vitals di Google.

Ospitare i font localmente

Invece di caricare i font da Google Fonts o altri CDN esterni, ospitali sul tuo server. Questo elimina la connessione DNS al server esterno e ti dà pieno controllo sulla cache.

Per scaricare i font di Google Fonts in locale:

  1. Vai su google-webfonts-helper.herokuapp.com e cerca il font che usi.
  2. Seleziona i pesi che ti servono e scarica l’archivio con i file WOFF2.
  3. Carica i file nella cartella del tuo tema (es. fonts/).
  4. Aggiungi la dichiarazione @font-face nel tuo CSS.

In WordPress, puoi usare il plugin OMGF (Optimize My Google Fonts) che automatizza questo processo: scarica i font di Google Fonts, li salva sul tuo server e aggiorna i riferimenti CSS automaticamente.

Usare solo i pesi necessari

Molti temi caricano font con 6-8 pesi diversi (thin, light, regular, medium, semibold, bold, extrabold, black) quando ne servono solo 2-3. Ogni peso è un file separato da scaricare.

Regola pratica: per la maggior parte dei siti bastano tre pesi:

  • Regular (400): per il corpo del testo.
  • Bold (700): per i titoli e il testo in grassetto.
  • Italic (400i): solo se usi effettivamente il corsivo nel contenuto.

Rimuovi i pesi inutilizzati dalle impostazioni del tema o dal codice che carica i font. Ogni peso rimosso può risparmiare 20-50 KB.

Usare il formato WOFF2

Il formato WOFF2 offre la migliore compressione per i font web, circa il 30% più leggero di WOFF e il 50% più leggero di TTF. È supportato da tutti i browser moderni (oltre il 97% degli utenti). Non servono più fallback verso WOFF o TTF: usa solo WOFF2.

@font-face {
    font-family: 'MioFont';
    src: url('fonts/miofont-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

Usare font-display: swap

La proprietà CSS font-display: swap dice al browser di mostrare immediatamente il testo con un font di fallback e poi sostituirlo quando il font web viene scaricato. Questo elimina il FOIT (testo invisibile) e migliora il Largest Contentful Paint.

Se carichi font da Google Fonts, aggiungi il parametro &display=swap all’URL:

https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap

Per i font locali, aggiungi font-display: swap; nella dichiarazione @font-face come mostrato nell’esempio precedente.

Precaricare i font critici

Il preload dice al browser di iniziare a scaricare il font il prima possibile, senza aspettare che il CSS venga analizzato. Aggiungi un tag link preload nell’<head> del tuo sito:

<link rel="preload" href="/wp-content/themes/tuo-tema/fonts/miofont-regular.woff2" as="font" type="font/woff2" crossorigin>

L’attributo crossorigin è obbligatorio anche per i font locali, perché i font vengono sempre scaricati in modalità CORS. Precarica solo i font critici (quelli usati above the fold), non tutti: precaricare troppi font ha l’effetto opposto perché satura la banda.

Ridurre i set di caratteri con il subsetting

Se il tuo sito è in italiano, non hai bisogno dei caratteri cirillici, greci o vietnamiti inclusi nella maggior parte dei font. Il subsetting rimuove i caratteri non necessari, riducendo drasticamente le dimensioni del file.

Strumenti come FontSquirrel Generator o glyphhanger (da riga di comando) possono creare un subset personalizzato del tuo font con solo i caratteri latini, riducendo il peso del 50-70%.

Google Fonts supporta il subsetting automatico: se richiedi il font con il parametro &subset=latin, il server restituisce solo i caratteri latini.

Serve assistenza?

Se i font rallentano il tuo sito WordPress e vuoi ottimizzarli senza compromettere il design, il team di SoccorsoWP può configurare tutto per te. Apri un ticket e migliora le prestazioni del tuo sito.

Condividi: