YouTubeやってます!
Categories技術家庭科

WordPress 3.0 RC1でマルチサイトを試してみた

Date 2010/06/03 20:12  Modified date 2011/07/11 Author Yutaka  Tags HowTo Tips WordPress

 WordPress 3.0 RC1がリリースされたので、テーマやプラグインのテストのためにインストールしてみました。で、ついでに気になっていた「マルチサイト」機能を試してみました。

 WordPress 3.0の主要な新機能などは以下のページを参照のこと。

 この中でも個人的に期待要素でもあり不安要素でもある新機能が「マルチサイト」。ひとつのWordPressで複数のブログを作成できる機能です。これまで「WordPressMU」で提供されていた機能ですが、3.0から「WordPressMU」が「WordPress」に統合されたことで、「WordPress」で「マルチサイト」が可能となりました。

 この機能を利用すれば、「Livedoorブログ」とか「アメーバブログ」とか「wordpress.com」みたいなブログポータルなサイトを作成しちゃうことが出来るようになります。
 また、これまではテーマの違う2つのブログ(日本語サイトと英語サイトとか)をWordPressで運営する場合、サーバに2つのWordPressをインストールする必要がありました。この方法だとWordPress本体やプラグインの更新などの手間が単純に2倍になってしまいます。
 ですが、マルチサイトを利用すれば、1つのWordPressで複数のブログが運営できるので、管理作業がかなり省力化出来ると思われます。

マルチサイト対応手順

 WordPress3.0をインストール(またはアップグレード)した状態ではまだ、マルチサイトに対応していません。
 マルチサイトに対応させるには、最初に wp-config.php に「WP_ALLOW_MULTISITE」を定義します。場所は「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」とある行の前ならどこでも良いです。

/* enable MultiSite */
define ('WP_ALLOW_MULTISITE', true);

 保存した後に管理画面に行くと、 [ツール] メニューの中に [ネットワーク] が現れます。
 最初にプラグインを全部停止するように求められるので、仰せの通りにします。あとは、そのページに書いてある手順通りに設定していけば完了です。手順は大まかに以下の3つ。

  1. wp-content 内に「blogs.dir」というディレクトリ(サーバに書き込み権限を与えておく)を作成。
  2. wp-config.php にコードを追加。
  3. .htaccessの書換。

 変更を加えた後に管理画面に戻ると「特権管理者」というメニューが増えていると思います。「特権管理者」メニューではネットワーク全体の設定が出来ます。
 ちなみにWordPressでは、1つのWordPress上で管理されている全てのサイトをまとめて「ネットワーク」と言ってるみたいです。

その他気付いたこと

データベース

 データベースはどうなっているんだろうと見てみたのですが、どうやら、サイトの数だけテーブルが増加するようです。
 あんまりスマートではない気もしますが、かといって、他に効率的な管理の方法も思いつかないので、この方法がベターなのでしょうか。。

プラグイン

 マルチサイト化すると「プラグイン」の管理画面に「使用する」と「削除」の他に「ネットワークで有効化」というのが増えると思います。
 最初この意味が分からなかったのですが、「ネットワークで有効化」を使うと、ネットワーク上にある全てのサイトに対してそのプラグインを有効に出来るようです。
 逆に「こっちのサイトではこのプラグインを使うけれど、あっちのサイトでは使わない」という場合は、「使用する」でサイトごとにプラグインをアクティベートします。

 また、データベースの構造から考えると、WordPressのオプションに関する関数(add_option 関数とか)を使ってオプションを保存したり取り出したりしているプラグインは、多くの場合、そのまま、3.0でも使えると思います。

 一方で、プラグイン独自のテーブルを作成する仕様の場合、各サイトごとにテーブルを作成するべきなのか、ネットワーク全体でテーブルを共有するべきなのか、考える必要が出てきます。
 キャッシュファイルなどを作成する場合も、ネットワーク全体でファイルを共有するのか、サイトごとにファイルを作成するのか、検討する必要があります。

 icoroで出してるプラグイン「Simple Amazon」はまさにキャッシュファイルを作成するタイプなので、ちょっと考えないと。

まとめ

 前々から「英語版のicoroを書きたいなぁ」と思っていたのですが、2つのWordPressを管理するのはめんどくさいので、なんとなく保留していたんですよね。ひとつのサイトに英語と日本語の記事を混在させてしまう事も考えたのですが、メニューなどは日本語のままになるので、ちょっとビミョー。
 ですが、それもマルチサイト機能があれば、割と簡単に実現可能かも?!

 ですがですが、よくよく考えると、現時点で日本語の記事もあんまりアップできていないわけで。。この上、英語の記事をアップするのは無茶なんじゃないか、という気もしないでもないでもないでもない。

 まあ、まだマルチサイトの機能は統合されたばかりなので、もうちょっと様子見しようかと思っています。で、その間に英語の勉強をします。。。

Back to Top