2012年1月
データの移行に伴い、phpコードの文字化けが発生している箇所があります。
&lti や > のような文字化けが出ているコードはコピーしないでください。
現在、手直し中です。すみません。

WordPress3.0 ネットワーク構築のポイント ~サブディレクトリを使う場合~

WordPress3.0版より「Network」が追加され、複数ブログの一括管理が可能になっています。

しかしながら、WordPressのネットワーク機能は、「各々に独立した複数ブログの一括管理」というよりは、「親ブログと複数の子ブログからなるブログ・ファミリーの一元管理」という色合いが強く、既に独自ドメインで運営している複数ブログを一つの管理画面に統合する機能は備わっていません。(将来的に可能になるかもしれないが)

「ネットワーク」という呼び名は新しいですが、中身はWordPressMUです。

WP3.0のネットワーク構築には、既に出回っているMUの情報が参考になります。

場合によっては、素直にWordPressを複数インストールする方が便利なこともありますので、よく検討してからネットワーク構築を始めて下さい。

子ブログを作成するにあたり、「サブディレクトリか? サブドメインか?」についてはこちらの記事が参考になります。

サブドメインとサブディレクトリ、SEOに強いのはどっち? (海外SEO情報ブログ)

私個人の感触としては、それぞれに全く異なるテーマを扱うのであれば、「サブディレクトリ」がラクです。

PC情報「http://example.com」 に対し、「http://example.com/サッカー」「http://example.com/園芸」みたいな感じ。

海外サーバーを使っていれば、サブディレクトリに対し、独自ドメインを適用するのも簡単なので、興味があれば試してみてください。

4月10日追記。
ネットワーク機能で他のドメインを利用する場合は、次のプラグインが有効です。
WordPress MU Domain Mapping
他にもドメイン用のプラグインが幾つかありますので、「MU domain」で公式サイトを検索してみてください。

§ WP3.0ネットワーク機能の特徴

先にも述べたように、WordPressのネットワーク機能は、「親ブログ」「複数の子ブログ」からなるブログ・ファミリーを構築するためのものです。

それぞれに独立した複数のWordPressサイトを一元管理するためのツールではありません。

したがいまして、

「htpp://sample.com」「htpp://myblog.net」「htpp://moviefan.co.com」

という、ドメインの異なる3つのブログの管理画面を1つにまとめることは出来ません。
(もちろん、マルチドメインやリダイレクト機能などを使って、見かけ上、分離することはできます)

WordPressのネットワーク機能で出来ることは、次の2つです。

★ htpp://sample.comという親ブログに対し、サブドメインに複数の子ブログを作成する

「htpp://movie.sample.com」「htpp://book.sample.com」
「htpp://travel.sample.com」

★ htpp://sample.comという親ブログに対し、サブディレクトリに複数の子ブログを作成する

「htpp://sample.com/movie/」「htpp://sample.com/book」「htpp://sample.com/travel」

ここではサブディレクトリに子ブログを作成する場合のポイントを紹介しています。

3.0 自体がベータ版なので、ネットワーク機能はこれからどんどん改良が加えられていくと思われますが、現時点で、ネットワーク構築の参考になれば幸いです。

★マルチ化の方法については、Lovelogさんで詳しく紹介されていますので、下記の記事をご参照ください。
WordPress 3.0-beta1をマルチ化する方法

http://lovelog.eternal-tears.com/wordpress/wp-install/wordpress30-multi/

§ ネットワークを活用するための参考記事

[seriesposts]

ネットワーク管理画面の実際

サブディレクトリ下に子ブログを設置すると、「SuperAdmin」の「Sites」に、子ブログの管理画面にアクセスする為の項目が表れます。

「Backend」をクリックすると、子ブログの管理画面に切り替わります。

通常の管理画面とまったく同じで、記事の編集、テーマの選択、プラグイン管理などが行えます。

「編集」では、サイトURLや日付表示、自動アップロード先やイメージのリサイズなど、「オプション」の項目を設定することができます。

また複数の管理人で操作を行う場合、SuperAdminは、アップロードできるファイルのサイズ、編集できるテーマなどを細かく設定することができます。

