CMS

FC2・MovableType・WordPress...テンプレート・スキン構造の比較

今日は一日、Nucleusの専門書を読んでいました。
テンプレートの仕様や構造はひととおり理解したので、各レンタルブログ・サーバー設置ブログのテンプレートとスキンの仕様をまとめてみました。

あくまで概要ですが、ブログ移転や配布テンプレートの他システム版を考えている方は参考にしてください。

FC2ブログ・忍者ブログ

template_fc2_nin

レンタルブログはご存知の方も多いと思いますが、比較元として掲載します(笑)

テンプレートは「HTML」「CSS」の一枚ずつしかありません。
この一枚のテンプレートファイルの中で、<!–category_area–> (FC2)などのページタイプ条件分岐を組み込み、出力するHTMLを切り分けていきます。条件分岐は少ないですが、livedoorやJUGEMもこのタイプです。

CSSには独自タグを記述することはできません。一般の静的サイトのスタイルシートとほぼ同じと考えて問題ありません。

サイドの、利用者が任意で変更できる部分は、最近は「プラグイン」という名称になっているサービスが多いようです(厳密には、プラグインと言わないのでは…と思いますが)。
FC2・忍者の場合、呼び出す箇所は製作側が自由に指定できます。FC2は3セット、忍者は5セットまでです。

Seesaaブログ

template_seesaa

レンタルブログの中でも、Seesaaは少し構造が異なります。
利用者が自由に変更できる部分は「コンテンツ」と呼ばれ、普通のブログでは本体に属する「記事」もここに含まれます。
セットの場所はヘッダー・メイン・左サイド・右サイド・フッターに一つずつと決まっています。

つまりはヘッダーにブログパーツを入れたり右サイドに記事を入れたりできてしまうので、ブログサービスの中ではかなり扱いにくい分、自由度が高いと言えます。

MovableType

template_mt

MovableTypeはテンプレート構造が細かいのと、CSSもテンプレートで作成できる点が特徴です。
テキスト形式であれば拡張子は問いません。独自タグも有効になります。

テンプレートは「トップページ・アーカイブ・システム」の3ジャンルに分かれていて、必要となるものは全て一枚ずつテンプレートを作成します。
使い回したいコードは「モジュール」として、ユーザーが自由変更できる部分は「ウィジェットセット」として保存し、各テンプレートから呼び出して使用します。

はじめから一般的なブログに必要なテンプレートが全て揃っており、必要ないものを各自削除するか無効化するかを選択することになります。
この仕様と、「モジュールがモジュールを呼び出す」という複雑なデフォルトテンプレートのために、カスタマイズ初心者には少しとっつきにくくなっています。

WordPress

template_wp

WordPressは「オーバーライド」と呼ばれる仕様が特徴です。

最低「index.php」というテンプレートが一枚あれば、デザインテーマが成立します。
他に「home.php」「archive.php」などの専用テンプレートがあればそれを優先しますが、なければ「index.php」の構造をそのまま流用するので、全て用意する必要はありません。

使い回す部分で、大抵のブログに存在するヘッダーやフッターは「パーツテンプレート」、その他各自用意する部品は普通のphpとなります(と言うか全部PHPなんですが)。

「category-(カテゴリーID).php」というように、特定カテゴリー用のテンプレートを作るのも簡単なので、ピンポイント構築や、カスタマイズを勉強しながら暇なときにブログを拡張、ということができるお手軽な構造です。

各テンプレートのファイル名をちゃんと覚えておく必要があるのと、サイドバーのカスタマイズを気軽に出来ないこと、独自タグの記法が分かりにくいのが難点です。
※PHPの関数を、ほぼ素の状態で書きます。細かいこというとテンプレートとは呼べない仕様です

Nucleus

template_nucleus

Nucleusは「テンプレート」の概念が他のブログと大きく異なっています。

