Webフォント要求の最適化(削減)


8

私のホームページは現在5つのWebフォントを使用しています。HelveticaNeueのサポートがまだらなので、6にしたいのですが。フォントの1つは 'FontAwesome'アイコンで、他の4つは1つか2つの単語にのみ使用されます(つまり、「古いコンピューターのように見える文字で書かれた "最適化"という見出しがあります)。

これらのフォントのうち2つはGoogleから入手でき、必要な文字だけを要求します(これは非常にうまく機能します)。ただし、他の2つはopenfontlibrary.orgからのものであり、単一の形式でのみ入手できます。これは大したことではありません(ローカルコピーの方が良いので、安全にそれらを必要とします)。

次に、ページの読み込み時間をテストします。私は自分のローカルコピーをサブセット化することが可能だと思いますが、この分野で誰もが経験がありますか?

回答:


3

非標準のWebフォントを使用すると、標準のWebセーフシステムフォントを使用する場合に比べて、ページの読み込み時間に大きな影響があります。これは、JavaScriptと@ font-faceのどちらを使用しているかに関係なく当てはまります。

非標準のWebフォントを使用する必要があるかどうかを常に注意深く分析する必要があります。

非標準のWebフォントの使用を検討する際に自問すべきいくつかの質問:

  • それらを使用して、方法を知っていることを示すために使用していますか?
  • より良い設計を実行する目的を果たし、より良いユーザーエクスペリエンスを提供しますか?
  • フォントを実装するために使用される方法は、クロスブラウザ互換ですか?
  • 特に、1ページに数語しかない場合や、数ページしかない場合は、画像で十分でしょうか?
  • 使用する価値があるように、フォントWebセーフフォントと十分に異なっていますか?
  • フォントが本文として使用されている場合、読みやすいですか、それともヘッダー用に設計されたフォントですか?

少なくともタイポグラフィ基本と、それがデザインにどのように影響するか理解し、それを有利に利用してください。


詳細な回答に感謝しますが、これまでのところ回答に対する少しの不満を認めます。ロード時間に影響を与えていることに気づきました。タイポグラフィとWebセーフフォントについて知っています。画像(または画像スプライト)と代替テキストを使用できることに気づきました。しかし、それらは私にとって最後の手段です。非常に安全なフォントスタックを使用することもできますが、これはWebフォントを使用する目的に反します(代替品でさえHTTP接続が必要です)。次に、SEO、フォントサイズ調整のアクセシビリティの問題、翻訳、視覚障害者向けの設定などに進みます。妥当な場合は、Webフォントを最適化することをお勧めします。
adam-asdf 2012

私がリンクした最初の記事を読んだことがあれば、非標準のWebフォントを使用しているときにページの読み込み時間を改善する方法についての情報を見つけたことでしょう。
tacotuesday

申し訳ありませんが、リンクの数に圧倒されました。今から行います。
adam-asdf 2012

あなたは正しかった、私の焦りにごめんなさい(それは実際に彼が与える2番目のリンクです)。セルフホスティング、TypeKit、Google、font-squirrel(どういうわけか@ font-faceジェネレーターの高度なオプションを試してみようと思っていなかった)、さらには異なるブラウザーでの異なるメソッドの分析の詳細。将来この問題に遭遇した人のために、それは私のすべての質問に答えました。
adam-asdf 2012

2つ目のリンクであることをお知らせいただきありがとうございます。私はそれらをポストで混ぜました。現在は修正されているため、最初のリンクです。CufonとsIFRをまだ調べていない場合は、調べてみてください。また、私の答えの多くは将来の読者を対象としたものでした。そのため、Webフォントの使用に関して群衆をフォローする前に少し考えてみました。
tacotuesday

6

他の4つは1語か2語にのみ使用されます

それは文字通りのステートメントですか?
もしそうなら、なぜこれらのフォントをサブセットにせよ、せずに埋め込むのが面倒なのですか?この場合、最適化するべきではなく、単にを削除するだけです。必要なテキストの画像を作成し、お気に入りのテキスト置換手法を使用します。一言で言えば、サイトにHTTPリクエストとダウンロード時間を追加しています。


