WordPress 環境をマルチサイト化する設定

WordPress

WordPressでは、サイト単位にWordPressをインストールするシングルサイト環境と、サブドメインやサブディレクトリ―を使って複数のサイトを1つのWordPress環境で運用するマルチサイトのどちらか1つの環境で構築できるようになっています。

WordPressを普通にインストールするとシングル環境が構築されます。そしてシングルサイト環境の構築後にWordPressの設定ファイルを変更することで、1つのWordPress環境の下にいくつもサイトを作ることができるマルチサイト環境が構築できるのです。

まずは、シングルサイトとマルチサイトの違いについてみてゆきましょう。

WordPressのシングルサイトの環境

1サイトのみの運用を行う場合はシングルサイト環境を構築します。

シングルサイト環境の設定で同一ドメイン配下に複数のサイトを構築したい場合、ルートの下にディレクトリーを作成して、ディレクトリーごとにWordPressをインストールしてゆきます。

完全に独立した環境であるため、WordPressの環境毎にプラグインをインストールしたり、例えば、子テーマを作成する、WordPressの設定ファイルをカスタマイズするなどの設定も、それぞれの環境に対して行わなければなりません。

WordPressのマルチサイトの環境

しかしマルチサイト環境であると、子テーマを作成する、WordPressの設定ファイルをカスタマイズするなどの設定はルートにインストールした1つのWordPress環境だけで良いのです。

また、WordPressの管理画面からサブサイトの登録を行うことで、サブドメインやサブディレクトリ―によるサブサイトが構築できます。

マルチサイトでのWordPressのダッシュボード上の設定は、サブサイト毎に独立しているのでシングルサイトの場合と変わりありません。

唯一気をつけないといけないことは、プラグインがマルチサイト対応ではないものがあることです。

プラグインは、マルチ環境に変更すると追加されるサイトネットワーク管理から一括してインストールを行い、サブサイトではプラグインを使う使わないの設定をします。

マルチサイト化はWordPressを初期インストールした段階で決める

マルチサイト化の設定はサイト全体の構成に影響を及ぼすため、WordPressを初期インストールした段階でどちらで運用するかを決めなければなりません。

同一ドメインで複数のサイトを構築する計画がある場合は、管理が行いやすいマルチサイトの環境をお勧めします。

マルチサイトには、サブドメイン形式とサブフォルダ―形式の2種類ありますが基本設定は同じです。

今回は、サブフォルダ形式で環境を構築したいと思います。

WordPressをインストールする

WordPressのサイトから、WordPressの最新のバージョンをPCにダウンロードして解凍します。

解凍されたファイル類をFTPを使ってサーバーにアップロードします。

今回のインストールでは、ドメインのホームディレクトリー直下にWordPress用のディレクトリ”/wp”を作成してアップロードしました。

WordPressのマルチサイト機能を使う設定

パーマリンクを設定する

WordPressのインストールが終わったら、まずパーマリンクの設定を行います。パーマリンクが基本設定のままになっていると、マルチ環境構築後に500サーバエラーが発生します。

管理メニュー>設定>パーマリンクから、パーマリンクの設定をカスタム設定に変更します。

カスタム設定 /%category%/%postname%

WordPressディレクトリーの”wp-config.php”を編集

サーバのWordPressの「wp/」ディレクトリー下にあるwp-config.phpを探し、ファイルをTEXTエディターで開いて編集します。

wordpress

下記の2行を任意の位置に追記します。

/** 追加設定-マルチサイト機能 */

define (‘WP_ALLOW_MULTISITE’, true);

/* That’s all, stop editing! Happy blogging. */の真上に追記しました。

/**
* WordPress Localized Language, defaults to English.
*
* Change this to localize WordPress. A corresponding MO file for the chosen
* language must be installed to wp-content/languages. For example, install
* de.mo to wp-content/languages and set WPLANG to ‘de’ to enable German
* language support.
*/
define (‘WPLANG’, ‘ja’);
/* マルチサイト機能を有効にする */
define(‘WP_ALLOW_MULTISITE’, true);
/* That’s all, stop editing! Happy blogging. */    ←この行の上に追加

編集が終ったら、FTPでサーバのもとの位置にアップロードします。

ダッシュボードからネットワークの設置設定を行う

ファイルの書き換えが終わったらWordPressを起動し、「ダッシュボード>ツール」を見るとネットワークの設定メニューが追加されているので選択します。

wordpress

「WordPressサイトのネットワークの作成」画面が表示されるので、ネットワークのタイトルとメールアドレスを入力し、インストールを開始します。

wordpress

”wp-config.php”を2回目の編集

インストールを開始すると「ネットワークの有効化中」の画面が表示され、画面上半分に「1.をwp-config.phpに追加しなさい」という内容の自分用のコードが表示されます。

PCの先ほど追記したwp-config.phpファイルの下の位置に、1.を追加し、もう一度FTPでサーバーへアップロードします。

/* マルチサイト機能を有効にする */      ←先程の追加内容
define(‘WP_ALLOW_MULTISITE’, true);
define(‘MULTISITE’, true);                             /*ここからが追加でインサートする内容*/
define(‘SUBDOMAIN_INSTALL’, false);
define(‘DOMAIN_CURRENT_SITE’, ‘○○○.com’);
define(‘PATH_CURRENT_SITE’, ‘/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);

WordPressディレクトリーの”.htaccess”を編集

次に画面下半分の「2..htaccessに追加しなさい」という内容の自分用のコードが表示されていますので、WordPressディレクトリーにある.htaccessに2.を上書きして、FTPでサーバーへアップロードします。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) wp/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ wp/$2 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress

wordpress

これで全ての設定が完了です。

ログインし直しすと、参加サイトにサイトネットワーク管理者が追加されていますので、「参加サイト→サイトネットワーク管理者→サイト」を選択します。

すると、下記のように、サイトの一覧とサイトの追加ボタンが表示されれば、マルチ環境構築完了です。

wordpress

これで1つのWordPressで複数サイトが追加出来ます。

WordPressプラグインのネットワーク共有

ネットワークで有効化する

サイトネットワーク管理者でプラグインのインストールが終了すると、「ネットワークで有効化」というボタンが表示されます。

マルチサイトの全てで同じプラグインを利用する場合は、「ネットワークで有効化」を選択します。

プラグインによってはネットワーク対応されていない場合もあります。その時はインストール後に「ネットワークで有効化」のボタンが表示されず、ネットワークに対応していない旨のメッセージが表示されます。

ネットワークで有効化を行わない

サイト毎に利用するプラグインを変えたい場合は、「ネットワークで有効化」を行わず、それぞれのサイトの管理メニューにあるプラグインから有効化します。

WordPressマルチサイト化のメリット

1つのWordPress上で全サイトを管理でき、ダッシュボードを切り替えることによりサイト間の移動が可能です。

WordPressプラグインを共有することができるほか、個々のサイトのみ単独で有効にできます。

個々のサイトで、同じテーマを使用できることはもちろん(サイト上の設定は別です)、それぞれまったく違うテーマを扱うこともできます。

WordPressマルチサイトでは、それぞれのサイトは独立していますが、同じドメインの中に存在しているのでSEO的にもメリットが大きくなります。

コメント