メインコンテンツまでスキップ

WordPress マルチサイトとは何ですか?

WordPress のコアには、'Multisite' と呼ばれる機能があり、2010 年に WordPress 3.0 がリリースされた際にその起源が追跡されます。その後、機能追加とセキュリティ強化を目的とした数多くの改訂が行われました。

本質的に、WordPress マルチサイトは次のように考えることができます:大学が WordPress の単一インストールを維持し、各学部がそれぞれ独自の WordPress サイトを維持する。

WordPress マルチサイトとは正確に何ですか?

Multisite は、複数のサイトが単一の WordPress インストールを共有できるようにする WordPress の機能です。Multisite が有効になると、元の WordPress サイトは通常 サイトのネットワーク と呼ばれるものをサポートするように変換されます。

このネットワークはファイルシステム(つまり プラグインとテーマも共有される)を共有し、データベース、WordPress コアファイル、wp-config.php などを共有します。

つまり、WordPress、テーマ、プラグインの更新は、ファイルシステム上で同じファイルを共有しているため、ネットワーク上のすべてのサイトに対して一度だけ実行すればよいということです。

この事実は、マルチサイトの主な利点の一つであり、管理するサイト数を増やしつつ、顧客のサイトを維持するために行う必要があるタスクの数を同じに保つことができるためです。

サブドメインかサブディレクトリか?

WordPress マルチサイトを実行するには 2 つのモードがあり、通常の WordPress インストールをマルチサイトに変換する際にどちらかを選択する必要があります:

サブドメイン: 例: site.domain.com

…または

サブディレクトリ: 例: yourdomain.com/site

各モードには、意思決定時に考慮すべき利点と欠点があります。

ただし、重要な点として、決定を下した後は、サブディレクトリからサブドメインへ、またはその逆にネットワークを変更することは非常に困難です。特に、すでにいくつかのサイトが作成されている場合はなおさらです。

その決定を下す前に、覚えておくべきポイントをいくつか挙げます:

サブディレクトリモード は、セットアップと保守の観点から最も簡単なモードです。これは、すべてのサイトがメインドメインに付随するパス(例: yourdomain.com/subsite)であるためです。その結果、メインドメインに対して 1 つの SSL 証明書 だけが必要で、ネットワーク全体をカバーします。

同時に、その URL 構造のために、Google やほとんどの他の検索エンジンは、サブディレクトリベースのネットワーク上のすべてのサブサイトを 1 つの巨大なサイトとして扱います。その結果、エンドユーザーがサブサイトに追加したコンテンツが、たとえばランディングサイトの SEO パフォーマンスに影響を与える可能性があります。影響の程度は議論の余地がありますが、そのような構成が SEO パフォーマンスにとって有益であるという主張もあります。

サブドメインモード は設定が少し複雑ですが、その URL 構造(例: subsite.yournetwork.com)は一般的に「よりプロフェッショナル」に見えると認識されています。

サブドメインモードを設定する際の主な課題の1つは、ネットワーク全体の SSL カバレッジ(HTTPS)です。これは、ブラウザがサブドメインを隔離されたエンティティとみなすという事実に起因します。その結果、ネットワーク上の各サブドメインに対して別々の SSL 証明書が必要になるか、ワイルドカード SSL 証明書 と呼ばれる特殊な証明書が必要になります。近年、ホスティングプロバイダーやパネルは SSL プロビジョニングの面で競争を激化させており、ボタン一つでワイルドカード証明書を提供するものもあります。これにより、設定の複雑さに関して両モードのギャップが縮まります。

サブディレクトリモードとは対照的に、サブドメインベースのネットワーク上のサブサイトは検索エンジンによって別々のウェブサイトとして扱われます。つまり、1 つのサブサイトに存在するコンテンツが他のサブサイトの SEO パフォーマンスに干渉することはありません。

スーパーユーザー

単一サイトの WordPress インストールでは、無制限のユーザーを追加し、各ユーザーに異なる権限を持つ異なるユーザー役割を付与できます。

WordPress マルチサイトでは、新しいタイプのユーザーが解放されます:スーパーユーザー – そして新しい管理パネルが解放されます:ネットワーク管理パネル

名前が示すように、スーパーユーザーはネットワーク全体に対して超人的な権限を持ち、すべてのサブサイト、プラグイン、テーマ、すべてを管理できます!

単一サイトの WordPress インストールをマルチサイトに変換すると、元の単一サイトの管理者は自動的にスーパーユーザーに昇格します。

プラグインとテーマは、スーパーユーザーによってのみネットワーク管理パネルからインストールまたはアンインストールできます。サブサイト管理者は、スーパーユーザーがプラグインをネットワーク全体で有効化し、すべてのサブサイトで常に有効にする場合を除き、プラグインやテーマを有効化または無効化することを選択できます。