それは私に起こりました、CSS3でいくつかのWebフォントをコーディングでき、メディアクエリを介したレスポンシブデザインがおそらく賢明だと私は思うだけです。
adam-asdf 2012

私はあなたがこのコミュニティに多くの尊敬を持っていることに気づきました(そして明らかに実用的な経験)。何を見てるの?私はhttp(s)リクエストに時間がかかることを知っていますが、情報に基づいた決定をするために何かを与えます...私たちは2秒または2マイクロ秒を話しているのですか?私は実用的ですが、デザインにバックグラウンドがあり、美的志向です。情報に基づいた決定を行う方法を教えてください。
adam-asdf 2012

1
@Su 'は完全に正しいです。各サイトはHTTPRequestsまでは異なりますが、実際にはすべて、クライアントとサーバー間のルートに依存しています。ダイヤルアップ(まだ)または衛星接続を使用している人は、DSLまたはT1を使用している人よりもロード時間が長くなります。優れた美学は非常に重要ですが、優れた構造と最適化も同様に重要です。ロード時間のマージンを最小限に抑えることは一般的な方法であり、サイトへのHTTPRequestsの数を制限します。単語の画像を作成すると、読み込み時間が短縮され、ユーザーは何も知りません。CSSスプライトも調べてください。
クリストファー

@Christopherスプライトについて触れてくれてうれしいです。ローカルで使用できるカスタムバージョンのスプライトをWebフォントで作成する方法を探していると言えるでしょう。
adam-asdf 2012

@ user1332729簡単です。Su 'の提案に従って(単語の画像を作成)、CSSスプライトの原則を適用します。バン、画像フォーマットを経由せずに本当に得ることができるのと同じくらい最適化されています。ローカルで入手できるとはどういう意味ですか?あなたまたはあなたのクライアントに?
クリストファー

2

フォローアップのために、@ font-faceジェネレーターの詳細オプションを使用してフォントをサブセット化したので、必要な文字のみをロードしました。

オプションの1つは、フォントをBase64エンコードすることでした(これにより、CSSファイルにフォントを埋め込むことができました)。メモリが機能する場合、Base64は.woffおよび.ttfフォントをエンコードします。

私はできる限り多くのブラウザーのできるだけ多くのユーザーをサポートしたいが、余分な、おそらく冗長なデータを使用して最新のブラウザーのユーザーを遅くする価値はないと判断したので、Modernizr(yep / nope.jsを使用)を使用して強化された防弾フォントの文法CSSに従って、すべてのフォント形式への参照を含む個別のファイルを非同期にロードします

.woffフォントをBase64でエンコードし、残りのフォント宣言をプライマリCSSファイルに含めるか、Base64でエンコード.woffしたものだけをプライマリCSSに含めてから、をCSS介して非同期にロードしたファイルに他の形式を含めますModernizr.load

見た目よりも読み込み時間を優先したいので、FOUCは大きな懸念事項ではありませんでしたが、ほとんどのブラウザーは、(Base64でエンコードされたフォントCSSが読み込まれた後)非同期で読み込まれたときに、フォントに「リンク」されていることに注意します。

プラスの面では、フォントがロードされてキャッシュに保存されると(サーバーに設定された長い有効期限ヘッダー)、「点滅」がなくなり、フォントの拡張セットをロードして、他の言語を話すユーザーが(そして含まれているGoogle翻訳ウィジェット)には、スタイル化されたテキストが表示されます。

これは自分のサイトだったので、実験はできましたが、主に「誇示」するためにやっていました。クライアントサイトのほうが保守的です。

私が実装したもう1つの手法は.svg、@ font-faceジェネレーターが生成するように個別のファイルにフォントを置くのではなく、すべてのフォントを1つのファイルに入れ、それぞれを独自のIDで識別することでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.