WordPress のシングル環境をマルチサイト化するための設定方法

この記事は約6分で読めます。

南国気分

WordPressのインストール方法には、「サイト単位にインストールする方法」と「マルチサイトで構築する方法」があります。

通常、WordPressの環境を作成すると、サイト単位にWordPressをインストールされますが、WordPressを1つインストールするだけで、同じドメイン内にいくつもサイトを作ることができる機能が「マルチサイト機能」です。
「マルチサイト機能」はサブドメイン形式とサブフォルダ―形式のどちらかを選択することができます。今回は、サブフォルダ形式で環境を構築したいと思います。

WordPress4.3.1をインストールする

WordPressのサイトから、Wordpress-4.3.1-ja.zipをPCにダウンロードして解凍します。

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

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

WordPressのマルチサイト機能を使う前準備

パーマリンクを設定する

パーマリンクが基本設定となっていると、マルチ環境構築後に500サーバエラーが発生します。

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

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

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

PC内の解凍したWordPressのディレクトリー下にあるwp-config.phpを探し、ファイルをTEXTエディターで開いて編集します。

インストール

下記の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を起動し、「ダッシュボード>ツール」を見るとネットワークの設定メニューが追加されているので選択します。

img_55b6b2783d52c

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

img_55b6b2b1d27e4

”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

img_55b6b5aa88a4f

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

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

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

img_55b6b73969caf

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

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

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

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

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

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

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

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

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

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

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

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

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