アクセス速度を改善する方法として、『mod_expires』を使用する方法があります。

mod_expiresを有効にするとユーザのブラウザにデーターがキャッシュされ、同じユーザが複数回サイトにアクセスする場合はそのキャッシュから読み込まれるので、転送データー量が減りサイトの表示が早くなるという仕組みです。

しかし、ウェブサイトを頻繁に修正するようなサイトの場合は、ユーザ側に古い情報が表示されてしまう可能性もあるので、キャッシュの有効期限の設定はよく考える必要があります。

それでは、mod_expiresの設定に入っていきたいと思います。mod_expiresは、.htaccessファイルに記述します。

mod_expiresを.htaccessファイルに記述する

1. .htaccessファイルの作成

mod_expiresを有効にするためには、.htaccessファイルにmod_expiresを記載する必要があります。

.htaccessファイルは、デフォルトでは存在しないため手動で作成する必要があります。WordPressを利用している方は、WordPressインストール時に自動的に作成されるのでそれを利用して頂いて結構です。

.htaccessファイルの作成方法は、『.htaccessファイルの作成&編集方法』のページを参照してください。

2. .htaccessファイルにmod_expiresを記載する

.htaccessに下記の内容を記載してください。既存の.htaccessファイルを利用する場合は、既に記載されている内容を削除しないように最下部に追記してください。

<IfModule mod_expires.c>
   ExpiresActive On
   ExpiresByType image/gif "access plus 1 week"
   ExpiresByType image/jpg "access plus 1 week"
   ExpiresByType image/jpeg "access plus 1 week"
   ExpiresByType image/png "access plus 1 week"
   ExpiresByType image/x-icon "access plus 1 week"
   ExpiresByType text/css "access plus 1 week"
   ExpiresByType text/javascript "access plus 1 week"
   ExpiresByType application/x-javascript "access plus 1 week"
</IfModule>

htaccessファイルをサーバーにアップする

.htaccessファイルをFTPツールを使ってサーバーにアップします。

FTPツールの使い方が分からない方は、下記のページを参考にしてください。

HostGatorの場合、次のようなディレクトリ構成になっていると思います。

今回のmod_expiresを記載した.htaccessファイルのアップする場所は、HostGatorに登録している全ドメインに適用したい場合は、①もしくは②の場所にアップします。しかし、通常は適用したいドメインフォルダ直下の③の場所です。

※補足
HostGatorにドメインを1つしか登録していない場合、もしくはメインドメイン(HostGator申し込み時に登録した最初のドメイン)の場合は、②の場所になります。

 /
 ├ .htaccess …①
 ├ .file1
 ├ .file2
 :
 ├ public_html
 │ ├ .htaccess …②
 │ ├ file3
 │ ├ file4
 : :
 │ ├ domain1
 │ │ └ .htaccess …③
 │ ├ domain2
 │ ├ domain3
 : :
 │ └ domain~
 ├ etc
 ├ tmp
 ├ mail
 :
 :

PageSpeed Insightsで測定してみる

Googleの開発ツール『PageSpeed Insights』で測定してみました。

今回試したサイトは、計測用に立ち上げた『童貞くんの為のアダルト動画』サイト。このサイトを立ち上げた直後のPageSpeed Insightsでの測定結果は、『PageSpeed Insightsでアクセス速度を改善する』のページを参照してください。

下図は、測定結果です。
図は、クリックすると拡大できます。

[デスクトップPC]
mod-expire1(after)
[モバイル]
mod-expire2(after)


PCでアクセスした場合の指摘内容の詳細を見てみたいと思います。

パフォーマンスポイントは、85ポイントから91ポイントへアップしているので改善されたのは確実。しかし、今回対応したはずの『ブラウザのキャッシュを活用する』が「修正の考慮が必要」と指摘されたままになっています。しかし、『サーバーの応答時間を短縮する』の指摘が「合格」に変わっています。

適用前 適用後
ポイント 85 91(+6)
ブラウザのキャッシュを活用する 修正の考慮が必要 修正の考慮が必要
スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する 修正の考慮が必要 修正の考慮が必要
サーバーの応答時間を短縮する 修正の考慮が必要 合格
CSS を縮小する 修正の考慮が必要 修正の考慮が必要
画像を最適化する 修正の考慮が必要 修正の考慮が必要

なぜ、ブラウザキャッシュが改善されていない?

実は改善されているんですね。

更に詳細を確認すると、元々『ブラウザのキャッシュを活用する』で指摘されていた箇所は16ヶ所あったのですが、これが3箇所まで減っています。これにより、サーバーの応答時間も短くなり『サーバーの応答時間を短縮する』が合格となったのだと思います。

指摘ヶ所の3ヶ所ですが、これはFacebookやgoogle+、Twitterボタンを各ページに付けており、この外部リンクのファイルを取得に対してキャッシュを活用しろと言われています。しかし、外部サイトのファイルに対してキャッシュを有効にはできないので、「修正の考慮が必要」と言われ続けますが、この3指摘は残っていても問題なし。

効果はありましたね。皆さんも試して下さい。

不明な点があれば、問い合わせフォームかコメントで問い合わせください。