WordPressのマルチサイトとは、同じWordPressインストールを共有する複数の独立したウェブサイトのことです。これらのネットワーク上のウェブサイトは仮想サイトで、各ウェブサイトのサーバー上の独自のディレクトリはありません。一方、メディアアップロード用のディレクトリとデータベース内の独立したテーブルがあります。

本記事ではWordPressのマルチサイトを紹介します。マルチサイトとシングルサイトの長所と短所を説明しながら、一つのWordPressウェブサイトをマルチサイトネットワークに変更する手順も紹介するユーザーガイドになります。

まず、ネットワークを設置する理由の例をいくつか紹介し、マルチサイトの設置ができない理由も紹介します。次に、利用可能なネットワークの種類の概要を説明し、各種類の主な特徴、および各種類のシステム要件について説明します。システム要求により特定の種類にしなければならない場合があります。最後に、インストール手順を詳しく紹介し、一つのWordPressインストールからウェブサイトのネットワークへ移行の実施しやすさを示します。

注:この記事をお読みになると、シングルのWordPressインストールからマルチサイトのインストールへ切り替えることになるでしょう。

ネットワークのダッシュボード

ネットワークのダッシュボード

はじめに:WordPressマルチサイトの長所と短所

シングルサイトからマルチサイトのインストールに移行する理由は様々あります。まず、マルチサイトを使用すると、独立したウェブサイトのネットワークを構築でき、WordPress.comのユーザーと同様に、ウェブサイトのユーザーもオンデマンドで独自のブログを作成することにより、そのネットワークへの参加がができるようになります。

上記のサービスが不要なビジネスもありますが、それにもかかわらず、時間と労力を節約するためにWordPressのマルチサイトに切り替えること方もいます。マルチサイトを使用すると、多数のウェブサイトを設定し、一つのWordPressインストールから管理できます。(膨大な数でも可能。)マルチサイトでは、ネットワーク全体が同じインストールを共有している為、コア、テーマ、プラグインなどが一度に更新できます。

マルチサイトを使用すると、時間が大幅に節約される場合があり、作業の効率が確実に向上します。

最後に、お客様に作品の本番例を示す必要がある場合は、マルチサイトに切り替えて、各プロジェクトに対して一つのサブサイトを作成することができます。(この提案を寄せてくれたRachelに感謝します。)これにより、プロとしてのイメージが向上させれ、お客様へのサービスの品質が改善され、仕事を整理しておくこともできるようになるでしょう。

なお、Kinstaのお客様にはもちろん、本番サイトに公開する前に独自のお客様に見せられるテストサイトを作成できるステージング環境をご利用いただける為、上記のご心配は一切ありません。

なお、マルチサイトへの切り替えが不可能な場合もあります。最初で最も重要な考慮事項はセキュリティです。ウェブサイトがハッキングされると、ネットワーク全体が危険にさらされるでしょう。マルチサイトに切り替える場合は、それをきっかけにインストールのセキュリティを強化するための時間とリソースを大幅に費やしましょう。

次を参照してください:推奨されるWordPressマルチサイトのプラグイン(マイグレーションとバックアップ)

サブサイト間で情報を共有する場合、マルチサイトは使用できません。ユーザーまたはデータを共有する相互接続されたウェブサイトのネットワークを構築したい場合は、独立したサブサイトではなく、シングルのWordPressウェブサイトをインストールし、そのシングルサイトを複数の部分に分割するようにしてください。

マルチサイトをインストールできない理由は上記以外にもあります。あなたのお客様の要求とニーズによる理由も、システム要件とサーバーの設定による理由もあります。ホスティングプロバイダーの助けを借りて技術的な限界を克服することができますが、より高度なホスティングサービスを検討するしかない場合もあります。

サブドメインとサブフォルダー

マルチサイトにはURLの処理方法の異なる2つのネットワーク種類があります。

  • ドメインベースのネットワーク(サブドメイン
  • パスベースのネットワーク(サブフォルダ)

ドメインベースのネットワークのURLはhttp://mysite.network.comのようなURLです。これらのドメイン名の適切な設定方法はいくつかありますが、 Codexは以下のいずれかを推進しています:

  • ワイルドカード・サブドメインの設定
  • 仮想ホストの設定
  • Webホスティング用のコントロール・パネルで、追加のドメインやサブドメインを作成する
MyKinstaダッシュボードのサブドメイン

MyKinstaダッシュボードのサブドメイン

パスベースのネットワークのURLはhttp://network.com/mysiteのようなURLです。この種類のネットワークが正常に動作するにはPrettyパーマリンクが有効になければなりません。どの種類のネットワークを設置する場合でも、外部ドメインを既存のサブサイトにマップできます。WordPress 4.5以降、ドメインマッピングはWordPressマルチサイトのコア機能となり、WordPress MU Domain Mappingなどのサードパーティ製のプラグインが必要なくなりました。マルチサイトドメインマッピングの詳細については、Kinstaブログ(WordPressマルチサイトドメインマッピングの設定方法について)を参照してください。

インストールするマルチサイトの種類を選択した後、既存のWordPressインストールのネットワーク化の準備を行います。

  • 既存のインストールを更新し、ファイルとデータベースの完全なバックアップを取ります。
  • Prettyパーマリンクが正常に機能しているか確認します。
  • アクティブなプラグインをすべて無効にします。完了後に再び有効にします。
  • WordPressを独自のディレクトリから実行する予定の場合は、マルチサイトを有効にする前にインストールを設定します。

最後に、インストールに入ります。

ネットワークのインストール

WordPressマルチサイトをインストールする前に、ネットワークの設置機能を有効にする必要があります。設定するには、wp-config.phpWP_ALLOW_MULTISITE定数を定義するだけです。

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );

上記のコードは、次のコメント行の上に追加します:

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

wp-config.phpを更新してページを再読み込みすると、ツールメニューでネットワークの設置が表示されるようになります。WordPressにすべてのアクティブなプラグインを無効にするように思い出させるなら、プラグインを無効にして、ネットワークの設置ページに戻ります。

」プラグインの無効化"

ネットワークインストールを実行する前に、すべてのアクティブなプラグインを無効にする必要があります。

次に、ドメインベースのネットワークとパスベースのネットワークのどちらかを選択します。

」ネットワークのインストール"

新しいWordPressインストールではサブドメインクとサブディレクトリのどちらかを選択します。

元のウェブサイトのページのURLとネットワークの新しいウェブサイトのURLとの衝突を回避する為、現時点では、1か月以上前のインストールでサブディレクトリベースのネットワークを作成することが許可されません。とにかく、以下でもっと詳しく説明するように、完了後にwp-config.phpを手動で編集し、サブドメインネットワークに切り替えることができます。

このページには、サーバーのアドレスと、ネットワークのタイトル及びネットワーク管理者のメールアドレスが設定できる記入欄があります。

サブドメインなし

1か月以上前のインストールでドメインベースのネットワークを作成することが許可されません。

次に、既存のwp-config.phpファイルをバックアップした上でネットワーク設定を実行します。
その次のページで、WordPressは設定ファイルに加えるべき変更点についての詳細な情報を提供します。wp-config.phpファイルで以下の定数を定義します:

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

ドメインベースのネットワークをインストールする場合はSUBDOMAIN_INSTALLtrueに、パスベースのネットワークをインストールする場合はfalseに定義します。WordPressからネットワークの種類が変更できないという警告がありますが、実は後でも変更が可能です

注:既存の投稿と固定ページのスラグとウェブサイトのパスとの衝突を回避する為、1か月以上前のインストールでパスンベースのネットワークを作成することが許可されません。とにかく、ドメインベースのネットワークをインストールし、完了後にwp-config.phpのSUBDOMAIN_INSTALLの値を変更することによりパスベースのネットワークに切り替えることができます。

Apacheをご利用の方は既存の.htaccessディレクティブを置き換えます。新しいファイルは、サブフォルダとサブドメインのインストールで少し異なります。次の例は、サブフォルダのインストールの.htaccessファイルの例です。

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]

サブドメインのインストールでは、 .htaccess ファイルは次のようになります:

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

wp-config.php.htaccessの設定が完了した上で、ログアウトしてもう一度ログインします。「参加サイト」メニューがWordPressツールバーの左側に表示されます。

「参加サイト」メニュー

The WordPressのツールバーの「参加サイト」メニューで、ネットワークが正常にインストールされたことがわかります。

ネットワークは稼働しています。これで、以前無効にしたプラグインを再度有効にすることができます。

結論とさらなる参考文献

この時点からは、あなたはネットワークのスーパー管理者と元のウェブサイトの管理者になります。
ネットワークダッシュボードでは、サブサイトの作成、設定、削除、テーマとプラグインのインストール、ネットワークユーザの管理、アップデートの実行、ネットワーク設定などができます。

ネットワーク設定

ネットワーク設定画面

各サブサイトのダッシュボードでは、WordPressの管理者ユーザーができるあらゆる管理作業を実行できます。テーマ及びプラグインのインストール、更新、削除などがネットワーク管理エリアからしかできません。

新規ユーザーの追加

サブサイト管理パネルの「新規ユーザーの追加」画面

シングルサイトをマルチサイトに変えることは、Kinstaがホストするウェブサイトほど簡単でない場合がありますが。 DNS構成、システム要件、その他の技術的な詳細については、次のリソースをご参照ださい:

あなたもマルチサイトをご利用ですか?コメントでも書いて、ご経験について教えてください。

28
シェア