今回はローカル環境下でWordPressのマルチサイト化を行います。
マルチサイトとは
WordPressのマルチサイト/マルチサイトネットワークは、1つのWordPressのみで複数のWordPressサイトやブログを運営することが出来る機能です。 1つのWordPressの中で、複数の独立したサイトを運営するような形になります。
これまで作成してきたWordPressサイトは、ローカル環境もしくはサーバーにWordpressをインストールして各ページを作ってきましたよね。イメージとしては下図のような形です。 こうしたサイト構成をシングルサイトと呼びます。
対してマルチサイトは、Wordpressを複数インストールしたように投稿や表示ページを設定するイメージです(※実際にインストールしているのは1つ)。 今回マルチサイトとして作成していくサイトは、下図のような形になります。
マルチサイト化を行うと、URLを
* サブドメイン式(○○.portfolio.com
)
* サブディレクトリ式(portfolio.com/○○/
)
のどちらかに設定することで、 ポートフォリオサイトとは別にショップサイトを運営することが出来ます。
記事ページや固定ページ、カテゴリーやタグなどのデータはそれぞれのサイトが独立して持っています。例えばportfolio.com/○○/
の方で「セール商品」というカテゴリーのブログを書いても、portfolio.com/
のカテゴリーに「セール商品」が加わることはありません。
ちなみに、テーマとプラグインは両方で使用することも、片方のサイトでのみ有効化して使用することも出来ます。今回作るサイトは2つの構成ですが、3つ、4つと派生サイトを増やしていくことも可能です。

サーバー代が安く済みそう
たくさんのサイトを運営したい場合ってありますよね。私も会社のサイトであったり、サービスのサイトであったり、たくさん運営しています。その分だけサーバーをレンタルしてサーバー代って高くなっています。これだったら一つだけ契約すれば良いのでとてもお得な機能ですね。
マルチサイト化の準備
では、さっそくWordpressのマルチサイト化を行ってみましょう。 上記の説明も実際にマルチサイト化したものに触れてみた方が実感できますよ。
マルチサイト化する方法はWordPress Codex - ネットワークの作成でも紹介されています。 合わせてご確認ください。
1.データをエクスポート
まず、ポートフォリオサイトの作成で使った データベース名portfolio のWordpressダッシュボード画面 を開いて下さい。
All-in-One WP Migrationを使って、ここまでに作成したデータをエクスポートします。 ※ All-in-One WP Migrationをまだインストールしていない方は以下を参考してください。 ローカルのWordPressデータをエクスポートする
ダウンロードして分かる場所に置いておいてください。 これ以降、データベース名portfolioのサイトは使用しません。
2.新データベースにインポート
次に前レッスン「制作環境の準備」で新規に作成した、データベース名portfolioshopのWordpressダッシュボード画面を開いてください。
プラグイン「All-in-One WP Migration」をインストール&有効化します。
「All-in-One WP Migration」インポート画面を開きます。
1でタウンロードしたエクスポートファイルをドラッグし、インポートを実行してください。
インポートが完了したら、「サイトを表示」から元サイトが再現されているか確認してください。
マルチサイト化を実行
1.マルチサイト化機能を有効にする
XAMPPもしくはMAMP内にある「portfolioshop」フォルダを開きます。 wp-config.phpというファイルを探して、エディターで開いてください。
85行目くらいにある
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
という記述を見つけてください。
その直前に下記コードを張り付けて、上書き保存します。
define('WP_ALLOW_MULTISITE', true);
wp-config.php(見本)
2.サイトネットワークの設置
注意!サイトネットワークの設置と行きたいのですが、MacでMAMPをお使いの方は設定があります。
以下のレッスンをご覧いただきもう一度こちらの画面に来てください。
ローカル環境「portfoliosop」のダッシュボードを開きます。 開きながら作業をしていた方はリロードしてください。
左メニューのツール内に「サイトネットワークの設置」という項目が表示されていれば、wp-config.phpの記述が効いています。
「サイトネットワークの設置」をクリックして開いてみましょう。 プラグインを無効化してくださいというメッセージが表示されます。
指示に従ってプラグインを一旦、全て無効化してください。
もう一度「サイトネットワークの設置」を開きます。 下図のようなサイトネットワークの作成画面が表示されます。
任意のサイトネットワーク名とメールアドレスを入力します。
インストールボタンをクリックすると、 下図のようにサイトネットワークを作成するための手順が表示されます。
画面の指示に従って必要なコードを追記していきましょう。
2-1.バックアップを取る
WordPressの指示に従って、 wp-config.php と .htaccess のバックアップを取りましょう。
どちらもWordPressを動かすうえで重要なファイルです。追記方法にミスがあった場合は画面が真っ白になってしまう危険もありますので、必ずバックアップを作成してください。
デスクトップやドキュメントなど、どこでも良いので分かる場所にフォルダを作ります。 wp-config.php と .htaccessを作成したフォルダにコピーしてください。
Windows XAMPPの場合
Mac MAMPの場合
Macの場合は前にドットがつくファイル名だった場合はファインダーで表示されません。 表示されるようにするためには以下の手順を行ってください。 1. フォルダを選択する。今回はportfolioshopフォルダを選択 2. Command + Shift + ドット(ピリオド)を押す 3. .htaccessが表示される 4. wp-config.phpと.htaccessファイルを選択し任意のフォルダにコピーを保存してください
2-2.wp-config.phpに追記
XAMPPもしくはMAMP内にある、wp-config.phpを開いてください。
1.マルチサイト機能を有効にする
で記述した define('WP_ALLOW_MULTISITE', true);
を削除します。
wp-config.php
WordPress サイトネットワークの作成画面に表示されているコードをコピーしてください。
wp-config.phpの先ほどまで define('WP_ALLOW_MULTISITE', true);
を記述していた場所に、コピーしたコードを貼り付けます。
貼り付けたら上書き保存してください。
wp-config.php

