まず、いくつかの掘り下げを行ったが、私が探しているものに対する適切な答えを見つけることができないようであることを最初に述べさせてください。
私はいくつかの外部リソースを使用しているサイトで作業しています:
「コンテンツ配信ネットワーク(CDN)を使用する」で「F」グレードを取得しています。別の SO Post YSlowへのリンクFAQ( direct link )ですが、これは自分のCDNを定義する必要があることを示しているようですブラウザ、これは私にとって簡単な修正のようですが、これは他のブラウザやデバイスの問題を解決しません。
「Add Expiresヘッダー」グレードについては、Eを取得します。問題は、これが私が取得しているものです。
There are 3 static components without a far-future expiration date.
(2014/2/26) http://fonts.googleapis.com/css?...
(2014/2/26) http://www.google-analytics.com/analytics.js
(2014/2/26) http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js
これを修正するにはどうすればよいですか?次に示すように、ローカルファイルはすべて.htaccess
によって処理されます。
AddType image/x-icon .ico
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType image/ico "access plus 1 year"
ExpiresDefault "access plus 7 days"
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
# access plus 1 year
Header set Cache-Control "max-age=31536000"
</FilesMatch>
この SO post は、それが不可能であるか、または帯域幅を使用して必要な外部ファイルをロード(およびキャッシュ)するローカルスクリプトを呼び出すことを示唆しているようです。
これらのことを念頭に置いて、私が見ているのは次のとおりです。
about:config
ソリューションの代替案が必要です。簡潔な答え:
そのような外部サーバーからリソースをロードしているときは、あまり制御できませんが、それでもあなたのサイトには問題ないかもしれません。 YSlowのようなツールを使用するときは、すべてのAグレードに追いつかないことが重要です。ツールが提供するヒントを理解し、それに応じて決定を下すことが最善です。
より長い答え:
コンテンツ配信ネットワーク
YSlowは、CDNとして認識しないドメインについて、より低い成績を報告します。 CDNホスト名を追加 することで、より良いグレードが反映されます。 fonts.googleapis.com
とajax.googleapis.com
は、どちらもCDNのように動作するため、追加します。 YSlowのコピーに設定を保存すると考えてください。ここにドメインを追加しても、実際にはパフォーマンスは変わりませんが、スコアが向上するだけです。
Expires Headers
別のサイトからロードしているコンテンツの有効期限ヘッダーを制御することはできません。検討できるオプション:
.htaccess
で示したように、遠い将来の有効期限ヘッダーを設定します。これによりYSlowグレードが向上しますが、サーバーがCDNより遅い場合、実際のパフォーマンスは低下する可能性があります。 (これを見てください SO質問 )