Za použití Google Fonts Google zabije koťátko

Používáte na svém webu Google Fonts? Pokud ho špatně použijete, Google vám může snížit pozici ve vyhledávání.

Fakt, že Google bere rychlost načítání v potaz ve vyhledávacím algoritmu, není žádnou novinkou (viz. blog Google Webmaster z dubna 2010). Stránky, které se načítají rychleji mají větší šanci objevit se výše v jejich vyhledávání.

Když použijete na svém webu velmi oblíbenou službu Google Fonts, můžete si zbytečně snížit tento vyhledávací faktor při špatném použití. A kód pro špatné použití vám Google vygeneruje jako „standard“ použití.

1
<link href='http://fonts.googleapis.com/css?family=Exo+2' rel='stylesheet' type='text/css'>

případně

1
@import url(http://fonts.googleapis.com/css?family=Exo+2);

Důvodem je to, že když přidáte výše uvedený kód do svého HTML/CSS, při vykreslování stránky bude prohlížeč čekat (záleží na jádře prohlížeče), dokud se nestáhne i uvedený CSS soubor a uživatel do té doby nic neuvidí.

Pomocí služby Google PageSpeed Insights si můžete ověřit rozdíl výsledků rychlosti webu.

Příklad

Uvádím zde výsledky jednoho webu před a po nasazení Google Fonts. To, že výsledky nejsou nic extra nevadí, důležitý je rozdíl výsledků před/po nasazení Google Fonts.

Před nasazením Google Fonts:

Skóre 61/100 mobile, 68/100 desktop

Po nasazení: Skóre 54/100 mobile, 66/100 desktop

Hlavně pro mobilních zařízení považuje Google tento rozdíl za docela důležité (7 ze 100 bodů), u desktopů to dělá 2 body.

Co s tím?

Je víc způsobů jak vyřešit tento problém. Úplně nejsnazší je použít načítání Google Fonts poslední dostupnou možností, co Google nabízí – přes JavaScript (ve třetí kartě při generování kódu pro použití Google Fonts). Tento kód je asynchronní a neblokuje vykreslování stránky.

Pokud použijete tento způsob, výsledek rychlosti stránky vám zůstane stejný, jako před nasazením Google Fonts.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15

<script type="text/javascript">
WebFontConfig = {
google: { families: [ 'Exo+2:400,900italic:latin' ] }
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy