マルチサイト化して1つのWordPressで複数のサイトを管理する手順

マルチサイト化して1つのWordPressで複数のサイトを管理する手順

マルチサイト化して1つのWordPressで複数のサイトを管理する手順

WordPress3.0から、1つのWordPressで複数のサイトを管理するマルチサイトという機能が搭載されました。マルチサイト化すれば、1つのリソースで複数のサイトを運用できるようになります。

最近になってようやく、新規インストールしたWordPressサイトをマルチサイト化してみたので、マルチサイト化する際に行った手順をご紹介したいと思います。

これからマルチサイトで運用したいと考えていたら、ぜひ参考にしてください。

マルチサイトとは

マルチサイトとは、WordPressを1箇所にインストールすれば、そのリソースを使って他にも複数のサイトを作成することができる機能のことです。

例えば、hogehoge.comというドメインを持っていて、site1.hogehoge.comやsite2.hogehoge.comにもWordPressをインストールしたい場合、それぞれにWordPress本体(パッケージ)をアップロードしますよね。

でも、毎回アップロードするのは面倒だし、サーバーの容量も食ってしまいます。そこでマルチサイト機能を使えば、hogehoge.comにインストールしたWordPressを利用して、site1.hogehoge.comやsite2.hogehoge.comにもWordPressサイトを作成することができるというわけです。

サブドメインではなく、hogehoge.com/site1/のようなサブディレクトリでもOKです。後述しますが、サブドメインとサブディレクトリの両方で使うことはできないので、最初にどちらの形式で利用するのかを選択する必要があります。

このように、余計なリソースを使わず、効率的に複数のWordPressサイトを運用することができるようになります。

WordPressをマルチサイト化する手順

マルチサイト化した環境は、WordPress3.8の新規インストールで、エックスサーバーエックスサーバーというレンタルサーバーで実施しました。また、サブドメイン型でマルチサイト化した際の手順になります。

1. まずは、通常通りWordPressをインストールします。
2. wp-config.phpに以下のコードを追加して、マルチサイトを有効化します。

define( 'WP_ALLOW_MULTISITE', true );

記述する場所は、「/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */」の直前くらいにしましょう。

3. WordPressの管理画面を開き、[ツール] – [ネットワークの設置]にアクセスします。
4. サブドメインサブディレクトリのどちらを利用するか選択します。
5. ネットワークのタイトル、サイトネットワーク管理者のメールアドレスを入力し、[インストール]をクリックします。

WordPressサイトのネットワーク作成

サブドメインとサブディレクトリは、いずれかを選択すると後で変更はできません。

ネットワークのタイトルは、マルチサイト群の総称みたいなものなので、好きな名前を入れます。後で変更可能です。

サイトネットワーク管理者のメールアドレスは、マルチサイト群を管理する人のメールアドレスを入力します。新規サイトが作成された際などのお知らせが、入力したメールアドレスに届きます。

6. wp-config.php.htaccessに追加するコードが表示されるので、それぞれにコードを追加します。

wp-config.phpと.htaccessにマルチサイトのコードを追加

wp-config.phpに追加するコードは、手順2でマルチサイトを有効化したコードのすぐ下に追加するとわかりやすいかと思います。


define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', '*****.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

4行目のドメイン部分は、環境によって変わるので、「ネットワークを有効化中」の画面に表示されたコードをコピペしてください。

.htaccessのコードは、すでに記述されている<IfModule mod_rewrite.c>~</IfModule>の中身をすべて置き換えます


<IfModule mod_rewrite.c>
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)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>

こんな感じで、もともと書かれていたコードをごっそり入れ替えます。

それぞれにコードを追加したら、ファイルを上書きアップロードしてください。

マルチサイト化する手順の中では、ここが一番ややこしいですね。

なお、私の場合、追加するコードの上にワイルドカードDNSに関するエラーが表示されましたが、同じようにエラーが表示されても無視して大丈夫です。

DNSエラー

注意 ! ワイルドカード DNS が正しく設定されていない可能性があります。