テンプレートは系統ごと(大体はインデックス・カテゴリー・個別など、他ブログと同様のタイプで分けるようです)にセットを作成し、
「記事を繰り返す場合の最初・本文・最後」「画像を貼った場合のHTML表記」
「コメントを繰り返す場合の最初・本文・最後」と、細かく指定していきます。

その上で、インデックス・アーカイブなどの「ページ」毎に
「どのテンプレートで」「どの形式のリストを」「何件まで表示するか」
を独自タグで指定して呼び出します。
トップページの新着記事リストであれば、「indexテンプレートで、記事リストを10件」となります。

正直、猛烈に理解しにくい仕様ですが、使いこなせば
「インデックスはサムネイル込みの一覧で」
「日別や検索結果はタイトルだけ、でもカテゴリーは概要も表示」
「個別記事は全部盛り」という細かいデザイン指定ができると思います。

まとめ

CMSをインストールしたレポートをまとめたとき同様、今回もWordPressの簡単さが際立つ形になったなあ…というのが感想です。

個人的には、プラグインやPHPに頼らなくても基本仕様でかなり細かいことができ、タグ名称が直感的なMovableTypeが好みですが、実際にカスタマイズしてみるとWordPressのオーバーライド機能はほんとうに楽です。

まずはindex.phpだけ使って、
超簡単な日記から構築してみてはいかがでしょうか。

CMS

求められる機能だけを抽出した「CMS Designer」

この記事は2007年に旧ブログで書いていたものを移動しています。
少し情報が古いところがあるかもしれません。

遅まきながら最近知ったのですが、「既存の静的ウェブページの一部だけを動的ページにする」という機能に特化したCMSツールがあるのだそうです。

CMS Designer

PHPで動作し、データはメンテナンスがしやすいXML形式での読み書き。さらに、管理画面の入力項目名・項目数もXMLで自由に指定できます。
コメント・トラックバック機能を廃し、現場で求められる機能だけを搭載した軽量CMS。
MovableTypeやWordPressが空母なら、これは零戦といった感じです。

非商用であれば無料で使えますし、商用ライセンスもCMSにしてはずいぶん安いです(MTよりは高いですけどね 笑)

一般のウェブサイトでは、「新着情報」とか「今月の○○フェア」といった部分だけは頻繁に更新されますが、それ以外のページの更新はほとんどありません。
新着情報自体も、ログを数年分確実に保管する、という必要はありません。

こういった「既存HTMLの一部だけ動的ページにする」カスタマイズはMovableTypeでも可能ですが、プラグインを導入したりしない限り、管理画面の項目名は「本文」「追記」から変えることはできません。
商品一覧や何かのデータ表など、特殊な項目が沢山あるコンテンツの製作に適していると思います。

なかなか便利そうな「CMS Designer」ですが、気になる欠点がひとつ。
デフォルトの状態では、出力ページの拡張子が「.php」になってしまいます。

データベースをHTML文書(拡張子.html)として出力するには特別な処理が必要なのですが(ブログでいえば「再構築」がそうです)、それは搭載されていません。
URLの末尾が「.html」の状態で運用されているサイトの拡張子が変わってしまうというのでは、PHPファイルが検索に拾われるとしてもクライアントのOKは出にくいでしょう。
(2009.5.1追記:仕様が変わっているかもしれません)

つまり、CMS Designerをビジネスサイトに実装するためには、本サイト内でも紹介されていますが、

  • mod_rewriteモジュールを利用してURLを擬似的に変える
  • 拡張子が.htmlのファイルがphpとして動作するようにする

CMS Designer:SEOには対応しているの?

上記いずれかを実装しなければならない
=上記いずれかの機能を実装可能なサーバーを使用している必要がある
ということです。
CMS導入の際は、この辺りも慎重に検証する必要があるでしょう。

何にせよ、私自身はとても興味を持っているので、時間のあるときに非商用で試してみようと思います。
MovableTypeの不親切な管理画面には心底辟易してるのですよ…(=_=メ