情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

遂にさくらのレンタルサーバでmod_expiresが使用可能に!さっそく試してみた

Apache (5) mod_expires (2) さくらのレンタルサーバ (11)

Webサイトの読込速度を気にしていますか?自分はたまに気にする程度です。

そんなたまに気にする程度の自分でも前から設定してみたかった「キャッシュの有効期限の指定」ができるmod_expiresが遂にさくらのレンタルサーバで利用可能になったようなので、実際に使ってみました。

長年首を長くして待っていた人もいるはず・・・!?

キャッシュの有効期限を設定する効果

読込速度を上げる方法はたくさんありますが、代表的なものに「キャッシュの有効期限を設定する」という方法があります。

同じ画像を何度も読み込む必要が無くなり、Webサイトの読込速度が上がるだけでなく、転送量を削減して、負荷を低減する効果も期待できます

PageSpeedも「キャッシュを使え」と言ってくる

PageSpeedという、Webサイトの高速化アドバイスをくれるアドオンをこのブログに対して使ってみると、「ブラウザのキャッシュを活用せよ(長めの有効期限を設定せよ)」というアドバイスを「最重要項目」かのように一番上に表示してきます。

普通は「mod_expires」を使う

その対策をApacheサーバ上で設定したいときは、普通mod_expires」というモジュールを使います

さくらのレンタルサーバでは「mod_expires」が使えなかった

しかし、現在このブログのWordPressが動作している「さくらのレンタルサーバ」では「mod_expires」がインストールされておらず、この鉄板の高速化・負荷軽減手法を使えない、と言われてきました。

ただ、リンク先で紹介されている代替案にも問題があったりしているようで、結局のところ、「mod_expiresさえ使えればっ!!!」状態だったわけです。

「mod_expires」が来た!!!

そこで諦めず(?)、「もしかしてさくらのレンタルサーバでmod_expiresとかmod_deflate使えるようになってないかなー」とググってみると・・・

さくらのレンタルサーバ・マネージドサーバ Apacheモジュール mod_expires 追加のお知らせ

平素はさくらインターネットをご愛顧いただき、誠にありがとうございます。 この度ご要望の多かった以下機能について追加いたしました

概要

Apacheモジュール mod_expires の追加を行いました。

対象サービス

さくらのレンタルサーバ
・ライト
・スタンダード
・プレミアム
・ビジネス
・ビジネスプロ

さくらのマネージドサーバ

実施日

2012年07月19日

(出典:メンテナンス・障害情報・機能追加|さくらインターネット公式サポートサイト

「えっ?7月19日???おととい!!!」

なんと、なんだか奇跡的なタイミングでmod_expiresが使えるようになっていたのです

さっそく使ってみた

という奇跡的なタイミングに感謝して、せっかくなので(あまり詳しくないのですが)、お試しとして、このさくらのレンタルサーバ上で動くこのブログのテーマファイルが置いてあるディレクトリ「wp/wp-content/themes」に設置した「.htaccess」に、「.gif/.png/.jpgファイルのキャッシュの有効期限を1週間にする設定」をしてみました。

ExpiresActive On
ExpiresByType image/gif "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
ExpiresByType image/jpg "access plus 1 weeks"

(参考:【負荷対策】Apacheのモジュールmod_expiresでキャッシュを利用する - エーエイチレフ linuxサーバー技術情報

結果をPageSpeedでチェックしてみる

mod_expiresで指定する前は、「キャッシュを活用しろ!なファイル」がたくさんありました。

そして.htaccessの設定後、次のように変わっていることが確認できました。

だいぶ減りました!(まだたくさん残っていますが、これはテーマファイルしか対象にしなかったからです。ここに残っているのは「個別記事の画像」と「プラグイン用の画像」なので、それぞれ「wp/wp-content/uploads」と「wp/wp-content/plugins」ディレクトリの「.htaccess」にもキャッシュ有効期限の設定を同じように書き込めば、これらも一掃できます。というか、そっちこそ有効期限長くて良かったかも;)

というわけで、mod_expiresが使えるようになっているっぽいことが分かりました

HTTPのレスポンスヘッダで確認してみる

ちゃんとキャッシュの有効期限が設定できているかの本当の確認はResponse Headerの「Cache-Control」ですべきなので、その画像も貼り付けておきます。

ちゃんと設定できているみたいですね!!!

お知らせ

まだこまめにテーマファイルを書き換えているので、ここで提示した.htaccessファイルは既に元に戻してありますm(_ _)m

感想

あとmod_deflateが使えるようになってくれれば嬉しいのですが。

コメント(0)

新しいコメントを投稿