最近あらためてJoomla!とWordPressの違いを考えてみました。
用途を限定した比較については統計に基づいた資料が無いので、比較というより対比になります。


2009年頃を境にして、WordPressのシェアが急拡大して来ましたが、一方でJooml!はどうでしょう。
落ちてきたのか、WordPressの数が増えたのか。。。あることに気づく前までは、寂しく思っておりました。

直近の世界でのシェアは、WordPressが60.6% 、Joomla!が7.5%程度です。



W3Techs調べ
http://w3techs.com/technologies/overview/content_management/all


今回は少々長い記事になりますが、結論から先に言いますと、ある人達にとってはJoomla!とDrupalあたりのシェアが凄く高いのでは?という趣旨のお話です。


WordPressとの対比


CMSの比較をPCに例えると、こんな感じでしょうか。

[WordPress]
  標準的な、簡単に使えるネットブックみたいなもの。色々追加はできるけど、周辺機器のケーブルだらけになる。
 シンプルだけど、一般ユーザーが必要な機能は簡単メニューがついていて、すぐ操作できる。

[Joomla!やDrupal]・・・
  業務用でもゲームでも耐えうるデスクトップPC。多様な周辺機器を内臓していて、かつ拡張スロットも豊富。
 一般ユーザーには必要ないアプリケーションも多々入っているけど、使いこなすと超便利。
 ただし、使い方を覚えるまで多少時間がかかるけど、業界人なら割と理解はしやすい。



それぞれが持つ得意分野があって、WordPressの方はその範囲が広いというより、ライトユーザー数が多いですね。

※サイト全体の構造を考慮して製作するという意味においては、コーポレートサイトなど静的なサイト製作においては、
Dreamweaverやホームページビルダーの方が面倒が少ないかもしれません。

と書いただけで終わってしまうので、あらためてWEBシステム製作基盤としてのJoomla!の特長を挙げて行きます。



Joomla!の拡張機能の豊富さ

CMS随一だと思います。
欧米では、Joomla!の多機能テンプレート、エクステンション(拡張機能)を開発する専門会社が多数あって、しかもかなり規模の大きい会社も多数存在しています。また、2009年ごろからの5年あまり経ちますが、Joomla!の世界は確実に広がっておりました。

日本でこの手の開発を行っている会社さん、極少数ですね。私のように開発現場でJoomla!の開発をしている人間に至ってはお会いしたことがありません。是非お会いしてみたいです。


私は昨年1年間で、日本円にして2,30万円程度におよぶJoomla!のエクステンション(拡張機能)を購入しました。大抵は勉強用ですが、勿論厳選した上で受託している開発案件に利用しています。あとは、面白いサイトを思いついたら、適当に立ち上げてます。

多数ある拡張機能の中で、規模の大きいサイトの構築に利用しているのは無償のものです。サポートは有償ですが。これらはビジネスユースに耐えうる、導入するだけでほぼサービス提供できるものです。勿論無償で利用できるものも多々あり、しかもちゃんとした会社が作ってるものが多いです。

エクステンションの例


・オウンドメディアのように、コンテンツを多様なバリエーションで見せるテンプレート
 半年契約でダウンロードし放題 50$ぐらい

・有効期限のアナウンス、決済、会員種別の管理ができるもの
 無料。海外のJoomla!の有償拡張機能販売サイトは、こういったものを利用して校正されている例が多いです。

 3ヶ月ダウンロードし放題なら$40、6ヶ月なら$70、12ヶ月なら$100みたいな会員登録制サイトです。
 参考記事) CMS+アカウント管理コンポーネント(その1 概要)・コミュニケーションサイトが立ち上がり、会員管理機能を持つコンポーネント
 400$ぐらい。

・CCK(Content Construction Kit)のベースコンポーネント
 独自のコンテンツ投稿フォームと表示するためのページを高度にカスタマイズするためのものです。

 あるお客さんでは、70件程の全国の販売店のホームページがあり、それぞれの店用にCMSを用意していました。
 今は1つのJoomla!で運用しています。本社権限、店舗権限を用意してます。各店の最新情報は本社のポータルにも表示されるようになっています。
逆に、本部で投入したコンテンツが各店舗にも反映されます。

 無料の拡張機能です。
  
 参考記事)CMS+CCKによる複雑なコンテンツ作成(その1 概要)


・CCK の拡張機能ら
 合計で200$ぐらい (バリデーション追加、フィルター追加、加工機能付き画像アップローダーとか)

・ディスカッションサイト 
 知恵袋とかAllAboutみたいなサイトが構築できます。
 これと決済コンポーネントを組み合わせると、即ヘルプデスクが立ち上がります。

・クラウドファンド用コンポーネント
 募集する側のアカウントを複数作成できるので、単独の募集だけでなく、クラウドファンドサイトを運営できるようになります。 
 30ユーロぐらいだったかと。

