MovableTypeには再構築という作業がついてくる
MTOS4.2はもとより、MovableTypeは静的なページを生成するブログだ。MovableTypeでは記事を追加変更するたびに、HTMLファイルを生成し、サーバに出力し、ブラウザからの要求に対して準備している。このHTMLファイルを作成する作業が、再構築だ。
再構築は面倒だ
つまりMovableTypeでは記事を書いて保存するたびに再構築が走る。テンプレートを変更した場合にも再構築が必要だ。記事の追加変更時は自動的に再構築してくれるのだが、テンプレートの場合は手動で再構築しなければならない。手動再構築が必要なのはテンプレートだけでなく、カテゴリの追加変更、ウィジェットの追加変更、ウィジェットセットの追加変更、タグの追加変更等々、つまり、何かを追加あるいは変更すれば再構築が必要になるということだ。
再構築には時間がかかる
面倒は何とか我慢するとして、再構築には時間がかかる。一つ二つの記事なら見ている間に終わるが、そもそも記事が二つくらいならブログなど使う必要はない。ボリュームが増えてくると再構築は加速度的に時間を要するようになる。
MTOS4.2の目玉として再構築時間の短縮があるが、現時点ではそれほど改善されたとは思えない。これまたMySQLが遅いという評判のlolipopの場合、当初10秒で終わっていた「すべて再構築」処理だが、使い初めて3日目現在では45秒から1分程度 かかるようになった。(サーバlolipop DB MySQL、8月12日午後3時測定)
使用後、10日でついに再構築でエラーが出るようになった。テンプレートをカスタマイズしているとはいえ、記事の数は10件もない。大量の記事を持つサイトの場合、再構築エラーは避けられないのかもしれない。(サーバlolipop、DB MySQL 8月19日)
※注釈 lolipopサーバのMySQLは遅いことで定評がある。契約したサーバとは別のデータベース専用のサーバでMySQLを集中的に稼働させているためだと思われる。lolipop でMTを稼働させるなら、データベースは MySQL ではなく、 SQLite を使う方がいいだろう。lolipop のMTマニュアルでも SQLite を指定するようになっている。現在、lolipop 上の SQLite で 別のMTサイトを構築し、実験している。結果は後ほど。
ただし、WordPressやXOOPSでも lolipopのMySQLを使っているが、MTほど極端に遅くはない。遅いのは lolipop のせいだけではないと思われる。
lolipopサーバでのMySQLとSQLiteの速度比較およびDB変更の記事 ただし,記事はMT3の話し、移行手順も過去のものとなっているのでご注意を。
テンプレート作成変更時の再構築は作業効率を大幅に悪化させる
ただ記事を追加していくだけなら、ここまでの時間はかからないだろう。ただ、それはテンプレートが完成した後の話だ。テンプレートを追加・変更する場合、「すべて再構築」する必要があり、変更するたびに数十秒待つのは耐えがたいことだ。再構築を待っている時間は無駄でしかない。<.
時間の無駄ばかりでなく、再構築により連続した思考が停止させられてしまうデメリットも大きい。作業の流れはこんな感じ。ここで1分近くの時間をただ待つことになる。
テンプレートを変更する → 保存する → 画面の再構築をクリックする → 再構築画面を開く → 再構築ボタンをクリックする → ただ再構築が終わるのを待つ → 結果を検証する
テンプレート作成者が一日に何回再構築するかはわからないが、仮に一日30回、一回1分の時間が再構築に費やされるとして、合計で30分。これを大きいとみるかどうかは主観だfが、いずれにせよ、この時間はまったくのロスである。
ちなみに、MovableTypeでも動的ページ作成方式やダイナミックパブリッシングに切り替えることは可能だが、これにも問題があるようだ(動的生成は3.1の時代に少しやっただけなので外野の意見、ダイナミックパブリッシングは怖くて実験する気になれない)。そもそもMTを使ってわざわざ動的ページを生成するなら、最初からWordPressを使った方が良いのでは・・・と思ってしまう。それにMoavbleTypeは静的ページを生成するから検索エンジンに好まれる という意見の方にとっては、動的ページに切り替えるなどというのは論外だろう。
静的ページはSEOに有利で、動的ページはSEOで不利か? については、動的だからといってSEOで不利にはならない ということをずくだすブログで検証済み。
何を再構築しているのか?
データベースから記事等を持ってきて、テンプレートに従って、静的なHTMLページを生成している ということは分かっているが、具体的な最構築の内容は分からない。スタイルシートを変更した後、保存と再構築を選択すると、どこにスタイルが適用されるのか? 分からないから、すべてを再構築するしかない というのが現状だ。MovableTypeを使ってテンプレートを効率的に作っていくには、この辺を理解しておく必要があるのだろう。