WordPress マルチサイト設定

WordPress をサブディレクトリ型のマルチサイトで運用するための、セットアップの覚書きです。説明は箇条書きにしてみました。なおWebサーバーはApacheの利用が前提です。WordPress の参考ページは「ネットワークの作成」です。

WordPressのマルチサイト化は、正式には「サイトネットワークの作成」で、1つのWordPressで複数のサイトを利用できるようにする、というものです。

各サイトはURLが同一(同じドメイン)で、サブディレクトリが異なる状態です。複数のサブドメインで利用する場合は、それぞれWordPressをインストールすることになります。

WordPressのイストール

WordPressの本体はできる限りドメインルートのサブディレクトリへ置くようにしてください。これは安易にブルートフォース攻撃を受けないための措置です。

  1. WordPressをダウンロード・解凍し、サブディレクトリへアップロードする
  2. データベースを用意し、wp-config-sample.phpを編集後、wp-config.phpで保存する
  3. サイトのサブディレクトリをアクセスし、WordPressをインストールする
    サイト名、管理者ログインユーザー名、パスワードを入力
  4. インストール後ログインし、サイトアクセスをドメインルートにする
    設定画面の一般でサイトアドレス(URL)をドメインルートにする(下図参照)
  5. index.phpのwp-blog-header.php読み込みパスを変更しドメインルートへ移動する(下図参照)
  6. サンプルページなどドメインルートからのアクセスを確認する
    エラーになるようなら設定のパーマリンク再保存などリフレッシュする
参考図:サイトアドレス(URL)をドメインルートにする
参考図:wp-blog-header.phpの読み込みパスを変更する

サイトネットワークの作成(マルチサイト化)

  1. wp-config.phpファイルに定数「WP_ALLOW_MULTISITE」を「true」で宣言するdefine(‘WP_ALLOW_MULTISITE’, true);
  2. ログインし直し、ツールの「サイトネットワークの設置」からインストールする(下図参照)
  3. インストール実行でwp-config.phpと.htaccessの書き替え情報が表示される(下図参照)
  4. ネットワーク構成ルールをwp-config.phpファイルに追加する
  5. ドメインルートにある.htaccessファイルのルールを書き替える
  6. アクセスし直して終了
参考図:サイトネットワークの設置画面

Ver.4.9.5で動作中の画面です。

参考図:インストール実行後の画面
参考図:インストール実行後の画面

「wp-config.php」に追加する定義文は、「WP_ALLOW_MULTISITE」を設定した行の下に挿入すればOKです。

「.htaccess」ファイルの書き換えは、記号「#」が記述されたWordPressの設定範囲コメント行の記述がある場合は、その内側の設定全部を置き換えてしまいます。

「<IfModule mod_rewrite.c>」の記述がある場合、「</IfModule>」の内側を置き換えます。