この記事は最終更新日から2年以上経過しており、内容が古くなっている可能性があります。
ご理解の上、記事を閲覧いただければと思います。

今回は、さくらインターネットの共有サーバで、WordPressの「サブドメイン(マルチドメイン)型」のマルチサイトを構築する方法を紹介します。

WordPressのマルチサイトとは

WordPressには、一度のインストールで複数のサイト・ブログを運用することができる「マルチサイト」という機能があります。

マルチサイトには、「サブディレクトリ型」と、「サブドメイン(マルチドメイン)型」の2つのタイプがあり、URLの一例を示すと以下のようになります。


サブディレクトリ型の場合、以下URLのサイトを1つのWordPressで運用できる
  • https://web-generalist.com/
  • https://web-generalist.com/blog/
サブドメイン(マルチドメイン)型の場合、以下URLのサイトを1つのWordPressで運用できる
  • https://web-generalist.com/
  • https://blog.web-generalist.com/
  • https://web-g.com/

それぞれ、管理画面やユーザーなども別々に作成でき、あたかも複数のWordPressをインストールしているかのように運用できます。

ただし、共有レンタルサーバの場合は、共有サーバの制約上サブドメイン(マルチドメイン)型は構築できないことが多いです。

しかし、さくらインターネットの共有サーバ(スタンダード以上)では、「WordPress MU Domain Mapping」というプラグインを使うことで、サブドメイン(マルチドメイン)型のマルチサイト構築が可能です。

WordPress MU Domain Mapping

ということで、この記事では「WordPress MU Domain Mapping」プラグインを使い、さくらインターネットの共有サーバでサブドメイン(マルチドメイン)型WordPressのマルチサイト構築する手順を説明します。

※ただし、マルチサイト化には注意点やデメリットもありますので安易なオススメはしません。
注意点やデメリットについては最後に紹介しています。

マルチサイト化の手順

1. WordPressのインストール場所とプラグインの無効化

  1. サーバーのルート(さくらの場合「/home/*****/www」)にWordPress本体をインストール
  2. すべてのプラグインは無効化しておく

※WordPressの画面はバージョン3.7で説明しています。

2. WordPressのマルチサイト設定をする

  1. WordPressフォルダ内にある「wp-config.php」ファイルに以下記述を追記します。
    (コメントの記載については入れなくてもかまいません)

    /* マルチサイト化 */
    define('WP_ALLOW_MULTISITE', true);
  2. 上記を記載した「wp-config.php」をアップロードし、WordPressの管理画面を表示するメニュー「ツール」に「ネットワークの設置」が表示されることを確認します。ネットワークの設置
  3. 「ネットワークの設置」クリック後、表示された画面で「サブドメイン」を選択、ネットワークのタイトルと管理者のメールアドレスを記入し「インストール」をクリック。
    WordPressサイトのネットワークの作成
  4. (※WordPressのバージョン3.4以前の場合のみ)WordPressの「wp-content」フォルダの中に「blogs.dir」フォルダを作成します。

    ※3.5からはメインサイトのアップロードディレクトリ (デフォルトは /wp-content/uploads/) の直下に /sites/2/ といった感じでサイト毎のアップロードディレクトリが作成される様に仕様が変更となりました。

    WordPressのマルチサイト機能で複数のブログを管理する

  5. 続いて、画面に表示されている内容を「wp-config.php」に追記します。
    wp-config.phpに追記
  6. 同様に、画面に表示されている内容をWordPressを設置した階層(ディレクトリ)にある「.htaccess」に追記します。
    .htaccessに追記
    ※「wp-config.php」「.htaccess」の書き換えを失敗するとサイトが表示されなくったりします。
    それぞれ必ずバックアップをとって作業するようにしてください。
  7. 上記の作業を終えたら、再度WordPressにログインします。
    すると、ダッシュボード画面上部に「サイトネットワーク管理者」という項目が追加されていますので、ダッシュボードをクリック。
    サイトネットワーク管理者
  8. 「サイト」→「新規追加」をクリックすると、以下の画像のように「****.jp/」のドメイン名の後にディレクトリ名を入れる「サブディレクトリ」形式になっています。
    サイトを追加

    「作りたいのはサブディレクトリ型じゃなくてサブドメイン(マルチドメイン)型だ・・・!」と、思うかもしれませんが、ひとまずはこれで大丈夫です。
    「サイトのアドレス」が空欄だと進めませんので、ひとまず適当に入力し「サイトを追加」しておきます。

3. さくらサーバのコントロールパネルでマルチドメインの設定をする

ここで、マルチドメイン型で運用したい「独自ドメイン」をさくらサーバのコントロールパネルで追加します。

  1. 下記のように「ドメイン詳細設定」から「wwwを付与せずマルチドメインとして使用する(上級者向け)」を選択し、 「指定フォルダ」を「/」のみの記載にしておきます。
    「wwwを付与せずマルチドメインとして使用する(上級者向け)」を選択
  2. ドメイン一覧で、メインのドメインとサブドメインが同じパスになっていることを確認します。
    マルチドメインのパスは同じ

