サブドメインをWordPress一つで管理

スポンサードサーチ

WordPressで構築できるWebサイトの5パターンでご紹介したポータルサイト等の構築ができるWordPressマルチサイト。

このWordPressマルチサイトは色々と便利で弊社では過去にも数多くの導入事例があるのですが、世の中の事例としてはあまり聞きません。

そこで、今回はWordPressマルチサイトについて掘り下げてみたいと思います。

WordPressマルチサイトとは?

通常、WordPressでブログやWebサイトを構築・運用する場合、サーバに 1つのWordPressをインストールする事が多いと思います。

そのため、以下のように複数のサブドメインのWebサイトを運用する場合には、サブドメインの数だけWordPressをインストールして構築・運用する事になります。

個別にWordPressをインストール
個別にWordPressをインストール

この形で運用するとなると、それぞれのサブドメインの管理画面には別々でログインをする事になりますし、WordPressのアップデートや保守・運用も個別に行う必要があります。

一方、WordPressマルチサイトを使った場合は、WordPressを一つだけインストールするだけ。

サブドメインをWordPress一つで管理
サブドメインをWordPress一つで管理

しかし、これで下層階にあるサブドメインを全て管理することができ、サブドメイン毎に別の管理画面を使う事もできます。

上の例ではサブドメインの管理をしていますが、サブディレクトリ以下を別に管理する事もできますし、複数ドメインでも設定ができます。

サブディレクトリ以下をWordPress一つで管理
サブディレクトリ以下をWordPress一つで管理

WordPressマルチサイトは何に使えるのか?

このWordPressマルチサイト機能を使って構築される事が多いのが、ポータルサイトです。

ポータルサイトのポータル(Portal)とは「玄関」や「入口」という意味があり、様々な情報の入口となるWebサイトのことをポータルサイトといいます。

ポータルサイトの代表的なものとしては、検索エンジンのYahoo!JAPANGoogleの「Googleニュース」、MSN Japanなどがありますが、グルメ情報を扱う「食べログ」や物件情報を扱う「SUUMO」などもポータルサイトと呼ばれます。

つまり、ポータルサイトは「様々な人々が掲載を希望した情報を集めたサイト」という事になります。

WordPressマルチサイトを企業で利用する場合

ポータルサイトを構築できるWordPressマルチサイトですが、上に挙げたようなCtoC向けのサービスにももちろん使えますが、個人や企業でも便利に使う事ができます。

例えば、運営しているブログや Webサイト全てを 個人や企業で総合的に管理を行う必要があるが、管理頻度や管理者が多岐に渡る場合に、各Webサイトで個別に情報発信などの運用は行いたいというケースです。

具体的な例を挙げてみましょう。

  • ショッピングモールで、ショッピングモール全体の管理と、各テナントでデザインは共通であるが管理者、情報発信者が異なる場合。
  • 企業において、本社、各事業部で違ったWebサイトを構築し、個別に情報発信を行い、管理者、情報発信者が異なる場合。
  • グループ会社と子会社で違ったWebサイトを構築し、個別に情報発信を行い、管理者、情報発信者が異なる場合。
  • 本部と各都道府県別店舗やフランチャイズ店舗で違ったWebサイトを構築し、個別に情報発信を行い、管理者、情報発信者が異なる場合。
  • ホテルやマンションで、各ホテルや物件ごとで違ったWebサイトを構築し、個別に情報発信を行い、管理者、情報発信者が異なる場合
  • ブログをカテゴリに分けて運用するのではなく、Webサイト自体を分けて構築し、管理者、情報発信者も分ける場合。
  • 毎年行われるテニスオープンといった、定期的に更新が行われるスポーツイベント等のWebサイトの構築と運用を行う場合。

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

このように、様々なシーンで利用ができるWordPressマルチサイトですが、一番のメリットは管理の手間を減らせる、というところです。

WordPressマルチサイトでは、通常のWordPressにある管理者の上位にネットワーク管理者(特権管理者)が用意されます。

このネットワーク管理者(特権管理者)は、ブログや Webサイトを追加したり、テーマ・プラグインの管理も行ったりと、管理下にある全てのブログや Webサイトに対しての権限があります。

これにより、Webサイト毎にWordPressをインストールして管理する場合とは異なり、1つのWordPressだけで管理が行えます。

また、ネットワーク管理者(特権管理者)の管理下にあるブログやWebサイト毎に、別のユーザーを追加して管理権限を与える事もできますので、管理権限を分散して、管理者の負荷を下げながら全体を管理する事もできます。

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

このように便利なWordPressマルチサイトですが、デメリットも存在します。

それは、Webサイト毎にWordPressをインストール場合と構造が異なるため、WordPressのメリットである膨大なフリーのPlugin(プラグイン)の中では対応していないものがあります。

また、各ブログやWebサイト毎に管理権限の委譲ができるといっても、ネットワーク管理者(特権管理者)にできてサイト管理者ではできない事がいくつかあります。

その一つが、Plugin(プラグイン)のインストールと削除であり、ネットワーク管理者(特権管理者)から見ると、どのPlugin(プラグイン)が利用されているかも各ブログやWebサイトの管理画面に入って確認をしない限りわかりません。

また、Webサイト毎にWordPressをインストール場合のように、数多くの事例がWebサイトに上がっていないので、何か障害が発生した場合の対応についても、信頼できるシステム会社か自分達で対応できる体制を取っている必要があります。

