静的生成のブログツールの魅力
加野瀬さんのエントリーと全く逆のことを考えていることに気づいたので、真似をして書いてみる。
元ネタは動的生成のブログツールの魅力 : ARTIFACT ―人工事実―(この記事自体が、うちのブログサイト引っ越しの記録 [絵文録ことのは]2006/11/23に対する反応である)
この記事のリンク用URL| ≪ 前の記事 ≫ 次の記事
| コメント(1) | トラックバック(2) タグ:MovableType, Wordpress, サイト構築|
(旧: )
■静的生成のメリット
自分が静的生成をなぜよいと思っているのか。加野瀬さんのコメントに対して書いてみる。
- 静的生成では、過去ログが多くなると、投稿時に再構築するHTMLのサイズが大きくなり、エラーが出やすくなる。特に記事の多いカテゴリーに投稿するとかなり長時間CGIが動くことになり、エラーを起こす。HTMLファイルを持たない動的生成ならデータベースに書き込まれるだけで終わる。ただし、データベース接続に失敗することもあり、エラーと無縁という訳ではない。
- うちのブログの場合、カテゴリーページはタイトルとリンクを主とし、そこで記事を読ませるスタイルにしていないので、非常に軽量化されている。したがって、記事の多いカテゴリでも特に問題はない。
- 投稿時の再構築スピードはサーバーのパワーにかなり依存するのではないか。ロリポップの時はもはやMTそのものにログインできないレベルだったので論外だろうが、今のhetemlサーバーで計測したところ、過去記事521エントリーについて「すべて再構築」した結果、個別エントリー、カテゴリー、月別、インデックスまですべて再構築しても1分半だった。一つのエントリーを保存するなら数秒(ただし、各所に送るPINGの数が増えると、それだけ時間はかかるが、これは動的生成でも同じだろう)。動的生成はほぼ瞬間的ともいえるが、静的生成と比べてさほどメリットがあるとは感じられない。
- もちろん、これは記事を投稿する頻度にもよるだろう。自分はメインブログでは1日~数日に1回エントリー程度のペースなので、多少構築に時間がかかっても、ストレスには感じない。逆に、はてなのようにちょこちょこ追記するようなブログだと、動的生成でないと遅いと感じる可能性は高い。長文ブログなら静的生成でいいと思う。
- spamコメントやspam TrackBackは多くても100ぐらいなので松永さんのような心配はしてない。仮に一晩に1000くるといったような事態やアクセス過多になり、サーバー会社にサーバーの使用を止められても、2、3日閲覧できなくなることを大きな問題とは見てない。それよりも毎日の更新時に上のような問題でストレスがたまるほうが困る。
- 今、このサイトのMTで調べたところ、naoyaさん制作の「言及リンクなしトラックバックを弾くプラグイン」で弾かれたspamトラックバックが24時間で8652件あった。これはサーバーをくぐり抜けてきた分だけである(というか、一日平均のまともなページビューの倍近くあるというのはどういうことか)。旧サーバーだとランクも高いのでもっと多いのだが、今はMTに入れないので確認できない。
- 加野瀬さんのところはなぜそんなにスパムが少ないのだろうか。
- 旧サーバーのロリポップでは、現実に「htmlファイルは表示できるが、MovableTypeの管理画面に入れない」という状況が長く続いた。以前、あるサーバー管理者に聞いたところによると、静的に生成されたページを表示するのはどのサーバーでも同じだが、CGIなど動的に生成される場合は、サーバーに非常に負荷がかかり、またサーバー管理者の腕前によってその負荷も大きく変わるのだそうだ。
- つまり、緊急事態あるいはロリポップなどの弱いサーバーにおいて、「静的生成されたhtmlファイルや画像なら表示できるが、CGIで動的に生成されるページは表示できない」という事態は容易に想定される。
- 「動ナビ効果」などの大量アクセスがあった場合でも、静的生成ページメインで見せるのと、動的生成でいちいちCGIを稼働させるのでは、サーバーの負荷は桁違いに違う。静的生成にしておけば、普通の閲覧者が増えてもサーバー負荷はそれほど大きくならない。
- つまり、日々の更新時に数十秒の時間を取られることよりも、日々閲覧する人がページを閲覧できない、あるいはサイトが重くなるという方が困る。
- 緊急の事態でサーバーを移転しなければならなくなった時でも、そもそもデータベースを使うタイプのブログツールなら、データベースの保管さえしていれば、そこからの復元は楽だ。静的生成の場合はそこからHTML再構築の必要があるが、動的生成ならそれも必要はない。
- 緊急の事態でサーバーを移転しなければならなくなった時、もちろん、データベースを使うタイプのブログツールなら、データベースの保管さえしていれば、そこからブログツールを改めて設置し、そこから復元するのは楽だ。
- しかし、静的生成の場合は、旧サーバーに生成されたHTMLファイルをすべて新サーバーに再度アップロードすれば、それだけで見た目はすぐに再現される。もちろん、コメント・トラックバックなどCGI機能は停止しているが、ブログツールそのものを再設置するまでの時間稼ぎになる。その後、ブログツールを再設置・再設定した後(ここまでは動的生成の場合と同じ)、HTML再構築の手間も、それほどかかるわけではない。
- サーバーを移転して、同じドメインで運用する場合、DNSの問題で、ある人には旧サーバー、ある人には新サーバーが表示される時間帯が生まれてしまう(長ければ数日に及ぶ)。ファイルを両方に同じものをアップしておけば同じものが見られるが、動的生成の場合は自分自身が新サーバーに今までのドメイン名でアクセスできない間、問題が生じる可能性がある。
- ブログの魅力として、テンプレートの変更による簡単なデザイン変更があるが、静的生成では再構築の必要があり、実際に形にするまでには時間がかかる。特に個別記事のテンプレートを細かくいじろうとしたら、静的生成では大変時間がかかる。しかし、動的生成なら時間はかからない。
- うちのブログはそんなにしょっちゅうデザイン変更しない。むしろ、デザイン変更はごくまれである。したがって、全部再構築しても1分半程度の時間がかかったところで、それほどストレスには感じない。
- 新規ブログを設置する場合には、メインページ、エントリー数個(カテゴリー等も同数)とスタイルシートをいじる程度である。この再構築にかかる時間などたいした問題ではない。特にデザインの設定ではスタイルシートをいじる作業がメインとなるが、それならスタイルシートのみ「保存して再構築」にすればさほど手間はかからない。
■MovableTypeでのテンプレート設定
加野瀬さんがデザインテンプレートでもWordpressが優位と書いているのだが、最近のMTの状況を書いておく。
- 配布されているテンプレートを当てはめるだけならStyleCatcherを使えばすぐ終わる。
- 必要なテンプレートファイルをFTPでアップし、それぞれのテンプレートの「このテンプレートにリンクするファイル」でそのURLを指定すれば、そのテンプレートファイルの内容がそのまま取り込まれる。さらに、MTで内容を変更すれば、それも保存される。このテンプレートファイルへのリンクは、他のブログからも参照できるので、類似デザインブログをいくつも作る場合は極めて便利。
テンプレートが楽という意味では、SereneBachが非常に楽である。何しろ、トップページと本文・カテゴリーが一つのテンプレートで済ませられるし(別々に設定もできる)、配布されているテンプレートの読み込みも簡単である。最近はスパム対策プラグインも強力になったので、非常におすすめ。
■結論
要するに目的や自分のサーバーの状況、何を重視するかによって使い分ければいいでしょうという話。
■追記
- MTは現在ダイナミック・パブリッシング等の機能も充実しているので、MT=静的生成、というわけではない。私が使ってないだけだ。ただ、静的生成にこだわりたいならMTとはいえると思う。サイト生成用CMSとしても非常に使いやすい。
- SereneBachは、静的生成と動的生成を混在させてバランスよく使えるのが好き。特に、記事をどんどんさかのぼって読むのに便利とか、カテゴリーも一ページあたりの記事数を設定して分割できるとか、そのあたりは非常にブログらしいブログツールとして使いやすい。あとは、だれか、SereneBachでGoogleウェブマスターツール(サイトマップ)対応プラグインでも作ってくれれば完璧なんだが(さりげなくおねだり)
- 追記。The blog of H.Fujimoto:Google Sitemap用XML出力プラグイン(Serene Bach用)があった。ヽ( ´∇`)ノ。コメント欄で教えていただきました。どうもありがとうございます!
- 他のツールは使ってないので知らない。悪意はない。
- 【広告】★文中キーワードによる自動生成アフィリエイトリンク
この記事のリンク用URL| ≪ 前の記事 ≫ 次の記事
| コメント(1) | トラックバック(2) タグ:MovableType, Wordpress, サイト構築|
(旧: )
Google Sitemap用XML出力プラグイン(Serene Bach用)
http://www.h-fj.com/blog/archives/2005/12/22-074746.php
わたしはこれを使っています。
一度試してみてはいかがでしょうか。