4. WordPress MU Domain Mappingプラグインをインストールして設定する

  1. 続いて、マルチドメイン化のキモとなる「WordPress MU Domain Mapping」プラグインを 「サイトネットワーク管理者」の画面からインストールします。
    WordPress MU Domain Mappingをインストール
  2. プラグインをインストール後、「設定」→「Domain Mapping」のメニューが表示され、クリックすると下記のメッセージが表示されます。
     Domain Mappingメッセージ

    Please copy sunrise.php to /home/****/www/wp-content/sunrise.php and ensure the SUNRISE definition is in /home/****/www/wp-config.php

    プラグインディレクトリの「wordpress-mu-domain-mapping にある sunrise.php をwp-contentディレクトリにコピーし、SUNRISE definition をwp-config.phpに追記してください。」と表示されていますので、両方の作業を行いましょう。

  3. 「sunrise.php」をwp-contentディレクトリにコピーした後、 「wp-config.php」の「/*編集が必要なのはここまでです*/」の行の上辺りに下記を追加します。
    define( 'SUNRISE', 'on' ); 
  4. Domain Mappingの画面をリロードし、下記の画面が表示されれば成功です。
    Domain mapping Database Created.
  5. 続いて、「設定」→「domains」から「Site ID」と、サブドメインとなる「Domain」を以下画面で入力します。
    New Domain

    サブドメインサイトの「Site ID」の確認方法は、WordPressのメニュー「すべてのサイト」→「編集」でマウスオーバーすれば、下記のようにURLパラメータに表示されます。
    (以下であればid=2の部分)

    https://*****.jp/wp-admin/network/site-info.php?id=2

    ※ちなみに、Site IDは連番で振られ、変更不可能となっています。
    なので、マルチサイトで新規に運用する2番目の「Site ID」は2になりますが、サイトを消去すると永久欠番になります。

  6. ドメインが追加されると、下記の画面になります。
    SIte ID2のDomain Mapping完了
  7. 最後に、WordPressメニューの「サイト」→「すべてのサイト」から、追加したドメインの設定を編集します。
    プラグイン導入前は、サブディレクトリ型でしか入力できなかったのですが、以下のようにサブドメイン(マルチドメイン)型に変更できるようになっていますので、任意のサブドメインを入力して「変更を保存」をクリックします。
    サイトの編集

以上で設定は完了です。

それぞれのサイトのドメイン以下に「/wp-login.php」のURLをつけてアクセスすることでWordPressの管理画面へログインできるようになります。

マルチドメイン化の注意点とデメリット

マルチドメイン化には、以下の注意点やデメリットがあるので、事前に把握した上で、マルチドメインを構築するかを検討しましょう。

マルチドメイン化の注意点

【注意点1】メインサイトのパーマリンク設定が、「デフォルト」以外の場合、「/blog」が付与されて変わってしまう

図にすると下記のようになります。
permalinkの表示上の不具合

これは、運営上はとくに問題ないのですが画面表示上のバグがあり、「メインサイト」のパーマリンクの設定画面を変更すると「/blog」が付いて元にもどってしまいます。
(以下、参考)

これにはバグがあるっぽい。特権管理者ではなく、通常の「設定」にある「パーマリンク」には”blog”が残ってしまっており、このメニューからパーマリンクを変更すると、”blog”がまたパーマリンクに追加されてしまいます。

マルチサイトでパーマリンクに”blog”が勝手につくのを解除する – TRANS

※「特権管理者」は「サイトネットワーク管理者」のことです。WordPressのバージョンによって名称が変わりました。

なので、「ネットワーク管理者」の方で一度設定したら、メインサイトの方のパーマリンクの設定画面は触らないでおきましょう。

【注意点2】マルチサイトのプラグインは、「サイトネットワーク」から追加する

マルチサイト化すると、プラグインは「サイトネットワーク」から追加する仕様になります。
有効化プラグインの表示

ただ、各サイトの管理画面にも「プラグイン」メニューがあり、ここには基本的に上位のネットワークで【有効化されていないプラグイン】が表示されるので、各サイトの管理画面で、「どのプラグインが有効化されているのか」がチェックしづらくなります。

マルチドメイン化のデメリット

【デメリット1】マルチサイトに対応していないプラグインがある

有名なプラグインでも、マルチサイトに対応しておらずうまく動作しないプラグインがあります。
【参考】WordPressで人気記事を表示させるプラグイン「Popular Posts」がマルチサイトで動作しない場合の対応方法|ふにろぐ

それらのプラグインを使いたい場合は、自力でカスタマイズする必要があります。

【デメリット2】サイト引っ越しの際などに手間がかかる

マルチサイトをやめてサイトを別々のWordpressにしたい時など、 データベースはひとつであるため、一括で記事をエクスポートするなどカンタンな引っ越し作業ができない場合があります。

場合によってはデータベースを直接編集したり、地道に手作業で記事を分けるなどの労力が必要になるかもしれません。


以上、さくらインターネットの共用サーバで、サブドメイン(マルチドメイン)型のマルチサイトを構築する方法をお伝えしました。

(マルチサイト化の注意点やデメリットも把握いただいた上で)マルチサイト構築の参考になれば幸いです。

参考にさせていただいた記事