また、借りるサーバによっては、複雑な設定ができないものがありますので、利用する前に環境の選択肢が狭まる可能性もあります。

WordPress自体、WordPressマルチサイトでなくてもアップデートを行って利用する前提で運用する必要がありますので、自社で障害対応ができない場合には、信頼できるシステム会社に依頼するのが無難です。

WordPressマルチサイトの設定方法

このようにメリットもデメリットもあるWordPressマルチサイトですが、メリットが多いのであれば是非導入をしてみましょう。

WordPressマルチサイトの設定方法については、基本はWebサイト毎にWordPressをインストール場合と同じです。

そのため、まずはレンタルサーバなどでWordPressのインストールを行い、WordPressの初期設定まで終わらせて、管理画面にログインしたところまで設定を進めておいてください。

また、これから説明するWordPressマルチサイトの設定方法は、サブディレクトリ型になります。

サブディレクトリ以下をWordPress一つで管理
サブディレクトリ以下をWordPress一つで管理

wp-config.phpに追加

一つのWebサイトにインストールするWordPressの設定が終わったら、WordPressをインストールしたディレクトリにあるwp-config.phpに下記、コードを追加します。

define('WP_ALLOW_MULTISITE', true);

追加する場所ですが、wp-config.phpの一番下に近いところに

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */

という記述があるので、この上にマルチサイトの設定を許可する行を追加します。

wp-config.phpに追加
wp-config.phpに追加

違う場所に追加すると正しく動作しない可能性がありますのでご注意ください。

wp-config.phpにマルチサイトの設定を許可する行を追加をしてた、サーバにFTPやSFTPでアップロードします。

サイトネットワークの設置

wp-configをサーバにアップロードしたら、管理画面をリロードします。

リロード後に、左メニューにある「ツール」を開くと「サイトネットワークの設置」と書かれたメニューが追加されています。

サイトネットワークの設置
サイトネットワークの設置

この「サイトネットワークの設置」をクリックすると「WordPress サイトネットワークの作成」画面に進みます。

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

ここで、サブドメイン型でにするのか、サブディレクトリ型にするのかを選択。

サイトネットワーク名とサイトネットワーク管理者のメールアドレスは、自動で入っていますので、変更があれば修正を行います。

問題がなければ「インストール」ボタンをクリック。

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

「WordPress サイトネットワークの作成」画面が表示されます。

画面には2種類のコードが表示されていますので、それぞれをコピーして設定を行います。

一つ目は、wp-config.phpに記述するコード。

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '設定したドメイン');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

こちらをまた

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

という行の上に追加します。

先ほど追加したコードは削除しません。

もう一つはWordPressをインストールしたディレクトリの.htaccessファイルの中のWordPressに関する記述箇所を書き換えます。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

追記ではなく書き換えという点に注意してください。

これらの設定を行って、サーバにファイルをアップロードすると自動的にログアウトしています。

再度ログイン

再度ログイン画面が出ますので、ID、パスワードを入れてログイン。

WordPressマルチサイト ダッシュボード
WordPressマルチサイト ダッシュボード

ログイン後、管理画面の上部に「参加サイト」というメニューが追加されています。

参加サイト
参加サイト

左メニューにも「参加サイト」というメニューが増えていますので、こちらをクリックすると「参加サイト」画面になり、管理をしているサイトが表示されます。

こちらがサイトネットワーク管理のダッシュボードです。

これで、WordPressマルチサイトの設定は完了です。

ログイン時に正しいID、パスワードを入力してもログイン画面に飛ばされる場合

再度ログインをする際に、ログイン画面にリダイレクトさせられてログインができない場合があります。

この場合、ブラウザの「Cookie」を削除してみてください。

私の場合、Chromeの「閲覧履歴データの削除」で「Cookieと他のサイトデータ」を「キャッシュされた画像とファイル」と一緒に削除をして、再度ログインをしたら無事入る事が出来ました。

サブディレクトリを追加

WordPressマルチサイトの設定が完了したので、サブディレクトリのサイトを追加してみます。

サイトネットワーク管理:ダッシュボード
サイトネットワーク管理:ダッシュボード

サブディレクトリの追加は、ダッシュボードから「新規サイトを作成」を選択するか、上部メニューから「サイト」>「新規追加」を選択して行います。

サイトを追加
サイトを追加

「サイトを追加」画面で追加したいサイトアドレス、サイトのタイトル、サイトの言語、管理者メールアドレスを入力して、「サイトを追加」ボタンをクリック。

今回は「test1」というサイトアドレスとサイトのタイトルで追加を行いました。

サイトを追加しました。ダッシュボードを表示するか、またはサイトを編集してください。

上記メッセージが表示されて追加は完了です。

参加サイトに追加
参加サイトに追加

「参加サイト」に追加をしたtest1が増えました。

非常に簡単に使える

WordPressマルチサイトの設定は上述したように、Webサイト毎にWordPressをインストールするのと比較しても。とても簡単に行えます。

ただ、サーバによっては調整が必要になる場合や、運用を開始してからPlugin(プラグイン)やTheme(テーマ)側で問題が起きる場合があります。

その際には、WordPress側に問題があるのか、サーバ側にあるのかを調査して対応をする必要があります。

そのため、WordPressの導入全般に言える事ですが、信頼できるシステム会社と一緒に構築や運用をするようにしましょう。

スポンサードサーチ