ワードプレスには、複数のワードプレスを平行して動かす事ができるマルチサイトと言う機能が標準で搭載されています。今回はこのマルチサイト化のメリットと構築方法(マルチサイト化の方法)をご紹介したいと思います。
maxresdefault

ワードプレスを複数走らせてマルチサイト化する理由

マルチサイトとは、ワードプレスを1度のインストールで、複数動いているように管理画面やウェブサイトを別に管理する事ができる仕組みです。
例えば、wordpress.comは基本的にはこのマルチサイト化の仕組みを使用して37万サイトものワードプレスサイトが一つのワードプレスで動いています。
以下のようなときにマルチサイト化はとても便利です

・Wordpress.comのようにワードプレスのサイトを複数一括管理したい時
・ワードプレスをアドレスで分けて作りたい時 例えば多言語のサイトを言語ごとに分ける事ができます
・一度のプラグインインストールで全てのマルチサイトに適応したい場合
・投稿やページの編集を複数の管理画面ユーザーで分けて管理したい場合

等があげられます

マルチサイトと普通のワードプレスの管理画面違い

マルチサイトでは管理画面からいくつでもワードプレスを追加できるようになります(図は新しいワードプレスを生成している所です。データベースの作成やアップロードは必要ありません)
multituika

管理画面の「サイト」より複数のワードプレスのテーマやユーザーを設定をする事ができます
また個別のダッシュボード(個別のサイトの投稿やページの管理)にもジャンプできます
canvas

それぞれのサイト個別の管理画面が利用可能です

下の画面を見てもらうとお分かりのようにマルチサイトの管理画面の一つですが、シングルワードプレスとほとんど変わりありません。プラグインの設定もありますが、プラグインを使うか使わないかだけ設定できます。(インストールは大本のワードプレスからのみできます)
multi3


マルチサイトを構築する

それではマルチサイトの構築方法について解説いたします。
ワードプレスでマルチサイト機能を構築する場合、wp-config.phpの設定をまず行います。
注意:現在既にコンテンツが多数あるサイトでマルチサイト化すると様々な問題がおこる可能性があります。データのバックアップを必ず行ってください

お確かめください:パーマリンクは使用可能ですか?

マルチサイトを構築する前に、パーマリンクで初期設定以外のものが設定可能かどうか調べておきます。ワードプレスのマルチサイト化ではhtaccessに設定を書き込むため、パーマリンクが設定できない場合htaccessやmod_rewriteの機能が使えない可能性があるからです。

マルチサイトを使用可にする

wp-config.php に下記の1文を /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。*/と書いてある部分の上に挿入します

define( ‘WP_ALLOW_MULTISITE’, true );

これでワードプレスでマルチサイトを構築する許可を行う事ができます。

ネットワークの設定とwp-config.phpの再修正

md1

ツール→ネットワークの設定 と進み、サブディレクトリにチェックして、インストールをクリックします。すると画面が遷移し、wp-config.phpとhtaccessファイルの設定編集内容が表示されますので、表示されている内容をコピーしてそれぞれwp-config.phpとhtaccessファイルに書き込んで保存します。

サイトの追加

newsite
いったんログアウトしたら、再度ログインします。参加サイト→ネットワーク管理者→サイト とクリックして進みます。
新規追加ボタンがあるかと思いますのでこちらからマルチサイトを新しく追加する事が可能です。

問題が起こったら?

マルチサイトで管理画面が表示されないなどの大抵の問題はhtaccessの設定が間違っているためにおこります。マルチサイトのhtaccess設定は下記のようになります

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L] #マルチサイトの複数管理画面の為の設定です

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]  #マルチサイトの複数管理画面の為の設定です
RewriteRule ^(.*\.php)$ wp/$1 [L]  #マルチサイトのサブディレクトリの設定です
RewriteRule . index.php [L]

特に RewriteBase /
の部分がワードプレス(マルチサイト)のトップディレクトリになっているかお確かめください

マルチサイトの構築、既存サイトのマルチサイト化のご依頼はWPドクターまでお気軽にご相談ください