自ブログで、Goolge font を使用していますが、
PageSpeed Insights で、
CSS の配信を最適化する  |  PageSpeed Insights  |  Google Developers
の警告が出力されています。  
こちら、毎回 fontを https://fonts.googleapis.com に取得しにいくのではなく、
server 上に置いて取得するようにして、解決できないか試してみた結果を記載します。  
参考サイト
- 
【2016年版】Google Fontsで公開されているフォントをダウンロードしてPC上で利用する方法 | GLOSSY [グロッシー] 
- 
How to host google web fonts on my own server? - Stack Overflow 
- 
オープンソースで公開されている、Google Web Fontの補助ツール・「Google Webfonts Helper」 - かちびと.net 
対象の font ファイルを取得する
Google Fonts から、対象の font ファイルをダウンロードできるのですが、
使用しているのが、 Mac OSX だからなのか ttf ファイルのみダウンロードが可能でした。
woff2、eof などの形式もまとめてダウンロードする方法がないか調べたところ、
以下のサイトでまとめて、ダウンロードができるようです。  
localfont.com で、ダウンロードしたところ、上限バイト数が厳しいようで、
google webfonts helper を使ってダウンロードすることにします。  
https://google-webfonts-helper.herokuapp.com/fonts にアクセスする
1.TOP ページ
TOP ページ左上の TextBox に、ダウンロードしたい。Font 名を入力します。  
2.Download ページ
Font名を入力して、対象 Font をクリックすると、Download ページが表示されます。
以下、個人的に使用した箇所の説明を記載します。  
- 
Select styles 
 ダウンロードするfont-style を選択可能です。1
 [1] Font はよく知らないのですが、スタイルごとにフォントファイルが異なるようです。
- 
Copy CSS 
 Modern ブラウザだけサポートするか、過去のブラウザまで広くサポートするcssを出力するか、選択可能です。
 fontの配置パスは下部のテキストボックスにパスを入力することで、変更可能です。
- 
Download files 
 ボタンクリックで、選択した内容の各種フォントファイルがダウンロード可能です。
 Select stylesで以下を選択した状態で、ボタンクリックすると、
 以下のフォントファイルを含むzipファイルがインストールされました。regular italic 700 700italic
 この際出力されたcssは以下の通りです。lora-v10-cyrillic-700.eot lora-v10-cyrillic-700.svg lora-v10-cyrillic-700.woff lora-v10-cyrillic-700.woff2 lora-v10-cyrillic-700italic.eot lora-v10-cyrillic-700italic.svg lora-v10-cyrillic-700italic.woff lora-v10-cyrillic-700italic.woff2 lora-v10-cyrillic-italic.eot lora-v10-cyrillic-italic.svg lora-v10-cyrillic-italic.woff lora-v10-cyrillic-italic.woff2 lora-v10-cyrillic-regular.eot lora-v10-cyrillic-regular.svg lora-v10-cyrillic-regular.woff lora-v10-cyrillic-regular.woff2
 /* lora-regular - cyrillic */ @font-face { font-family: 'Lora'; font-style: normal; font-weight: 400; src: url('/static/fonts/lora-v10-cyrillic-regular.eot'); /* IE9 Compat Modes */ src: local('Lora Regular'), local('Lora-Regular'), url('/static/fonts/lora-v10-cyrillic-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/lora-v10-cyrillic-regular.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-regular.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-regular.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/lora-v10-cyrillic-regular.svg#Lora') format('svg'); /* Legacy iOS */ } /* lora-italic - cyrillic */ @font-face { font-family: 'Lora'; font-style: italic; font-weight: 400; src: url('/static/fonts/lora-v10-cyrillic-italic.eot'); /* IE9 Compat Modes */ src: local('Lora Italic'), local('Lora-Italic'), url('/static/fonts/lora-v10-cyrillic-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/lora-v10-cyrillic-italic.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-italic.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/lora-v10-cyrillic-italic.svg#Lora') format('svg'); /* Legacy iOS */ } /* lora-700 - cyrillic */ @font-face { font-family: 'Lora'; font-style: normal; font-weight: 700; src: url('/static/fonts/lora-v10-cyrillic-700.eot'); /* IE9 Compat Modes */ src: local('Lora Bold'), local('Lora-Bold'), url('/static/fonts/lora-v10-cyrillic-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/lora-v10-cyrillic-700.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-700.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-700.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/lora-v10-cyrillic-700.svg#Lora') format('svg'); /* Legacy iOS */ } /* lora-700italic - cyrillic */ @font-face { font-family: 'Lora'; font-style: italic; font-weight: 700; src: url('/static/fonts/lora-v10-cyrillic-700italic.eot'); /* IE9 Compat Modes */ src: local('Lora Bold Italic'), local('Lora-BoldItalic'), url('/static/fonts/lora-v10-cyrillic-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('/static/fonts/lora-v10-cyrillic-700italic.woff2') format('woff2'), /* Super Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-700italic.woff') format('woff'), /* Modern Browsers */ url('/static/fonts/lora-v10-cyrillic-700italic.ttf') format('truetype'), /* Safari, Android, iOS */ url('/static/fonts/lora-v10-cyrillic-700italic.svg#Lora') format('svg'); /* Legacy iOS */ }
3.Downloadしたファイルを、サーバーにUploadする
Downloadしたフォントファイルとcss とUploadすると時 Server 上でダウンロードしたフォントを使用可能です。
私の環境では、これでPageSpeed Insights の得点が3-4点ほどUPしました。  
また、google webfonts helper には、WEB APIがあり、
curl で、zipファイルがダウンロード可能です。
サーバー上で、スクリプトを作成してスケジューラーに組み込めば、定期的にダウンロードして、
最新化することもできそうです。  
curl -o fontfiles.zip "https://google-webfonts-helper.herokuapp.com/api/fonts/lato?download=zip&subsets=latin,latin-ext&variants=regular,700&formats=woff"
以上です。
コメント