・ECサイトコンポーネント
 EC-CUBEとは違い、複数ショップが管理できます。
 ジャンル限定のショップポータルなんかが運営可能です。 


これらの有償コンポーネントを導入しなくとも、Joomla!にはWEBサイト構築に必要な要素が基本的に内包されています。
無いとすれば、コメント機能などでしょうか。もともとブログサイト構築を目的としていないので、その辺は多数あるコンポーネントを
利用すれば問題ないですね。

基本機能としては


・記事管理
 この辺はWordPressと相違ないです。エディターも標準のものはTinyMCEですので、使い勝手はそう変わりません。
 標準でメタデータ設定、ロボットの制御、特定の言語圏のユーザへの表示可否設定などが可能です。
 あとは、記事ごとに各種表示有無設定が可能です(タイトル、作成日、印刷アイコンなど20個程度の設定項目)

 ※記事管理画面のオプションで、デフォルトの表示有無設定が可能で、それとは別にメニューやカテゴリー設定でも
 デフォルトの権限設定、表示有無設定が設定可能です。また、設定値は上位の設定から継承されます。
 (”このページでは記事のアクセス数を見せちゃおうかな”とかいう発想に即対応できます)

 記事を複数のカテゴリーに登録できるのはWordPressの大きな特長かなと思います。
 (V3.x系から記事の世代管理できるようになりました)

・ユーザー管理 
 グループを作成するだけでなく、独自の権限を作成(命名)して、そこにグループを割り当てることができます。
 スーパーユーザーでさえ見られないユーザーコンテンツといったものも作成できるわけです。

・2段階認証
 Googleの認証アプリを標準で利用できます。1タイムパスワードですね。

・多言語対応
 アクセス元の言語に応じてコンテンツの切り替えが可能です。サイトのユーザー毎に表示言語の設定もできます。
 閲覧者の言語圏に対応して、しっかりとコンテンツを作成したい場合でも十分対応可能です。 

メニュー
 単にナビゲーションを表示するだけではなく、個々のメニュー項目に非常に多くの機能が割り当てられます。

 - 単一記事
 - 記事のカテゴリー一覧
 - カテゴリーブログ(レイアウトが柔軟にカスタマイズ可能。更にはブログレイアウトをテンプレートでも定義可能)
 - 特集記事(注目フラグの立ってる記事。これもレイアウトは変更可能)
 - 記事の作成(権限のあるユーザーに対して記事作成画面をフロントで表示可能)
 - フィード一覧
 - コンタクト(ユーザのプロフィール的なもの + 特定ユーザーに対する問い合わせフォーム(拡張可能))
 
 ほか多数+コンポーネント(多機能な拡張機能)の用意したメニュー項目(ギャラリーとか)

テンプレート
 予めスライドショーやナビゲーション、独自機能のモジュールを含んだものが多々提供されています。
 有償のもので良いのを選んでCSSを整えるだけでOKな気軽さです。

 大きな特徴としては、メニュー項目ごとにテンプレートを変更できることでしょうか。
 静的ページとブログ、特集などが混在するサイトも自由にデザイン可能です。

 ちなみにこのサイトも3年近く経ちますが、不慣れな中基本的に1週間程度で公開しました。近々大きく改変します。

モジュール
 WordPressで言うところのウィジェットに相当します。テンプレートで定義した位置に表示するか、記事中の任意の場所で呼び出します。
 
 - 最も読まれた記事
 - 記事カテゴリー
   ※非常に便利で、「ダイナミック」モードを選ぶだけで、表示中の記事のカテゴリーに属する記事を勝手に表示してくれます。
     しかもフィルター機能が充実してます。

 - タグクラウド
 - 言語スイッチャー
 - ログインフォーム
 - バナー
 - 検索
 - 記事のニュースフラッシュ(任意の記事ピックアップ)
 
 ほか、モジュールとして提供される拡張機能多数

 ※モジュールの表示有無が権限、メニュー項目に対して定義できるので、”ログイン後に有料会員にのみ表示するサイドバー”など、簡単に制御できます。

コンポーネント
 独自のメニューを管理画面に追加して、高度な機能やサービスを提供するものです。
 例えばhikashopコンポーネントはJoomla! を複数店舗対応のECサイトに拡張します。

 標準で実装されているコンポーネントの例としては以下のようなものがあります。

 - バナー
  バナー提供元(クライアント)の管理も可能です。

 - フィード
  RSS,Atomを取得して表示するメニューを作成可能です。

 - WEBリンク 
  リンク集が簡単に作成できます。

 - リダイレクト
  リンク切れになった記事を、新しいURLへと紐付け可能です。

 - 検索
  サイト内検索の機能に関する設定を行います。

