MovableType 4.2 (4.1 だったかも)になって、アーカイブ毎に構築方法を個々に設定できるようになりました。この構築方法を適切に設定してやることで、MovableType の再構築にかかる時間を短縮することができます。このエントリではその設定方法と具体的な判断基準をまとめてみたいと思います。今まで再構築が遅くてイライラが募っていたユーザの方は是非試してみてください。
個々のテンプレートの編集画面にある「テンプレートの設定」をクリックすると現れる「公開」セレクトボックスで、そのテンプレートの構築方法を指定することができます。MT3.x からバージョンアップされたユーザは、標準でここが「スタティック」に設定されているはずです。各設定項目についてはブログの公開プロファイルに詳細があるので、そちらを参照してください。ここでもそれぞれの構築オプションについて簡単にまとめておきます。
run-periodic-task
が実行されたタイミングで再構築が行われます。MovableType の再構築で待たされる要因のほとんどは、スタティックなテンプレートの構築に費される時間です。いかに再構築を高速化するかということは、すなわち、いかにスタティックなテンプレートを使用しないか、という一言に集約することができます。
では具体的に、どういうテンプレートの場合に、どういう構築オプションを選択すればよいのでしょうか。簡単な判断規準を以下の表にまとめてみました。これによると、スタティックであるテンプレートというのは、実際にはごく限られたものだけに絞ることができます。
更新頻度:高い | 更新頻度:低い | |
---|---|---|
即時性:高い | スタティック/ダイナミック | 手動 |
即時性:低い | 公開キュー | 手動 |
個別エントリアーカイブやウェブページではスタティック/ダイナミックパブリッシングが最適です。編集内容を確認したり、投稿されたコメントや受信したトラックバックを即座に反映する必要があるからです。また、例えばこのサイトの左サイドバーのように、最新コメントや最新トラックバックを一覧表示する場合にも使用します。また、RSS リーダーのためのフィードも即時性を求められることからスタティック設定にしておきます。
カテゴリアーカイブや月別アーカイブなどは、記事が投稿されたからといって、即座にそれを反映するような必要性はあまりないと思われます。次回に run-periodic-task
が実行されるまでの高々 1 時間程度の間、最新記事が掲載されないといった程度問題であったりします。このサイトの場合、トップページも公開キューで再構築を行っています。コメントがあると、コメント数が即座に更新されないという点はありますが、あくまで程度問題です。意外と重い処理になるアーカイブの作成をキューに回すことで大きく高速化することができます。
ほとんど更新されることのないファイル、例えば JavaScript や CSS などのファイルがスタティック設定になっていることがままあります。スタイルを調整するなどのタイミングで構築されればよいだけなので手動にしてくのが最適です。