MovableTypeの最大の弱点はエントリーの数が増えてくると、徐々に新しいエントリーを投稿したときの再構築時間が延びてしまうことです。この再構築時間が延びてしまう最大の要因は、
- アーカイブ一覧
- カテゴリーアーカイブ(そのエントリーが含まれるカテゴリー)
- 月別アーカイブ(そのエントリーが含まれる月)
などがどんどん肥大化していきます。そして、これらが肥大化すると、これらを再構築する時間がどんどん延びていってしまいます。
そこで、アーカイブ一覧を動的生成するようにMovableTypeを設定しました。「テンプレート一覧」の画面で該当のテンプレートを「ダイナミック」にします。そして、テンプレートを保存と再構築します。この背景でMovabletypeは自動的に.htaccessの内容も書き換えます。しかし、この.htaccessの書き換え内容が「さくらインターネット」では相性が悪く、ブログにアクセスすると、500 internal server errorが発生してしまいます。
この対策方法については随所で報告されています。
- Macでブログ。Movable Type 備忘録: 【さくら】でダイナミックパブリッシング
- Movable Type をダイナミックパブリッシングで再構築したら Internal Server Errorになった時の対処方法@さくらインターネット|及川WEB室 (oikawa-sekkei.com)
- [MT]さくらのサーバーでダイナミックパブリッシングが使えない | ことだま ~power of words~
本当にいろいろな方がこの現象に悩まされていることが判ります。本当であれば、「さくらインターネット」の方で対策をとってくれると助かるのですが、セキュリティか何かの関係でしょうか、以前からこの件に対する対応をする様子はありません。仕方がないので、ブログ運営者側で対応することとなります。
これらのブログでも紹介されているように、.htaccessのOption-Indexesの行をコメントアウトすることで、internal server errorは回避することが出来るようになります。意外と簡単な対応方法なのですが、コメントアウトすることに伴うデメリットは何かあるのでしょうか。今のところは特に問題なくブログは動いているので困っている点はありません。
また、ダイナミックでページを生成するときに、あまりにもページが大きくなってしまったときには、自動的にページ分割をする機能もSixapart社で紹介されています。このブログではまだ投稿しているエントリーの数が少ないので、あまりページ分割のことまで心配する必要はないのですが、念のため、このブログでもテンプレートにページ分割のセンテンスを入れておくことにしました。入れ方は簡単です。
こちら(ダイナミックパブリッシングでのページ分割 | Movable Type 4 ドキュメント)のページで紹介されていますので、タグも含めてそっくりと流用しました。
ページ分割の動作確認は出来ていませんが、今後もブログを運営しながら状況を見ていこうと思います。
コメント