プラグイン
 見た目には表れない内部機能(単機能)を提供するもので、FacebookのLike!ボタンとか、記事中の画像を勝手にLightBoxにしてくれるものとかです。
 良いプラグインは、呼び出した結果としてタグを含まない値だけを取得するものなど、ビューとの独立を考慮して作られてます。

 例えば

 - Google認証
  Googleのアカウントを持っていると、即ログインできます(デフォルトOFF)。認証機能自体がプラグイン化されているので、OAuthを利用して独自の認証が追加可能です。

 - 2段階認証
  Googleのワンタイムパスワードアプリと連携できます

 - エディタ
  エディタもプラグインとして実装されているので、複数エディタから自由に選択可能です。


 その他の特長


・MVCモデル
 これは設計についてですが、Framework開発経験者であれば容易に拡張機能開発が可能だと思います。

・全ての要素に対する権限設定
 この記事は誰が見られるかという単純なものでなく、メニューの1つ1つの項目、プラグインの動作対象、モジュールの表示範囲、管理画面の個々の機能の利用可否、
 およびそれら全てに対して「作成」「更新」「削除」・・・といった操作の可否を定義することができます。
 会員制サイトを開発する上で、基本設計が無さ過ぎてこのあたりのロジック実装の間にスパゲッティーコードが生まれるわけです(特に日本で)。

 プロフィール管理
 ユーザープロフィールもコンポーネントとして動作していて、独自コンポーネントで置き換えることが可能です。

・キャッシュ
 モジュール単位でキャッシュの有効、無効が切り替わります。ページキャッシュだと不都合が発生するセッション管理、ランキング表示などへの対応もしやすいです。

・並べ替え
 記事やメニューだけでなく、モジュールやプラグインの優先度も並べ替えられます。


個々の機能が全て拡張機能として構成されているので、自由な置き換えが可能で、しかも基本設計がしっかりしているため、基本機能をベースとした拡張にも非常に良く対応してくれます。


まとめ


グロスの比較だと、WordPressとJoomla!のシェアには大きく開きがあります。ただし、ある程度の規模以上のサイト、コミュニケーションサイトやECサイトを考えた場合、Joomla!のシェアは世界的には非常に高いとあらためて思いました。
多用なコンテンツを管理し、柔軟に配置するという基本機能をユーザーの権限管理に紐付けてあげれば、記事配信サイトとしては十分機能します。それに加えて世界中の、設計能力の高い会社さんが高品質で有用な拡張機能を多々提供してくれております。

WordPress の利用層はそれこそ個人でブログを解説する人から、割と大き目のオウンドメディアサイトを立ち上げる開発会社まで幅広いです。

グローバル変数を多用しているので、どこからでも必要なデータを取り出せるというのがWordPressの強みでしょうか。パフォーマンスについてはサーバ増強に比例するので問題ないですしね。
ただし、多数のカテゴリーや記事を扱う場合、あのJavascriptを多用した管理画面だとマウス操作で腱鞘炎になってしまうのが残念なところ。
管理画面をカスタマイズするのも、記事に何か挿入するのも、全てプラグイン(単純な機能)の積み重ねで行うことができる反面、設計が甘いと、わけが分からなくなってしまいます。
何のためのCMSなんだろう?という感想を持ってしまうわけです。
とはいえどこでも何でもできる強みはあると思います。

Joomla! というのはある程度WEBの構造、設計に携わって来た、英語、フランス語、ドイツ語圏の人達がサイト立ち上げのために利用する便利なCMSという位置づけに落ち着いたと言えます。
必要なエクステンションを探し、いくつか組み合わせても設計が独立してるので干渉も少なく、基本機能と組み合わせることで以前に紹介したようなサイトが短時間で構築できてしまいます。
一番高いエクステンションで、開発者向けのライセンスでも年間400$程度です。普通の会社の1人日程度です。
比較的小規模なWEBベンチャーによる開発から、国連本部のサイト、IKEYAなどの大規模ECサイトの開発まで幅広く対応可能で、例えば流行のクラウドファンディングサイトを立ち上げたいなんていう要望があった場合、即日でプロトタイプを作成でき、お客さんとの初回のミーティングでその場でカスタマイズなんてことも出来てしまうわけです。

先日聞いた話だと、インドのWEB開発会社さんが、Joomla!を利用して、大規模サイトの(他社があきらめた)リプレイスをどんどん行っているそうです。

課題としてはローカライズや日本語での情報拡充なんでしょうけど、英語での情報は公式のムックも多数出ていて、英語が読めるエンジニアさんさえ確保できればクリアできる話なのかと思います。

 

結論

それぞれの持ち味を活かした住み分けがあると思います。Joomla!をWordPressと同じようにライトユーザーに勧めることは、若干ビジネスモデルとしては難しいところがあると思います。丁寧なドキュメントやサポートを提供したり、不要なメニューは非表示にする、その上で必要な機能を拡張した上でサイトを提供するというやり方が合ってそうです。勉強すればするほど多機能な大規模サイトを作りやすくなるのがJoomla!です。単純にシェアが低いからといって、廃れていってしまうものでは全然無いという点は強調しておきたいと思います。