コンテンツを gzip 圧縮して出力する MovableType プラグイン:CompressGZip

Posted by
ぴろり
Posted at
2007/03/04 17:44
Trackbacks
関連記事 (0)
Post Comment
コメントできます
Category
プラグイン カテゴリ

 HTTP/1.1 ではデータを gzip で圧縮して送信することで転送量を減らすことができます。一般に Apache Web サーバでは mod_deflate モジュール を導入してこれを実現することが多いのですが、レンタルサーバなどでは mod_deflate が導入されていないことが多々あります。それでもコンテンツネゴシエーションに対応した Web サーバであれば、gzip で圧縮されたファイル(*.gz)を予め用意しておくことで、この恩恵に与ることがことが期待できます。
 そこで、MovableType で生成したコンテンツを gzip 圧縮するためのプラグインを作ってみました。

このエントリーをはてなブックマークに追加  

導入手順

  • Compress:Zlib モジュールをインストールします …さくらインターネットのレンタルサーバ(スタンダードプラン)には導入済みです
  • CompressGZip.pl を MovableType の plugins ディレクトリにコピーします
  • MovableType の管理画面からプラグイン一覧を確認し、CompressGZip が表示されていることを確認します

使い方

 静的なコンテンツを生成するようなテンプレートに使用できます。PHP(*.php) や SSI(*.shtml) を生成するような場合には使用できません。
 例えば、既存のインデックスページ(index.html)を圧縮するような場合、テンプレート全体を <MTCompressGZip> コンテナタグで囲んだ上で、出力ファイル名を index.html.gz とします。

<MTCompressGZip>
:
(ここに元のテンプレート)
:
</MTCompressGZip>

<MTCompressGZip> コンテナタグの前後には余計な空白や改行があってはいけません。

 ここで、gzip 圧縮されたファイルの転送に対応している Web ブラウザなどでindex.html にアクセスすると、Web サーバのコンテンツネゴシエーションによって、 index.html.gz が使われることになります。

 注意する点として、このプラグインは、MovableType で gzip 圧縮されたファイル(*.gz)を生成するだけで、Web サーバが送出する段階で都度データを圧縮するものではありません。そのため、常に同じ内容を返す静的なコンテンツにのみ適用することができ、PHP などの動的ページを index.php.gz などと生成しても、Web サーバは *.php.gz を処理できずにエラーを返します。

使い方の例

 当サイトでは、CSS と RSS1.0 について、このプラグインによる圧縮を施しており、概ね CSS は 20〜30%、RSS1.0 は 30% 程度のファイルサイズに圧縮されています。殆どのページが PHP による動的生成に頼っているサイトでは効果の程は薄いかもしれません。

  • RSS リーダーから頻繁にアクセスされる index.rdf などの静的ファイルを圧縮して転送量を削減する
  • site.css などの殆ど変更されない静的ファイルを圧縮して(略
  • archives.html などの大きな HTML ファイルを(略

ライセンス

ダウンロード

このエントリーをはてなブックマークに追加  



関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

コメントを投稿する

 
 (必須, 匿名可, 公開, トリップが使えます)
 (必須, 匿名可, 非公開, Gravatar に対応しています)
 (必須)
スパム コメント防止のため「投稿確認」欄に ランダムな数字 CAPTCHAについて を入力してから送信してください。お手数ですがご協力のほど宜しくお願いいたします。