Google Fonts è un servizio utilizzato in oltre 42 milioni di siti web. È incredibilmente facile iniziare e offre un’incredibile varietà di caratteri.
La comodità di questo servizio però ha un prezzo: le prestazioni. In molti hanno già sottolineato che effettuare molte richieste a servizi esterni comporta un “costo” in termini di performance. Se si vuole aumentare la velocità, è meglio scaricare i font Google utilizzati e ospitarli autonomamente.
Questa non è una novità, in effetti è un concetto vecchio di anni. Persino Google stesso ha consigliato ad altri di ospitare autonomamente i caratteri nel loro discorso di Google I / O 2018 sulle prestazioni web.
Caratteri self-hosting vs Google Fonts
Per natura Google Fonts, nonostante tutte le ottimizzazioni che Google implementa costantemente, non può essere più veloce dei font ospitati autonomamente.
Ecco un ottimo post dove sono state confrontate le prestazioni tra Google Fonts e i caratteri ospitati autonomamente senza l’impatto di un CDN.
Il vecchio argomento delle prestazioni
Quindi se la performance di fondo è a favore dei font self-hosting, qual è stato l’argomento che ha convinto noi sviluppatori che Google Fonts fosse performante almeno quanto l’approccio self-host?
Google Fonts è stato progettato per essere distribuito su una CDN globale e utilizzare i vantaggi del sistema di caching. Gli utenti scaricano i caratteri tramite le CDN. Molto spesso accade che tali font vengano scaricati dall’utente in precedenza, magari su un sito diverso rispetto al nostro.
“[…] La nostra memorizzazione nella cache cross-site è progettata in modo che tu debba caricare un carattere solo una volta, con qualsiasi sito web, e useremo lo stesso carattere memorizzato nella cache su qualsiasi altro sito web che utilizza Google Fonts.”
https://fonts.google.com/about
Invalidare il vecchio argomento delle prestazioni
Da Chrome v86, rilasciato nell’ottobre 2020, le risorse cross-site come i caratteri non possono più essere condivise sulla stessa CDN. Ciò è dovuto alla cache del browser partizionata.
In questo post di Google spiegano cos’è la cache del browser partizionata. È stata introdotta per impedire un possibile meccanismo di tracciamento cross-site.
Partizionamento della cache in altri browser
Safari ha davvero a cuore la privacy. Ha rilevato e bloccato questo tipo di tracciamento cross-site diversi anni fa. Ora finalmente è arrivato anche Chrome. Altri browser basati su Chromium dovranno comunque implementare questa funzione.
- Chrome: dalla v86 (ottobre 2020)
- Safari: dal 2013
- Firefox: in corso di implementazione
- Edge: in corso di implementazione
- Opera: in corso di implementazione
Conclusione
Se si punta al massimo delle performance, le risorse di Google Fonts dovranno essere scaricate e inserite all’interno dell’hosting del sito Web. Il vecchio argomento delle performance non è più valido.