注:ご覧のとおり、ネットワークに誰かを招待し、スーパーユーザー権限を付与すると、そのユーザーはネットワーク全体を完全に制御できるようになります。例として、他のスーパーユーザーはあなたのスーパーユーザー権限を取り消し、結果として自分自身のネットワーク管理パネルからロックアウトされることもあります。Ultimate Multisite の顧客が追加のスーパーユーザーが何をできるかを細かく制御できるようにするために、Support Agents というアドオンを用意しています。このアドオンにより、ネットワーク上でタスクを実行するために必要な権限だけを持つ別のユーザー ― エージェント ― を作成できます。

サブサイト間で共有されるものと共有されないもの

前述したように、WordPress マルチサイトの主な利点の1つは、すべてのサブサイトが同じ設定、コアファイル、テーマ、プラグイン、WordPress コアファイルなどを共有していることです。

ただし、サブサイトごとに適切にスコープ化される要素もあります。

  • 例えば、各サブサイトには独自のアップロードフォルダがあります。その結果、あるサブサイトのユーザーがアップロードしたファイルは、別のサブサイトからはアクセスできません。
  • 各サブサイトには専用の管理パネルがあり、スーパーユーザーがネットワーク全体で有効化していない限り、プラグインやテーマを有効化または無効化できます。
  • ほとんどのデータベーステーブルは各サブサイトごとに作成され、投稿、コメント、ページ、設定などが各サブサイトにスコープされます。

WordPress マルチサイトにおけるユーザー管理

WordPress マルチサイトにおける微妙なテーマの1つがユーザー管理です。WordPress ユーザーテーブルは、すべてのサブサイトで共有される数少ないテーブルの1つです。

この構成は、ネットワークで構築しようとしているものによっては、いくつかの問題を引き起こす可能性があります。以下の例は、最も重要な問題を説明するのに役立ちます。

以下のシナリオを想像してください:

WordPress マルチサイトネットワークを作成し、e コマースストアを持ちたい人々に月額料金でサブサイトを提供し始めます。

最初の有料顧客、ジョンを獲得します。ジョンのためにネットワーク上にサイトを作成し、必要なすべてのプラグインをインストールし、ジョンがストアを管理できるようにユーザーを作成します。

その後、2 番目の顧客、アリスがやってきます。彼女のためにも同じことを行い、彼女もネットワーク上にストアを持つようになります。

ジョンとアリスは両方ともあなたの顧客ですが、互いに知りません。さらに重要なのは、彼らのうち1人がもう1人のストアのウェブサイトを訪れた場合、そのストアが同じサイトのネットワーク上でホストされていることを知る方法がないということです。

ある日、ジョンは新しい靴を買う必要があり、アリスのストアで完璧なものを見つけます。購入を完了しようとすると、「メールアドレスは既に使用されています」というエラーメッセージが表示されます。ジョンは100%確信しているにもかかわらず、これはアリスのウェブサイトを初めて訪れたことだと考えているため、奇妙です。

ここで起きたことは、ジョンのユーザーがネットワーク全体で共有されているため、彼がアリスのサイトでチェックアウト用のアカウントを作成しようとすると、WordPress は同じメールアドレスを持つユーザーが既に存在することを検出し、エラーを投げます。

注:使用ケースによってはこれがどれほど悪いかを理解しています。Ultimate Multisite には、既存ユーザーの通常のチェックをバイパスし、同じメールアドレスを使用して複数のアカウントを作成できるオプションがあります。各アカウントはサブサイトにバインドされるため、衝突のリスクは最小限に抑えられます。上記の例では、ジョンはエラーメッセージを受け取らず、問題なく靴を購入できるようになります。このオプションは「Enable Multiple Accounts」と呼ばれ、Ultimate Multisite → Settings → Login & Registration で有効にできます。

ユーザーテーブルが共有されているにもかかわらず、サブサイト管理者またはスーパーユーザーによってサブサイトにユーザーを追加または削除でき、さらに異なるサブサイトで異なるユーザー役割を持つこともできます。

パフォーマンスの考慮事項

WordPress マルチサイトは、サポートできるサイト数に関して非常に強力です。これは、WordPress.com、Edublogs、Campuspress がすべてマルチサイトベースのサービスであり、各々数千のサイトをホストしているという事実でテストできます。

理論上、単一の WordPress マルチサイトインストールでホストできるサイト数に上限はありませんが、実際に満足に運営できるサイト数は、サイトの動的度合いやサブサイトで利用可能なプラグインなど、さまざまな要因によって大きく異なる場合があります。

一般的な経験則として、ネットワークがシンプルであるほど良いです。コンテンツがあまり動的でないサイト(積極的なキャッシュ戦略の優れた候補)を優先し、プラグインスタックをできるだけ軽量に保つ(有効なプラグインの数が少ないほど良い)ことで、ホストできるサブサイト数を大幅に増やすことができます。

最も良い点は、ここではすべて WordPress であるため、パフォーマンス向上のために既に知っていて好きなツールがマルチサイトネットワークでも機能することです。

マルチサイトの主なボトルネックはデータベースですが、他のすべてが正しく設定されていれば、数千サイトに達するまで心配する必要はありません。そうしても、データベースシャーディングソリューションなど、段階的に追加できる解決策があります。