MODXについて
はじめに
MODX(モドエックス・モッドエックス・モードエクス)はコンテンツマネージメントシステム。GPLライセンスに則って配布されており、個人・法人を問わず誰でも無償で入手し、自由に利用できます。ユーザ登録手続きは不要です。
Evolition・Revolutionの2タイプが存在し、いずれも並行して開発が進められています。
分かりやすく操作性にも優れた管理画面
コンテンツとページが一対一で関連付けられたシンプルな管理が特長で、「構造のWYSIWYG化」を実現しています。管理画面に常に表示されているリソースツリーを見れば、編集したいページをすぐに見つけることができ、ワンクリックで編集画面を開くことができます。

▲分かりやすいコンテキストメニュー。ツリー上の任意のページを右クリックすると表示されます。ページ名を普通にクリックするとダイレクトに編集画面を開きます。

▲Revolutionでは各ページの並べ替え・移動をマウス操作で行なうことができます。
MODXはオーサリングツール指向のCMS
MODXは、ホームページビルダーやDreamweaverなどのようなオーサリングツール的な特性を持つハイブリッド型CMS。作りたい場所に自由にページを作ることができ、自由に編集・移動・複製・削除できます。普通のCMSなら標準で備えている機能が意外となかったりしますが、オーサリングツールとして重宝する機能は揃っています。
独自のコンテンツ構造を持たないため習得しやすい
独自のコンテンツ展開ルールを持たない、プレーンなコンテンツ構成。ページ間のリンクに関して、MODX本体は何も行ないません。オーサリングツールのようにサイトを組み立てるため、ホームページを作り慣れている人ならすぐに習得できます。
基礎的な機能に特化
MODXは記事の一覧やナビゲーション、RSSフィードなどを出力する機能を本体では備えてません。そのような動的出力が必要な場合はスニペットなどの拡張機能を用います。DittoやWayfinderなどのスニペットを標準で同梱しています。
コンテンツ指向の機能拡張「スニペット」 - 機能を追加していっても重くなりにくい構造
スニペットを用いると、コンテンツ出力を自由にコントロールできます。
return date('m月d日');
スニペットは自作も簡単。今日の日付を出力したいなら、上記のように書くだけです。
どんな複雑な機能でも、デザインとは完全に独立して管理し、ブログパーツ感覚でページ内に貼り付ける形で実装するため分かりやすいです。また、スニペットは多数作ってもシステム全体が重くなることはありません。
高度なカスタムフィールド機構を標準実装