§ ネットワーク機能の特徴

サブディレクトリを使ってネットワークを構成する場合、考慮すべき点は次の3つです。

(1) 各ブログのデータテーブルは1つのデータベース内に生成される。

たとえば、親ブログのデータテーブルを「wp」というプレフィックスで作成した場合、2つめの子ブログは「wp_2」、3つめの子ブログは「wp_3」という形で同じDB内に自動生成されます。

もし、4つのブログを作成した場合、1つのDBに、40以上のデータテーブルが作成されることになります。

現段階では、各ブログのデータテーブルの置き場を指定することはできません。(プレフィックスも)

つまり、1つのDBをベースに複数のブログが稼動することになるので、DBに問題が起きれば、すべてのブログに影響が出やすくなります。

DBを使い分け、リスクを分散させることができないので、導入にあたってはその点を十分に考慮しなければなりません。

アメリカのフォーラムでは1つのデータベースに3万6千個ものデータテーブルが作成され、「どうしたらいいですか(; ;) 」という嘆きの声が寄せられていました。

もっとも、この問題は、WPMU用のプラグイン、もしくは「MUプレミアム ディベロッパー」で公開されているプラグインを導入することで解決するようです。
しかしながら、後者は有料サービスであり、一般には詳しいインストール手順を参照することができないので、プログラムが理解できなければ導入は非常に難しいと思います。

  • データベースを分散させるWordPress MU用のプラグイン
  • Shar DB http://wordpress.org/extend/plugins/shardb/
    wp-config.phpとプラグインファイルの書き換えで使えるようになるので、試してみる価値はあると思います。

    本格的にサポートを必要とするなら、WordPress MU プレミアム ディベロッパーに参加するのもいいかもしれません。
    メンバーシップは有料ですが、MUおよび、WordPress3.0におけるデータベースのマルチ化、それ専用のプラグインも配布されていますので、データテーブルが何百個にも増大してしまうようなら、こちらでヘルプを求めるのが最善かと思います。
    フォーラムも充実しており、WordPress3.0のネットワーク機能を踏まえたデータベース・マルチ化について、3.0の公式リリース後、ハウツーが公開されるようです。
    http://premium.wpmudev.org/project/multi-db



    (2) 子ブログのサブディレクトリはバーチャルである

    たとえば、「http://sample.com」に「http://sample.com/movie」という子ブログを作成した場合、「movie」というサブディレクトリはバーチャルであり、「movie」というフォルダが新たに作成されるわけではありません。

    public_html直下に「movie」というフォルダを作ってしまうと、リンクエラーを生じます。



    (3) WordPress本体ファイルはpublic_html直下に置く必要がある

    一般的に、WordPressを設置する場合、public_html下にwordpress専用フォルダを作り、「オプション」並びに index.phpと.htaccessの編集によって、ブログURLを「http://sample.com/wordpress」から「http://sample.com」に設定するケースが大半だと思うのですが、ネットワークを構築する場合、WordPressの本体ファイルはpublic_html直下に展開しなければなりません。

    http://sample.com/wordpress/wp-login.php でログインしていたのが、http://sample.com/wp-login.php になるわけです。

    public_html下にimageやCGI用のフォルダを作り、様々なファイル管理している場合、WordPressの本体ファイルと入り混じって、操作上のミスが生じる可能性が高くなります。

    本体ファイル以外のフォルダやファイルの置き場所を考慮する必要があります。

    § 自動アップロードのフォルダはどうなる?

    ネットワーク機能を立ち上げると、wp-content内に「blogs.dir」というディレクトリが自動生成されます。

    その直下に、「1」「2」「3」というブログIDのフォルダが作成され、その直下にさらに「files」というフォルダが作成されます。

    自動アップロードした画像は、この「files」の中に年月別に振り分けられていきます。

    たとえば、http://sanmarie.me/poland/の投稿画面で画像をアップロードした場合、画像ファイルへのリンクは、

    http://sanmarie.me/poland/files/2010/04/●●.jpg

    となります。

    本来なら、wp-content/blog.dir/2/files/・・・・となる部分がバーチャルリンクに置き換えられるわけです。

    しかし、このバーチャルリンクは、カスタムフィールドの中では認識されません。

    絶対パスで記入する必要があります。

    他にもプラグインなどでURLを記入する場合、絶対パスでないと認識しない例もありますので注意が必要です。

    § プラグインはどう動く?

    インストールしたプラグインは、ネットワーク下のすべての子ブログで個別に管理することができます。

    プラグインの各種設定も、各ブログで設定することができるので、ブログAで設定した内容が、ブログBに影響することはありません。

    ただし、Akismetのように機能がシンプルな場合は、「ネットワーク有効化=Network Activate」しても構いませんが、プラグインの中には個別にActivateしないと上手く動作しないものがあるので、何でもかんでもNetwork Activateしないよう注意が必要です。

    また、プラグインファイルを編集した場合、その内容はすべてのブログに反映されるので、使い分けたい場合は注意が必要です。

    § テーマ管理はどうなる?

    インストールしたテーマは、ネットワーク下のすべての子ブログで利用することができます。

    SuperAdminは、子ブログの管理人に対し、どのテーマの編集を許可するか、設定することができます。

    ただし、親ブログと子ブログで同じテーマを利用し、それぞれに編集を加える場合、各ブログに対応したテーマ・ファイル(コピー)を用意する必要があります。

    § データのインポート(サイト移転)はどうなる?

    これが結構曲者です。

    WordPressのインポート機能を使って、WordPress WXR でデータを移した場合、日本語表記のタグとカテゴリーが重複して生成される現象があります。(私の環境だけかもしれませんが)

    また、iflameやembed、fontタグなどが自動的に削除されてしまう現象もあります。

    これを回避するプラグインもあるのですが(公式サイトで見ました)、データベースにも影響するそうなので、もし、AmazonやYouTubeのタグを投稿内に挿入する場合は、それ専用のプラグインを使った方が賢明だと思います。

    インポート機能を使うより、phpMyadminを使った方が無難だと思います。

    § RSSはどうなる?

    フィードに関しては、各ブログが個別に生成するので、複数ブログの新着記事が混ざり合うことはありません。

    一方、Pingは、別々のサイトとして認識されるので、上手く飛ぶ場合と飛ばない場合があります。

    § パーマリンクはどうなる?

    ネットワークを構築すると、wp-contents 内に「blogs」というフォルダが自動生成され、一時的にパーマリンクが /blogs/ という形に書き換えられますが、「Super Admin」→「Sites」の各サイトの「編集」オプション画面で /blogs/を削除し、%postame% などに設定し直せば、blogs抜きでURLを作成することができます。

    パーマリンク

    § 検索エンジン用のサイトマップはどうなる?

    デフォルトの状態では、各々に独立したxmlファイルを作成することはできません。

    既存のサイトマップ用のプラグインを改変して、力業で認識させる方法はありますので、ご参考までに。

    WordPressネットワークでGoogle Sitemapを複数サイトから作成する

    § ブログ同士の連携はどうなる?

    少しずつですが、ネットワーク機能を対象とした新しいプラグインが開発されています。

    各ブログに共通のタグを表出したり、他ブログの新着記事を表示したり、複数ブログにマルチポストを投稿したり、様々な応用が図られています。

    MU用のプラグインも使えますので、ぜひこちらをチェックしてください。

    WPMU用のプラグイン置き場
    http://wordpress.org/extend/plugins/tags/wpmu

    子ブログの新着記事を親ブログに表示させるプラグイン。
    データベースから読み込むので、フィードよりはるかに負荷が小さいです。
    日本製なので、解説も分かりやすいです。
    jopGlobalBlogArchive(WordPress MU Plugin)

    複数ブログにまたがって新着記事などを表出するプラグイン。ウィジェットのみ対応です。
    Blog Topics For WPMU

    キャッシュを生成してコンテンツを静的に見せるプラグイン。
    有名なWP Super Cacheはネットワーク(MU)への導入が難しいみたいですが、こちらはmu-pluginsフォルダにPHPファイルを一点アップロードするだけで簡単にインストールできます。
    サイトの負荷を抑えるのに重宝します。
    参照記事はWordPress 負荷を抑えて表示を速くする

    Quick Cache ( A WP Super Cache Alternative )

    § タグやカテゴリースラッグが変更できない

    ネットワークにすると、タグやカテゴリースラッグが管理画面から編集できない不具合が生じます。

    デフォルトは日本語のスラッグになります。例)/category/映画/

    現段階では、phpMyadminを使ってwp_termを直接編集するしかありません。

    この点が改善されれば、ずいぶんラクになるのですが・・。

    § ネットワーク構築のメリット・デメリット

    ネットワークを構築するにあたって、まず最初に考慮しなければならないことは、「サブドメイン」か「サブディレクトリ」かという点です。

    よく「サブドメインとサブディレクトリではどちらがSEOに強いですか」という質問がありますが、これは専門家でも断言できないテーマであり、トラフィック量やコンテンツの内容によって結果も大きく異なります。

    ネットワークにおいては、サブドメインかサブディレクトリかを慎重に選ぶことが大きな鍵かもしれません。

    複数ユーザーで一つのネットワークを共有するならともかく、個人で使用する場合のメリットは、「アップデートやインストールの手間が一度で済む」ぐらいで、アクセスアップやサイト構築に大きな効果があるわけではないです。

    むしろ、「データベースの管理が大変」「プラグインが動かなくなる」といったデメリットも多く、素直に複数のWordPressをインストールした方が利口かもしれません。

    ただ、ネットワーク機能は始まったばかりですし、これに対応した新しいプラグインも少しずつ出始めています。

    ブログ間の連携をとりたい場合、一つのデータベースを共有して、データのやり取りができるのはやはり大きな強みですし、今までやれなかったこと──たとえば、姉妹サイトに共通の関連記事を表示したり、タグを挿入したり──ということも、将来的には可能になるかもしれませんので、その点では楽しみな機能ではあります。

    まとめれば、ブログ同士の連携を図りたい場合、ネットワーク機能は大きなポテンシャルをもち、使いようによってはユニークなメガサイトが構築できますが、そこまで連携を重視しない場合、ネットワーク機能はかえって足を引っ張ることになる、と言えるかもしれません。

    今後の発展に期待したいところです。

    Ads

    7 Comments

    1. XREAにwordpressを複数設置し楽したいのだった - みついれ@うぇぶろぐ
      9月 28, 2010 @ 04:30:18

      [...] Retoucher.jp » WordPressでの複数ブログ化 サブドメインに複数 mamelog @MtS – エックスサーバーでWordpressを複数設置する。 [...]

      返信

    2. プラグインリスト | mamakiru.net
      7月 23, 2011 @ 16:43:15

      [...] 追記 マルチの使い方のノウハウサイトを発見。 WordPress3.0 ネットワーク構築のポイント ~サブディレクトリを使う場合~ [...]

      返信

    3. WPサイトをマルチサイト化して、外部ブログをインポートする | ieha
      10月 23, 2011 @ 14:15:39

      [...] WordPress3.0 ネットワーク構築のポイント サブディレクトリを使う場合 WordPressのマルチサイト機能で複数のブログを管理する WordPress [...]

      返信

    4. WPマルチサイト化、外部ブログインポートするメモ | ieha
      10月 23, 2011 @ 14:18:19

      [...] WordPress3.0 ネットワーク構築のポイント サブディレクトリを使う場合 WordPressのマルチサイト機能で複数のブログを管理する WordPress [...]

      返信

    5. WordPress | deta
      2月 23, 2012 @ 00:41:54

      [...] 参照記事はこちら→『WordPress3.0 ネットワーク構築のポイント ~サブディレクトリを使う場合~』 [...]

      返信

    6. WordPress | 1page-9
      3月 04, 2012 @ 13:18:56

      [...] 参照記事はこちら→『WordPress3.0 ネットワーク構築のポイント ~サブディレクトリを使う場合~』 [...]

      返信

    7. WordPress
      3月 07, 2012 @ 00:51:21

      [...] 参照記事はこちら→『WordPress3.0 ネットワーク構築のポイント ~サブディレクトリを使う場合~』 [...]

      返信

    Leave a Reply

    Trackback URL

    QR Code Business Card