Amazon10/19まで!プライム感謝祭開催中! セール会場へ

WordPress│サブドメイン型のマルチサイトの設定方法

このページには過去のホスティング環境の操作例が含まれます。新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認してください。サイトネットワーク化は定数を削除するだけでは元に戻せません。復旧は変更前の一式から行います。

サブドメイン型のマルチサイトを作成してみましたので、その備忘録です。

ConoHaのサーバーの場合、パーミッションの関係で他のサーバーより少しだけ面倒です。

目次

著者

WEB制作をしているデジタルノマド
WordPressのカスタマイズが好きで、色々と自作しています。

WordPressのカスタマイズに困ったらご相談ください!

マルチサイトの特徴

マルチサイトの特徴を端的に書いておきます。

このサイトの仕組みは多言語サイトや支店を持つサイト等に使われます。

マルチサイトの特徴
  • 1つのデータベースに複数のサイトを格納する
  • 複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる
  • サブディレクト型、サブドメイン型、そして別ドメイン型でも管理できる
マルチサイトの構成や管理の仕組みを示す図。

マルチサイトのメリット

メリットとしては、テーマ、プラグイン、ユーザーをまとめて管理できるので、

複数サイトを横展開する時に設定周りが効率よく管理できます。

マルチサイトのデメリット

1つのデータベースに複数のサイトを格納する関係で、バックアップや復元が普通のプラグインだと難しいです。

またマルチサイトの設定も初心者には難しい点があります。

マルチサイトの設定方法(共通部分)

まずはWordPress側の設定をします。

サブドメイン・サブディレクトのマルチサイトの設定方法ですが、FTPとコードを追加するという作業が発生します。

STEP
マルチサイトの設定をONに

FTPを使って、WordPressのデータにアクセスします。

ドメイン名のフォルダの直下wp-config.phpをテキストエディタで開いて、wp-settings.phpを読み込む行より前(編集終了コメントより上)に下記のコードを追加します

/** Multisite */
define('WP_ALLOW_MULTISITE', true);
マルチサイト設定を有効化するためのコードを追記した画面。

これでマルチサイトの設定がONになりました。

管理画面のツールからWordPress サイトネットワークの作成というメニューが追加されているのを確認できます。

管理画面のツールメニューにサイトネットワークの作成が追加された様子。
STEP
WordPress サイトネットワークの作成

WordPress サイトネットワークの作成のページから下記の情報を入力してインストールします。

  • サブドメインまたはサブディレクトを選択
  • サイトネットワーク名(命名はなんでもいいです。あとから命名の変更もできます。)
サイトネットワークの作成画面でサブドメインやネットワーク名を入力する項目。

今回はやや設定がめんどくさいサブドメインを選んでみました。

インストール後、2つのコードが表示されます。

インストール後に表示される追加設定用のコード。

まず先ほど編集したwp-config.phpを開いて

/* That's all, stop editing! Happy publishing. */

