wordpress ネットワーク(マルチサイト)を使った複数ブログの管理

2013年6月6日

「ネットーワーク」を利用した複数ブログの管理

  • 複数のブログを個々に独立したサイトとして管理することができる。
  • ブログごとに独立した管理画面を利用できる
  • ブログごとに管理ユーザーを指定できる
  • カスタムヘッダーやカスタムメニュー、ウィジェット、テーマ、プラグインなどの機能もブログことに設定できる
  • 各ブログの URL はサブドメイン形式またはサブディレクトリ形式で構築できる(制約がある)
  • ルートページに各ブログのデータを集約する場合、データベースへの負荷やグローバルテーブルの構築などを考慮する必要がある

サブドメイン・サブディレクトリ形式の利用条件

サブドメイン形式
  • サーバーがワイルドカードのサブドメインに対応していること
  • サーバーで「mod_rewrite」と「.htaccess」が機能すること
  • WordPress がドメインのドキュメントルートにインストールされていること
  • 「WordPress のアドレス」が localhost や IP ナンバーでないこと
  • 「WordPress のアドレス」が「:80」というポートナンバーを使用していないこと
  • 「設定」→「一般」の設定項目の「WordPress のアドレス」と「サイトのアドレス」が同じであること
サブディレクトリ形式
  • サーバーで「mod_rewrite」と「.htaccess」が機能すること
  • 「WordPress のアドレス」が「:80」というポートナンバーを使用していないこと
  • 「設定」→「一般」の設定項目の「WordPress のアドレス」と「サイトのアドレス」が同じであること

ネットワーク化

  • WordPress をインストール(これが「ルートサイト」になる)。
  • インストール場所にある「wp-config.php」に以下を記述して、ネットワーク化を行う。
    define('WP_ALLOW_MULTISITE', true);

    /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ より上の行に記述する

  • 「ツール」→「ネットワークの設置」が選択できるようになるので、その画面で以下を実行
  • 「ネットワーク内のサイトアドレス」を「サブドメイン」か「サブディレクトリ」のどちらかを選択
  • 「ネットワークのタイトル」を入力
  • 「インストール」をクリックし、画面の指示に従い「wp-config.php」と「.htaccess」に設定を追加してログインしなおす
  • 「.htaccess ファイルに次を追加し、ほかの WordPress のルールを置き換えてください。」とあるが「追加」というより、置き換える。

ネットワークの設定

管理画面上部の「管理バー」から「参加サイト」→「サイトネットワーク管理者」を選択し、左サイドバーから「設定」→「ネットワークの設定」を選択。

ここでは、ネットワーク名や管理者のメールアドレスを変更することができる。また、以下の項目などを設定する。

  • 新規登録の許可:「新規登録を許可しない。」(デフォルト)になっているのを確認。セキュリティ上重要。
  • サイトのアップロード容量
  • アップロード可能なファイル形式
  • アップロードファイルの最大サイズ
  • 言語の設定(初期設定言語) 
  • メニュー設定 
  • 管理メニューを有効化:「プラグイン」にチェックを入れると、「特権管理者」の権限を持たない「管理者」ロールのユーザーの場合にも「プラグインのメニュー」を表示する

新規登録の許可の設定(セキュリティ上の注意)

あえて必要がない限り、デフォルトの「 新規登録を許可しない」にしておく(スパムの子ブログが作成される可能性があるため)。

また、「新しいサイトまたはユーザーが登録されたらネットワーク管理者にメールで通知する。」にもチェックが入っていることを確認する。(デフォルトでは入っている)

プラグインの設定

それぞれのサイトで使用するプラグインは「サイトネットワーク管理者」として新規追加および「ネットワークで有効化」をしておく必要がある。

  • 左サイドバーの「プラグイン」 から、「インストール済みプラグイン」や「新規追加」を選択
  • 「ネットワークで有効化」をクリックして有効化する

テーマの設定

  • テーマに最低限必要な以下のファイルをテーマ名のフォルダにいれて、wp-content/themes/ にアップロードしておく
    index.php
    functions.php
    screenshot.png
    style.css
  • 各サイトでテーマを使用するには「サイトネットワーク管理者」として有効化しておく必要がある
  • 「テーマ」→「インストールされているテーマ」を選択してテーマの管理画面を開き、アップロードしたテーマの「ネットワーク有効化」をクリックする。
  • 「Twenty Twelve」は標準テーマのため、初期状態で有効化されているが、使用しない場合はここで無効化することができる。

サイトの追加

「サイト」→「すべてのサイト」を選択すると、1つだけサイト(ルートサイト)が追加された状態になっている

サイトを追加するには「サイト」→「新規追加」を選択

  • 「サイトのアドレス」に追加するサイトのサブディレクトリの値を入力(英数字・小文字)
  • 「サイトのタイトル」にサイト名を入力
  • 「管理者メールアドレス」にサイトの管理者にしたいユーザーのメールアドレスを指定

管理画面の切り替え

サイトごとの設定を行うには、画面上部の「参加サイト」からそれぞれのサイトを選択するか、左メニューの「ダッシュボード」→「参加サイト」で各サイトの「ダッシュボード」をクリックして管理が面に切り替える。

インポート/エクスポート

インポート/エクスポートは、まずルートサイトで機能をインストールしてネットワークで有効化してから、それぞれのサイトごとに行う。