技術情報

WordPressとMobableTypeの比較 2016年度版

2016.10.04


MovableTypeでサイト検証する機会ありましたので、せっかくなので記事をまとめてみました。

かつてのブログシステムのスタンダード

今ではブログシステムといえばWordPressになっていますが、私がサイト制作を開始した2007年頃は先行して使われていたMobableTypeとWordPressは人気を2分していました。

MovableTypeはPerlというプログラミング言語動いていて、perlはCGIを動かすのに必要なプログラムで当時のレンタルサーバーはCGIならサポートされていたので、問題なく動きました。またデータベースもMySQL以外のPostgreSQLやSQLight等が利用できたので、PHPとMySQLが必須というWordPressに比べてレンタルサーバーの選択しは多いのもメリットでした。

また、htmlファイルに出力できるというのも、データベースを持たないレンタルサーバーにアップすればウェブページは公開できるのも優位な点でした。

複雑なライセンス形態

2004年、MovableTypeはバージョン3.0からライセンスが変わり商用利用は有料になりました。そして多くの個人ユーザーがWordPressや別のブログシステムに乗り換えました。

その後ユーザー離れを懸念してか、2007年のMovableType4リリース時オープンソース版MTOS(MovableTypeオープンソース)を公開しましたが、結局2013年にMovableType6になった時にMTOSの配布は5.xまでという事になり、残念ながら最新版の配布は停止しました。

現在GitHubで公開はされているものはなぜか6.xですが、これはオープンソースとしては利用はできません。5.2のブランチを使用してくれとの事です。

現在MovableTypeのホームページがちょっとわかりにくい状態になっていますのでまとめました。

MTOS(MovableTypeオープンソース) バージョン5.2.xまで。
MT6個人利用版 無償 アフィリエイト等広告収入を目的としない利用なら可能。
(広告を貼ることは可能らしいです。)
Movable Type Software (いわゆるMT6商用ライセンス) 90,000円
Movable Type クラウド版 月額5,000円から マルチドメインは 19,000円から
Movable Type EnterPrise Solution 1,800,000円から。
MovabyleType.net TypePadののようなブログサービスでホームページも作れるような拡張版でしょうか。月額2,500円から
Lekumo TypePadの有料版のようです。 月額2,000円から。

公式に比較ページあり

また、公開しなくてもテストサイトや、開発用でもライセンスが必要との事で、ある程度安価にサイト制作したい開発者にとっては厳しいライセンスになっています。

一方のWordPressはライセンスは一貫してGPLでした。

GPLはオープンソースでは一般的なライセンス形態で商用・非商用問わず利用、配布が可能でした。
GPLは配布する場合にはソースコードを公開しなければならないという、ある意味厳しい形態なのですがそもそもPHPでは全ソースコードはテキストなので関係がありません。

MovableTypeのテーマ制作

WordPressはphpで直接テーマファイルを書いていきますが、MovableTypeではMTMLというマークアップ言語を利用します。それ自体はデザインとプログラムを明確に切り分けができるので良い事だとは思います。

ちなみに記事タイトル一覧を表示するには、下記のようにします。
※ 各テンプレートのデフォルト設定を使うとして省略してます

MovableType

  <mt:Entries>
    <p><$mt:EntryTitle$></p>
  </mt:Entries>

WordPress

  <?php while ( have_posts() ) : the_post(); ?>
  <p><?php the_title(); ?></p>
  <?php endwhile; ?>

どちらも似た感じですがMTの方がさすがにマークアップ言語らしくすっきりしてますね。しかしちょっと複雑な事をしようとすると、例えばWordPressの固定ページの機能をMovableTypeに期待すると、途端に面倒になります。

実はMT3までは固定ページという概念がなかったので、カテゴリで階層を作ったりして代用しました。そのあたりが背景あるのか、
ウェブページも作っていくと時系列で管理する事になります。親ページ、子ページという概念はなく、階層構造はフォルダというページとは別の概念で構成します。
ページの階層は、この「ウェブページ」と「フォルダ」で構成していくのですが、自動でグローバルメニューや、サイトマップを表示しようとすると、公式ドキュメントでは以下のような形になります。

 <mt:SubFolders top="1">
    <mt:FolderHeader><ul></mt:FolderHeader>
    <mt:If tag="FolderCount">
        <li><$mt:FolderLabel$> (<$mt:FolderCount$>)
             <mt:Pages sort_by="title" sort_order="ascend">
                <mt:PagesHeader>
                  <ul>
                </mt:PagesHeader>
                <li class="page page-<$mt:PageID$>"><a href="<$mt:PagePermalink$>"><$mt:PageTitle$></a></li>
                <mt:PagesFooter>
                </ul>
                </mt:PagesFooter>
              </mt:Pages>
    <mt:Else>
        <li><$mt:FolderLabel$>
    </mt:If>
    <$mt:SubFolderRecurse$>
        </li>
    <mt:FolderFooter></ul></mt:FolderFooter>
</mt:SubFolders>

<$mt:SubFolderRecurse$>で再帰的に表示しているのがミソなのですが、一番初めのulだけクラスを付けたいとか、途中の階層から表示したいとなるMTMLを駆使したパズルのようになってきます。

WordPressでは、マウスで操作するカスタムメニューの場合、

  <?php wp_nav_menu(); ?>

固定ページで管理している階層をそのまま表示するには、

  <?php wp_list_pages();  ?>

のようになります。関数にオプションを入れれば、中間階層からも外側の<ul>を出す、出さないも自由自在です。

また、既存のデザインテーマをカスタマイズするのは管理画面からできるのですが、最初からデザインテーマを制作して、サイトを構築しようとすると、無駄な手間がかかります。

特にエディタでテーマファイルを編集して、表示を確認しようとすると、WordPressであれば、「編集」、「確認」の2工程ですが、
MTでは「編集」、「テーマ適用」、「再構築」、「確認」と4工程になり非常に面倒になります。途中のテーマ適用、再構築を忘れてしまうと、編集ファイルと表示に矛盾が発生して構築作業に悩まされることになります。

MovableTypeが衰退した理由

どのような記事をみてもMovableTypeが衰退した理由はライセンスと言われています。公式のサイトを見ても、もはや個人のブロガーは相手にしていないような雰囲気です。

コミュニティも収束しつつあるようです。
ノウハウを検索しようにも、書かれている記事が古いものが多く、WordPressのような活発さはなくなってしまいました。

今回ページ送り用の静的ファイルを切り分けるプラグイン、PageButeを利用したのですが、このプラグインは2015年度12月にプラグイン大賞を受賞しています。しかしPageButeは2013年から更新止まっています。

もし完全にオープンソースにしたとして開発者やユーザーが戻ってくるかというと、もう戻らないでしょう。
現在のウェブページは多種多様な機能が求められます。WodPressがデータベースを駆使してウェブ開発の基盤になっているのに対し、MTMLでテンプレートを書いて、再構築でhtmlを生成するというサイトの開発手法はついていけなくなっていると思われます。