Google AdSense が提案してくる「ブラウザのキャッシュを活用する」に対応する。
Google AdSense のページには,「サイトの状況」という項目があり,いくつかのページのパフォーマンスの評価が表示されている。PageSpeed Insights にページの URL を入力すると調査して結果を表示してくれる。
試してみると,モバイル版のスコアは 65/100 (100点満点中65点),PC版のスコアは 80/100 であった。そしてスコアを上げるための提案も表示されていた。
修正が必要:
ブラウザのキャッシュを活用する
静的リソースの HTTP ヘッダー内で、有効期日や最大経過時間を設定すると、ブラウザがネットワークからではなくローカル ディスクから以前にダウンロードしたリソースを読み込むようになります。
次のキャッシュ可能なリソースでブラウザのキャッシュを活用してください:http://nlogn.ath.cx/js/highslide/highslide.js(有効期限が指定されていません)
http://nlogn.ath.cx/mticons/hide-history.gif(有効期限が指定されていません)
http://nlogn.ath.cx/mticons/misc.gif(有効期限が指定されていません)
http://nlogn.ath.cx/mticons/normal.gif(有効期限が指定されていません)
http://nlogn.ath.cx/mticons/print.gif(有効期限が指定されていません)
http://nlogn.ath.cx/mticons/show-history.gif(有効期限が指定されていません)
http://nlogn.ath.cx/styles-hide-history.css(有効期限が指定されていません)
http://nlogn.ath.cx/styles-highslide.css(有効期限が指定されていません)
http://nlogn.ath.cx/styles-normal.css(有効期限が指定されていません)
http://nlogn.ath.cx/styles-site.css(有効期限が指定されていません)
ブラウザのキャッシュを活用する方法は,Leverage Browser Caching - PageSpeed Insights ― Google Developers に解説があって,ブラウザにローカルキャッシュさせるために HTML にキャッシュコントロール用のヘッダを追加することだとある。Expires または Cache-Control max-age のどちらかのヘッダと,Last-Modified または ETag のどちらかのヘッダを追加すればよいらしい。Expires と Cache-Control max-age の両方,Last-Modified と ETag の両方を指定するのは冗長だとある。
Apache の設定ファイルに Expires ディレクティブを追加するという解決方法が Google Adsense「ブラウザのキャッシュを活用する」のアラーム問題を解決する方法 pcmanabu に紹介されていた。サーバに複数のサイトがある場合,.htaccess を使えばサイト毎に個別に設定が可能である。
以下の設定の動作環境は Vine Linux 4.2,Apache 2.2.3。
このブログのサーバでは,複数のサイトを一括して設定してしまいたいので,Apache の conf に追加することにした。まず,/etc/apache2/modules に mod_expires.so モジュールがあることを確認して,/etc/apache2/conf.d ディレクトリに次の設定ファイルを追加する。ファイル名を例えば mod_expires.conf として (拡張子が .conf であればファイル名は何でもいい),次の内容を書いておく。
そして Apache を再起動すれば完了である。
再度評価してみたところ,モバイル版のスコアは 74/100,PC版のスコアは 90/100 となり,10ポイントアップした。簡単な割に効果的な方法である。
Posted by n at 2014-03-07 20:42 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957