インストーラーはこのドメイン上のランダムなホスト名 (*****.com) への接続を試みました。 その結果、このエラーメッセージが返されました: Couldn’t resolve host ‘*****.com’

サブドメインの設定を行うには、DNS にワイルドカードを追加する必要があります。たいていの場合、お使いの Web サーバーに向けた * ホスト名レコードを DNS 設定ツールで追加することになります。

サイトを使い続けることはできますが、作成されたサブドメインはアクセスできないようです。もし DNS が正しく設定されているなら、このメッセージは無視してください。

7. 右下に表示されている[ログイン]をクリックして、WordPress管理画面に再ログインします。

WordPressへの再ログイン

8. 再ログインしたら、管理メニューに「参加サイト」というメニューが追加されています。

マルチサイトへの参加サイト

参加サイトが表示されれば、マルチサイト化は成功です。

もし、管理メニューに参加サイトのメニューが現れない場合、どこか手順が間違っている可能性があります。コードが正しく追加されているか、など今一度手順を確認しましょう。

サイトの追加

新たなサイトは、[参加サイト] – [サイトネットワーク管理者] – [サイト]にアクセスして、[新規追加]から追加します。

「サイトのアドレス」「サイトのタイトル」「管理者メールアドレス」を入力して、[サイトを追加]をクリックします。「サイトのアドレス」に入力するサブドメインは、レンタルサーバーであらかじめ追加しておきましょう。

サイトを追加

「サイトを追加しました。ダッシュボードを表示するか、またはサイトを編集してください。」というメッセージが表示されるので、「ダッシュボードを表示」と「サイトを編集」にいずれかをクリックして、追加したサイトの管理画面にアクセスします。

テーマやプラグインの管理

マルチサイト化し、それぞれのサイトでテーマやプラグインを使うには、テーマやプラグインをネットワーク有効化する必要があります。

[参加サイト] – [サイトネットワーク管理者] – [テーマ]でネットワーク有効化すると、すべての参加サイトでテーマが利用できるようになります。テーマはネットワーク有効化しておかないと、利用することができません。

テーマのネットワーク有効化

[参加サイト] – [サイトネットワーク管理者] – [プラグイン]でネットワーク有効化すると、すべての参加サイトでプラグインが有効化され、個別サイトのプラグイン管理画面から表示が消えます。

逆にネットワーク有効化していないプラグインは、それぞれのサイトで個別に利用することができます。すべてのサイトで利用する必須プラグインは、ネットワークで有効化しておきましょう。

マルチサイトの注意点

非常に便利なマルチサイトですが、マルチサイト非対応のプラグインも存在します。

私が確認できたマルチサイト非対応プラグインは、Google XML Sitemapsです。Google XML Sitemapsのバージョン3.4を有効化したところ、以下のようなメッセージが表示されて使えませんでした。

This version of Google XML Sitemaps is not multisite compatible.
Unfortunately this version of the Google XML Sitemaps plugin was not tested with the multisite feature of WordPress 3.0 yet.
The plugin will not be active until you disable the multisite mode.
Or you can try the new beta which supports all the new WordPress features!

対応していないのでマルチサイトを無効化するか、ベータ版を使ってくださいということですね。言われる通り、ベータ版(4.0beta11)をインストールしてみたら、ちゃんと動きました。ベータ版が嫌な場合は、対応してくれるまで待つしかないですね。

あとがき

他にも細かい設定はありますが、WordPressをマルチサイト化するうえで重要な項目を紹介させていただきました。少なくとも、上記設定を理解していれば、マルチサイトを利用できます。

初めてWordPressをマルチサイト化する際の参考にしていただければと思います。

この記事が気に入ったら
いいね!してね♪

Twitter で

2 thoughts on “マルチサイト化して1つのWordPressで複数のサイトを管理する手順

  1. Shinta

    マルチサイト機能を調べていたのでとても参考になりました。ありがとうございます^^

    ちなみにそれぞれのサイトのテーマを変更しながら運営することは可能なのでしょうか?^^;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です