WordPressは通常1サイトしか運営できませんが、設定することで複数のサイトを運営することができるようになります。設定の際にサブディレクトリ型かサブドメイン型か選択するのですが、どちらか一方しか選択できず、かつ、一度設定したら後で変更することができません。
概要
今回、ドメイン取得により自分の運営しているサイトを集約させたいと思いましたが、サブディレクトリ型とサブドメイン型の両方が必要となり、どうにかできないものかと試行錯誤した結果、構築することができました。
WordPressのインストール
まずは、普通にWordPressをサーバにインストールします。
注意点としてはhttp://xins.club/blog/のようにドメイン配下のディレクトリにTOPページが来るのではなく、http://xins.club/のようにドメインのルートにTOPページが来るようにインストールします。

サブディレクトリ型マルチサイトを有効にする
サブディレクトリ型とサブドメイン型を1つのWordPressで構築するためには、まず最初にサブディレクトリ型として設定します。
設定ファイル(wp-config.php)の編集
『wp-config.php』に以下を追記します。『編集が必要なのはここまで~』の上あたりに追記すると後でわかりやすいでしょう。
define('WP_ALLOW_MULTISITE', true);
編集が終わったら『wp-config.php』をサーバにアップロード(上書き)します。
ネットワークの設定
管理画面にアクセスすると『ツール』→『ネットワークの設定』が新しく追加されていますので『サブディレクトリ』を選択して設定します。
設定すると『ネットワークの設置』と言う画面に切り替わると思います。
『ネットワークのタイトル』は内部的に使用されるものなので自分1人で管理する場合には任意で問題ありません。
ネットワークの設置を処理する
画面に表示されている内容を処理します。
- 『wp-config.php』に画面に表示されている内容を追記します。先ほど追記した内容の下にでも追記しておくと後でわかりやすいでしょう。
- ルート(TOPページの場所)にある『.htaccess』の内容を画面に表示されている内容に書き換えます。画面には『置き換えるかたちで以下を追加してください。』と言う解りにくい日本語が表示されているかと思いますが、追加ではなく書き換えをします。※既存の内容をすべて削除して、画面上に表示されている内容をコピー&ペーストします。
- 追記が終わったら『wp-config.php』と『.htaccess』をサーバにアップロード(上書き)します。
- 環境によってはその他の作業が発生するかも知れません。画面の内容をよく読みすべての作業を完了させてください。
- すべての作業が完了したらログインしなおします。面倒なので一旦ブラウザを終了させてから再度立ち上げるのが確実です。
以上で、サブディレクトリ型でマルチサイト機能を有効にすることができました。
サブドメイン型を設定する
今度は、WordPress MU Domain Mappingプラグインを使ってサブドメイン型が使えるように設定します。
- 画面左上の『参加サイト』から『サイトネットワーク管理者』→『プラグイン』を選択します。
- 『新規追加』から『WordPress MU Domain Mapping』をインストールします。インストールが完了したら『ネットワークで有効化』をクリックします。
- サーバ上のプラグインディレクトリ内にある『sunrise.php』ファイルをダウンロードして『wp-content』ディレクトリ内にアップロードします。
元:/wp-content/plugins/wordpress-mu-domain-mapping/sunrise.php 先:/wp-content/sunrise.php
- 『wp-config.php』に以下の内容を追記します。
define( 'SUNRISE', 'on' );
以上で、サブドメイン型の設定は完了です。
これで、サブディレクトリ型、サブドメイン型の両方を設定できる状態になりました。
サイトの追加
サブディレクトリ型
- 画面左上の『参加サイト』から『サイトネットワーク管理者』→『サイト』を選択し、画面上の『新規追加』を選択します。
- サブディレクトリ型でサイトを追加する場合は、このまま入力を進めていけばOKです。もともと、サブディレクト型でインストールしているので通常の流れで登録して問題ありません。
サブドメイン型
サブドメイン型はプラグインで無理やり設定するので少し手順が多いです。
管理画面側の作業
- 画面左上の『参加サイト』から『サイトネットワーク管理者』→『サイト』を選択し、画面上の『新規追加』を選択します。
- 『サイトのアドレス』は後で変更するので、とりあえず任意のわかりやすい名前を入力しておきます。
- サイトの追加が完了するとURLの最後に『id=2』の様に数字が表示されるかと思います。この数字を覚えておきます。※この場合は2
- 『設定』→『domain』を選択し、『Site ID』に先ほどの数字(例では2)を入力、『Domain』にはサイトで使用したいサブドメインを入力し『save』をクリックします。
Site ID 先にメモしたサイトID Domain 使用する正しいドメイン Primary チェック - 『サイト』に移動し先ほど追加したサイトの設定画面を開くと『ドメイン』が入力できると思いますので、3で入力したサブドメイン(例:test.xins.club)を入力します。
- 最後に『変更を保存』をクリックすれば完了です。
WordPress管理画面での作業は以上です。
サーバー側の作業
SSHなどを用いてサーバーへログインしておきます。
- 追加したサイトのルートディレクトリとWordPressのメインサイトのルートディレクトリをシンボリックリンクで同期します。
ln -s [メインサイトのルートディレクトリ] [追加したサイトのルートディレクトリ]
サーバー側の作業は以上です。
まとめ
プラグインで無理やり同期する必要がありますがマルチサイト機能の有効化さえできてしまえば後の運営は非常に簡単です。サブドメインで運営するためにはある程度のサーバー管理知識が必要ですがサブディレクトリであれば初心者でも運営はできるでしょう。