2-3. .htaccess ファイルへ追記
次に.htaccessファイルをエディターで開きます。
黄色の枠線で囲った<IfModule>
~ </IfModule>
間の記述を削除してください。
.htaccess
WordPress サイトネットワークの作成画面に表示されているコードをコピーし、
<IfModule>
~ </IfModule>
間に貼り付けます。
貼り付けたら上書き保存をしてください。
.htaccess
2-4.マルチサイト化実行
WordPressの管理画面に戻り、ブラウザでリロードをかけて下さい。 ログイン画面に遷移します。
↓ リロード
ユーザー名とパスワードを入れてログインしてください。 すると、管理バーに「参加サイト」「サイトネットワーク管理」という文字が表示されるようになっています。
この表示がなされていればサイトネットワークの設置は完了です。
3.サイトを増設する
管理バーの「参加サイト」から、サイトという項目をクリックしてください。
このWordPressで扱っているサイトの一覧が表示されます。 現時点では“portfolioshop”1つだけですね。 ショップ用のサイトを加えたいので、新規追加をクリックしてください。
サイト作成画面が開きます。 サイトのアドレスとタイトル、管理者メールアドレスを入力します。 メールアドレスでユーザーが認識されますので、今回は管理者メールアドレスをWordPressをインストールした際に登録したのものと同じにしておいてください。
ページ下部の「サイトを作成」ボタンをクリックします。
サイトを追加しました。というメッセージが表示されます。
もう一度管理バーの「参加サイト」にカーソルを合わせてみて下さい。 新たに作成した“hubfolioショップページ”が増えています。
サイトを追加しました、の横にある 「ダッシュボードを表示」というリンク部分をクリックしてください。
ダッシュボードが開けば、ショップサイトの追加は完了です。
これで1台のWordPressで複数のサイトが運営出来るようになりました! マルチサイト化するとプラグインやテーマの追加等の方法が変わります。
次回はマルチサイトの扱い方を見ていきましょう。