投稿画面に入力フィールドを増設する機能が標準で備わっています。テキストフィールド・テキストエリア・セレクトボックス・ラジオボタン・チェックボックス・ファイルアップロードなど、ひととおり揃っています。
ページの表示が軽快!キャッシュ機構を標準装備
キャッシュ制御の仕組みを標準で備えており、軽快なレスポンスを実現しています。MODXのキャッシュ機構はライフタイム判定を行なわない単純な仕組みですが、そのおかげで、キャッシュ処理に起因する副作用が起きにくいです。
徹底した省メモリ設計
- MODX Evolution 1.17MB
- MODX Revolution 5.17MB
- WordPress 17.69MB
- Joomla! 8.56MB
- Concrete5 9.52MB
- Seezoo 4.22MB
- SOY CMS 7.43MB
- NucluesCMS 3.05MB
- XOOPS Cube 5.06MB
- CMS Made Simple 7.57MB
- Drupal7 13.57MB
- gpEasy 1.25MB
- LightNEasy 0.4MB
- GetSimple 0.64MB
- PukiWiki 1.95MB
- WonderCMS 21.77KB(0.02MB)
主なCMSがページの表示に用いるメモリ消費量を、標準でインストールされるサンプルのトップページで計測した場合の比較です。特にMODX Evolutionのパフォーマンスはよく、キャッシュを無効にしても500KB増える程度。このクラスのCMSとしては、多数の同時アクセスにも強い、軽い動作が特長です。
軽量なパッケージサイズ
- MODX Evolution(日本語版) 1.7MB
- MODX Revolution 7.4MB
- WordPress 4.5MB
- Joomla! 8.0MB
- Concrete5 11.0MB
- Seezoo 6.64MB
- SOY CMS 5.8MB
- NucleusCMS 1.01MB
- XOOPS Cube 7.94MB
- CMS Made Simple 2.8MB
- Drupal7 3.34MB
- gpEasy 1.3MB
- LightNEasy 0.75MB
- GetSimple 0.7MB
- PukiWiki 0.4MB
- WonderCMS 0.01MB(10.8KB)
MODX Evolutionパッケージのアーカイブサイズは1.7MB。このクラスの汎用CMSとしては軽量です。TinyMCEなど重量級の拡張が占める割合も多いため、コアだけなら850KBほどです。
システムのディレクトリ構成がシンプル
設置ディレクトリに必要なディレクトリ・ファイルは5つだけです。
(※action.phpは1.0.5J-r11から)
複雑なシステムを入れたくない案件でも、MODXは既存のプログラムに影響を及ぼすことなく控えめに働きます。
そもそもCMSとは
- メールを書いたりブログを投稿するのと同じように、記事の追加・変更が簡単
- 問い合わせフォームや掲示板、アクセス解析など、機能拡張が簡単
- サイト全体に渡るデザイン管理が簡単
一般的に、CMSには上記のようなメリットがあると言われています。MODXも例外ではありません。
CMSを用いて更新を繰り返しているうちに、サイトの全体構成が分かりづらくなっていったり、拡張を重ねるうちにシステムが複雑になり、動作が重くなったりすることはありませんか?
また、CMSは、特別なページを1ページだけ作りたい時にかえって手間がかかることがあります。
そのため「CMSは意外と面倒なことが多い」と判断され、Dreamweaverに戻るケースも多いです。CMS特有のこういった問題を解決するため、MODXは他CMSとは全く異なる発想をベースとして生まれました。
他のCMSとの違い
ブロック管理(モジュール)の概念がない
テンプレートの各部をブロック(ヘッダ・フッタ・サイドバーなど)に分けて管理する概念がありません。ブロック管理の機能自体はありますが、必要に応じて使うことになっており、基本構造としてはブロック管理は不要です。
カテゴリー・セクションなどの概念がない
カテゴリー管理の概念はありません。
ナビゲーションを自動生成する仕組みがない
記事を投稿していくだけでサイトを構築できるような仕組みを本体では備えていません。拡張機能を用います。
テンプレートが必ずしも必要ではない
投稿画面の本文フィールドにHTMLを(<html>から</html>まで)全て記述し、そのまま出力することができます。
シンプルなテンプレートワーク
MODXのテンプレートタイプはひとつしかなく、WordPressでいうところのシングルポスト(single.php)のみです。
テンプレートではロジックをほとんど使わない
MODXのテンプレート内ではPHP文を書くことがありませんし、書いても無視されます。Smartyのようなテンプレートエンジンも備えていません。
つまり
基本的にMODXはオーサリングツールです。見映えがよくてボリューム感があり、さまざまなデバイスに柔軟に対応できる多機能なサイトを魔法のように簡単に組み立てる機能は持っていません。その代わり、分かりやすさ・拡張しやすさを重視しています。自分が理解できる範囲でサイトを組み立てるぶんには、とても使いやすいCMSです。
あらゆる情報入力をフォーマット化できる
MODXの投稿画面は標準で37種類の入力フィールドを備えています。これに加え、必要に応じて入力フィールドを自由に追加できます。一般的にカスタムフィールドと呼ばれるものに相当しますが、MODXはこの仕組みが非常に充実しています。
サイト内リンクに強い
MODXでは、サイト内の各ページ間のリンクには「リンクタグ」を用いることを推奨しています。
<a href="[~3~]">ページA</a>
[~3~]というのは、対象ページのIDが「3」であることを示します。リンクタグを用いると、サイト構成の変更に伴ってURLを自動的に書き換えるため、リンク切れが発生しません。
ブログパーツ感覚
オーサリングツールならではの自由度が高いノウハウをベースとしつつ、「スニペット」と呼ばれるパーツを使ってCMS的なアプローチをページ単位で簡単に組み込むことができます。
MODXのスニペットはさまざまな働きを持つものがあり、パン屑リスト・記事の一覧・ナビゲーション・問い合わせフォーム・サイト内検索・コメントフォームなどを、ブログパーツを貼り込むように利用できます。
「名前」で悩むことがない
テンプレート名やプラグイン名など各種パーツの名前には全角文字や半角スペース、各種の記号などを自由に使うことができます。分かりやすい名前をつけて管理できます。
データベースで管理する範囲が広い
MODXでは、テンプレートや拡張機能のコード実体、サイト全体に関する設定値などもデータベースで管理します。ファイルの置き場所に依存しないため、さまざまな場面での呼び出しがしやすいというメリットがあります。
データベースとキャッシュの二層管理
MODXでは、データベースで管理するデータの大半をサイトキャッシュとして並行管理します。基本的にはキャッシュからデータを読みます。
多数のページを扱うのが苦手?
ツリータイプの操作インターフェイスのため、MODXは数十ページ程度までの小さいサイトの管理に向いていると考えられがちですが、実際はツリー形式のほうが整理しやすく、規模の大きいサイトを管理しやすいはずです。カテゴリー管理だと、ページ数が増えると埋もれがちです。
負荷に関してはEvolutionなら5000ページ前後まで、Revolutionなら数万ページでも問題ないとされています。
承認ワークフローやページの編集履歴の管理は?
まだ実装されておらず、開発を進めているところです。
ブログを作るのは苦手?
ブログを作る機能は非常に強力ですが、ツリー構造の管理画面はブログの管理には向いていませんでした。この欠点をカバーするために、2011年12月5日にリリースされたMODX Evolution 1.0.5J-r9では「リソース詳細」画面のリソースリストを強化しています。
スニペットは諸刃の剣?
通常のCMSでは、記事内では文章と画像のみ扱えます。MODXではスニペットを用いて、記事内でもテンプレート層と同じレベルの動的処理を走らせることができます。便利ではありますが、複数メンバーで管理しているサイトの場合、安全管理の観点では気をつける必要があります。
たとえばDittoなどを使って他セクションの記事を引っ張ってくるような使い方がメンバー内で普通にされている場合、サイトの構成をよく把握していないメンバーが想定外の記事を出力してしまうような事故は考えられます。
(※簡単なプラグインを作って、記事内でのタグ記述を禁止することは可能です)
MODXは、長所と短所がはっきりしているCMSです。サイトの目的と合致すれば、かなりの強みを発揮することができます。
オーサリングツールとの比較
MODXはオーサリングツールに近いCMSなので、オーサリングツールと比較するとメリットが分かりやすいです。既存のオーサリングツールに近い操作性を持ちながら、下記のようなメリットがあります。
多数のページを抱えるサイトの管理に便利
Dreamweaverやホームページビルダーなどのオーサリングツールを利用する場合、ページ数が増えてくると管理が難しくなります。MODXなら、数百ページ構成のサイトでもテンプレートの変更は一瞬で完了します。
動的処理の組み込みに便利
ナビゲーションや新着記事の一覧、問い合わせフォームなど、動的処理をブログパーツ感覚で簡単に組み込むことができます。
いつでも、どこからでもサイトを管理できる
インターネットにアクセスできるパソコンが目の前にあれば、いつでもサイトを管理できます。
複数の担当者による運用が簡単
複数の担当者が同じ記事を同時に編集しようとすると、普通のオーサリングツールでは上書き事故が起こります。これを防ぐためのロック機構がMODXには備わっています(Dreamweaverのチェックアウト機能のようなもの)。誰かが記事を編集している間は、他の担当者はその記事を編集できないようになっています。
細部にこだわることができる
多くのCMSは基本的に「手間を省くこと」を目標としていますが、MODXは、時間と手間をかけてじっくり作り込みたいサイトの管理に向いています。
インストールするだけで何も考えずに簡単に使えるような拡張機能が少ないのも、MODXの思想を考えると納得できます。細かい部分まで徹底的にこだわるサイト作りをしたい時、MODXならシステムの制限を感じることはありません。しっかりWebオーサリングテクニックを学んできた人は、そのノウハウをそのまま生かすことができます。ぜひMODXを試してみてください。