/* 編集が必要なのはここまでです。 それでは、WordPress をお楽しみください。 /*

と書かれたコメントの上にコードを貼りつけましょう。

編集対象のファイルで指定されたコメントの上にコードを貼り付ける位置。

続いて.htaccessですが、WordPressサイトを作りたてだと、生成されてなかったりしますので

管理画面 > 設定 >パーマリンクから、設定を変えずに空保存とhtaccessが生成されます。

管理画面のパーマリンク設定画面。

あとは先ほどと同じく表示されたコードを追記しましょう。

ファイルに追記・上書きするコードの記述内容。

元から記述されているコードに対して上書きしましょう。

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

2つのファイルのコードを追記して、FTPで更新が終えたら再ログインします。

ファイルのコード追記と更新を行う手順を示す画面。

再ログインすると管理画面にサイトというメニューが追加されます。

再ログイン後の管理画面に追加されたサイトメニュー。

サブディレクトであればここで子サイトの設定が完了しますが、

サブドメインを選んだ場合はまだ表示されません。

サブドメインと親サイトのデータとの繋ぎこみが必要になります。

サブドメイン型のマルチサイトの設定

サブディレクトと違い、サブドメインでのマルチサイトの設定は少し難易度があがります。

Webサーバー側で子サイトのホスト名を同じWordPressへ向けます。シンボリックリンクが必要かどうかはホスティング環境によるため、提供元のマルチサイト対応手順を確認してください。

ドメインの設定

ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。各サブドメインが同じWordPressの設置先へ到達する必要があります。

ドメイン設定やレコード追加の設定画面。

必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。

サブドメインの場合はアスタリスクを追加したAレコードを追加してあげます。

*.exsample.com	A	3600	123.45.67.89

ちなみにConoHa Wingの場合はサブドメイン追加時にワイルドカードDNS設定されます。

SSHの接続設定

またConoHaのサイトでもやり方が確認できます。

SSH接続するための必要な情報は下記の通り

事前に調べておく情報
  • ホスト(www.000.conoha.ne.jp)
  • ポート番号(0000)
  • アカウント名(c1234567)
  • パスフレーズ(秘密鍵を保護するもの。サーバーログインのパスワードとは別です)
  • 秘密鍵(xxxx.pem)

Tera Termを使って、SSH接続をして設定をします。

ターミナルソフトを使って接続設定を行う画面。
接続成功時に表示されるテキストの例。

以下のようなテキストが表示されれば接続成功です。

接続成功時にターミナル画面に表示されるテキスト。

ConoHa Wingサーバーの場合

黒い画面からコマンドをシンボリックリンクを作成して、親サイトのドメインとサブドメインを接続してあげるだけです。

本来、下記のコマンドで済むのですが…

ln -s /home/アカウント名(c1234567)/public_html/ドメイン(exsample.com) /home/アカウント名(c1234567)/public_html/サブドメイン(sub.esample.com)

ConoHa Wingサーバーの場合、サブドメイン登録時にsub.esample.comのようなフォルダが自動生成されてしまいます。

自動生成されたフォルダーには既存データがある場合があります。削除や権限変更を前提にせず、ホストの対応手順を確認してください。

以下の権限変更・削除コマンドは撤去しました。シンボリックリンク例も過去の環境向けであり、現在のサイトへそのまま実行する手順ではありません。

ドメインフォルダの親にあるpublic_htmlのフォルダのパーミッションの権限を変更

# 過去の権限変更コマンドは撤去。ホスト指定の権限を確認してください。

サブドメインのフォルダを削除

# 過去のフォルダー削除コマンドは撤去。既存データを削除しないでください。

シンボリックリンクを作成

ln -s /home/c1234567/public_html/exsample.com /home/c1234567/public_html/sub.exsample.com

以上で、サブドメインにドメインへのシンボリックリンクが作成作成できました。

DNS・Webサーバー・証明書の設定が一致した状態で、子サイトの管理画面へアクセスできるか確認します。

エックスサーバーの場合

しらこさんの記事が詳しいので、そちらを参考にしてみてください。

基本ConoHaの時で解説したものと一緒です。

まとめ

1つのデータベースでまとめて複数サイトを管理できるマルチサイト。

テーマやプラグインをまとめて管理できるとはいえ、初心者にはおすすめしません。

複数のサイトをまたいだ情報の管理をしたい場合など、カスタマイズが得意な方には一つの良い方法かもしれません。

管理画面が生成するネットワーク用コードを、そのサイトの設定に使います。.htaccessを使わないNginxでは同じ手順になりません。既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。WordPress公式のネットワーク作成手順を参照してください。

よくある質問:WordPressでサブドメイン型のマルチサイトを設定するとき

マルチサイトとは、どんな仕組みですか?

記事では、1つのデータベースに複数のサイトを格納し、複数のサイトに対して、テーマ、プラグイン、ユーザー、設定をまとめて管理できる仕組みです。サブディレクトリ型、サブドメイン型、別ドメイン型でも管理できます。多言語サイトや支店を持つサイト等に使われます。

メリットとデメリットは、何ですか?

記事では、メリットは、テーマ、プラグイン、ユーザーをまとめて管理できるので、複数サイトを横展開する時に設定周りが効率よく管理できることです。デメリットは、1つのデータベースに複数のサイトを格納する関係で、バックアップや復元が普通のプラグインだと難しく、設定も初心者には難しい点があることです。

設定を始める前に、何をしておきますか?

記事では、このページには過去のホスティング環境の操作例が含まれるため、新規構築でも、事前にファイル・DB・wp-config.php・Webサーバー設定をバックアップし、コピー環境で手順を確認します。サイトネットワーク化は、定数を削除するだけでは元に戻せないため、復旧は変更前の一式から行います。

wp-config.phpや.htaccessは、どう編集しますか?

記事では、FTPでwp-config.phpを開き、編集終了コメントより上にコードを追加します。ネットワークの設置後に表示される2つのコードを、wp-config.phpと.htaccessに追記します。.htaccessがない場合は、管理画面の設定 > パーマリンクから、設定を変えずに保存すると生成されます。管理画面が生成するネットワーク用コードを、そのサイトの設定に使います。

サブドメイン型では、サブディレクトリ型と何が違いますか?

記事では、サブディレクトリであれば再ログイン後にサイトのメニューで子サイトの設定が完了しますが、サブドメインを選んだ場合は、サブドメインと親サイトのデータとの繋ぎこみが必要になります。Webサーバー側で子サイトのホスト名を同じWordPressへ向けます。

DNSは、どう設定しますか?

記事では、ドメインの購入元ではなく、現在利用しているDNSの設定を確認します。各サブドメインが同じWordPressの設置先へ到達する必要があります。必要に応じて個別レコードまたはワイルドカードDNSを設定し、Webサーバーの受け入れ設定とTLS証明書も別に確認します。

ConoHa Wingでの、権限変更や削除のコマンドは使えますか?

使わないでください。記事では、以下の権限変更・削除コマンドは撤去し、シンボリックリンク例も過去の環境向けで、現在のサイトへそのまま実行する手順ではありません。自動生成されたフォルダーには既存データがある場合があるため、削除や権限変更を前提にせず、ホストの対応手順を確認します。

設定したあとは、何を確認しますか?

記事では、サブドメインの表示、HTTPS、ログイン、画像、パーマリンクを個別に確認します。.htaccessを使わないNginxでは同じ手順になりません。既存のWordPressルールを指定どおり置き換え、認証や他サービスの設定まで消さないでください。なお、初心者にはおすすめしないとされています。

  • URLをコピーしました!

実装を任せたい方へ

WordPressのカスタマイズ代行

ブロックの追加、テーマの改修、管理画面の調整など、記事で紹介している内容の実装を承ります。1時間 ¥8,000〜(税込)。

WAZAの有料記事のサブスクリプションも開始しました。

サービス

Service

WordPressサイトのカスタマイズのサービスに関心がありましたら、ぜひ詳細をご覧ください。

目次