Movable Type の再構築を不要にする「ダイナミック・パブリッシング」(その1:概要)
「Movable Type で再構築ができません」「500エラーが多発します」という記事をよくみかけますが、Movable Type には WordPress のようなページの動的生成、いわゆる「ダイナミック・パブリッシング」がバージョン 3.1 から標準搭載されており、これを利用することで再構築不要な環境にすることができます。
「ダイナミック・パブリッシング」とは、リクエストが発生するたびにHTMLページを動的に生成する機能です。ちなみに「再構築」は、エントリー本文やコメント・トラックバック等のデータをデータベースから読み出して、スタティックなHTMLページを生成することです。
当サイトではこれまで「ダイナミック・パブリッシング」について全く取り上げていなかったのですが、今後は少しずつ記事として取り上げていきたいと考えています。
というのは、現在発売されている某雑誌で「Movable Type はスタティックなHTMLページ生成しかできません」ということが書かれており、Movable Type のブログツールとしての著名度に比べ「ダイナミック・パブリッシング」についての認知度が低いのではないかと懸念した次第です(私もその一人だったかもしれませんが)。
※スタティックページ生成を、ここでは便宜上「スタティック・パブリッシング」と称します。
1.スタティック・パブリッシングとダイナミック・パブリッシングの比較
まずは概要ということで、スタティック・パブリッシングとダイナミック・パブリッシングの各評価項目について、表で比較してみました。
項目 | スタティック | ダイナミック | ダイナミック・パブリッシングを設定したページおよび管理画面 |
---|---|---|---|
再構築 | 要 | 不要 | 「ページを再構築する」という作業がなくなります(「保存」ボタンはデータベースに変更を反映させるだけ)。 |
再構築による500エラー | あり | なし *1 | 再構築がなくなりますので、500エラーが発生しなくなります。 |
ページ表示 | 早い | やや遅い | アクセス毎にPHPを実行してページを生成するため、その分時間を要します。*2 |
ディスク容量 | エントリー数に比例して増加 | 少 | スタティックページを生成しないため、ディスクの消費が少なくなります。*3 |
エントリー削除後のHTMLファイル | 残らない *4 | 残らない | スタティックなファイルを生成しないので、誤って公開してしまったエントリーもアクセスされなくなります。 |
コメント・トラックバック処理 | やや遅い | 早い | コメント・トラックバック受信によるスタティックページ生成処理がなくなる分、処理が早くなります。 |
テンプレートタグ関連のプラグイン | 利用できる | 利用できない | PHPで動作するため、当サイトで公開している「Movable Type プラグイン一覧」で掲載しているテンプレートタグ(<MTxxx> みたいなもの)が使えない場合があります。*5 *6 |
どちらを選択するかについては、ご利用のサーバ環境等に依存します。
2.Movable Type でのメリット
1項に記していない、Movable Type を利用する際における大きなアドバンテージは、ダイナミック・パブリッシングとスタティック・パブリッシングをテンプレート単位に選択できることです。したがって、リクエストの多いメインページやRSSフィードはスタティック・パブリッシング、比較的アクセスが落ち着いている(と思われる)アーカイブページはダイナミック・パブリッシングで運用することが望ましいでしょう。
*1:単純に「ダイナミック・パブリッシング」にすれば、再構築のストレスから解消できるという訳でもないようです。例えば、ロリポップではサーバ+DBのパフォーマンスの問題か、「ダイナミック・パブリッシング」が快適に動作しないケースがあるようですので、導入する前にレンタルサーバのサポートやネット上で情報を入手されることをお勧めします。
*2:キャッシュ機能を利用することで改善されます。
*3:キャッシュ機能を利用するとディスクはその分必要になります。
*4:オプション設定が必要。詳細は「Movable Type のエントリー削除でHTMLファイルも自動的に削除する」参照。
*5:プラグインを利用したい場合は、The blog of H.Fujimoto さんの「再構築不要化カスタマイズ(MT3.3専用版)」をお勧めします。
*6:テンプレートタグ関連のプラグインはPHPで作成すれば対応可能(通常のプラグインはPerl)です。ダイナミック・パブリッシング用プラグインはほとんど出回っていない状況ですが、中には対応しているものもあります。
- Movable Typeのダイナミックパブリッシングで「An error occurs.」になる場合の対処
- さくらインターネットで Movable Type のダイナミックパブリッシングによる500エラーを確実に解消する方法
- MT::FileInfoについて
- ダイナミック・パブリッシングで perl のプラグインを利用する
- Movable Type の再構築を不要にする「ダイナミック・パブリッシング」(その2:設定方法)
≫ 独 再構築不要化カスタマイズ(MT3.3専用版) from ぼしょぼしょ(もとみちPresents!) ← クリックでTOPに戻る。
小粋空間さんの記事で、 「ダイナミック・パブリッシング」を利用することで 再構築... [続きを読む]
≫ Jungle Java - 『改訂新版 Movable Type 標準ハンドブック』 from Jungle Java
「Movable Type」にダイナミック・パブリッシング機能があることも、この本で初めて知りました。
関連情報
・小粋空間: Movable T... [続きを読む]