はじめに
前回の記事ではWordPressのGutenbergブロックエディターを拡張してオリジナルのカスタムブロックを作成する方法を解説しました。今回はWordPressのマルチサイト機能を解説します。マルチサイトとはひとつのWordPressのインストール環境で複数のサイトを管理できる仕組みです。企業の部門ごとのサイト・多言語サイト・フランチャイズ店舗ごとのサイトなど、複数のサイトをまとめて管理したい場面で威力を発揮します。マルチサイトの有効化手順・ネットワーク管理画面の使い方・サブディレクトリ型とサブドメイン型の違い・運用上の注意点まで一通り解説します。
1. マルチサイトとは
1.1 マルチサイトの概要
WordPressのマルチサイト(Multisite)はひとつのWordPressインストールで複数の独立したサイトを運営できる機能です。WordPress 3.0以降に標準搭載されており、追加のプラグインなしで利用できます。
| 通常のWordPress | マルチサイト |
|---|---|
| 1インストール=1サイト | 1インストール=複数サイト |
| サイトごとに個別管理 | ネットワーク管理画面で一元管理 |
| プラグイン・テーマを個別管理 | ネットワーク全体または個別に管理 |
| データベースが分離 | データベースを共有 |
1.2 マルチサイトが向いているケース
| 活用場面 | 例 |
|---|---|
| 企業の部門サイト | 本社・営業部・開発部それぞれのサイト |
| 多言語サイト | 日本語・英語・中国語の各言語サイト |
| 教育機関 | 学校ごとのサイトをまとめて管理 |
| フランチャイズ | 店舗ごとのサイトを本部が一元管理 |
| メディア運営 | 複数のブログ・メディアをまとめて運営 |
1.3 サブディレクトリ型とサブドメイン型
マルチサイトのURL構造は2種類から選択します。
| 種類 | URL例 | 特徴 |
|---|---|---|
| サブディレクトリ型 | example.com/site-a/ | 設定が簡単。共有サーバーでも使いやすい |
| サブドメイン型 | site-a.example.com | ブランドが独立して見える。DNSの設定が必要 |
💡 どちらを選ぶべきか: 管理のしやすさを優先するならサブディレクトリ型、各サイトの独立性・ブランド感を重視するならサブドメイン型を選びましょう。なお、マルチサイトを有効化した後でこの設定を変更するのは非常に困難です。事前にしっかり検討してください。
2. マルチサイトを有効化する
2.1 有効化前の確認事項
マルチサイトを有効化する前に以下の点を確認しておきましょう。
| 確認項目 | 内容 |
|---|---|
| WordPressのバージョン | 3.0以上(現在の最新版を推奨) |
| パーマリンク設定 | 「基本」以外に設定されているか |
| プラグインの停止 | 有効化中のプラグインをすべて無効化しておく |
| バックアップ | 必ずバックアップを取ってから作業する |
⚠️ 既存サイトへのマルチサイト有効化は慎重に: 公開中のサイトにマルチサイトを有効化するとURLの構造が変わるため、既存の投稿へのリンクが切れる場合があります。必ず事前にバックアップを取り、ステージング環境で検証してから本番に適用しましょう。
2.2 wp-config.phpを編集する
マルチサイトを有効化するには wp-config.php に以下の1行を追加します。/* That's all, stop editing! */ と書かれた行の上に追記します。
/* マルチサイトを有効化する */
define( 'WP_ALLOW_MULTISITE', true );
/* That's all, stop editing! Happy publishing. */
2.3 ネットワークのセットアップを実行する
- 管理画面の**「ツール」→「ネットワークのセットアップ」**を開きます。
- URL構造を選択します。
| 選択肢 | 説明 |
|---|---|
| サブドメイン | site-a.example.com の形式 |
| サブディレクトリ | example.com/site-a/ の形式 |
- ネットワークのタイトルと管理者メールアドレスを入力して「インストール」をクリックします。
2.4 wp-config.phpと.htaccessを更新する
セットアップ完了後、画面に表示されるコードを各ファイルに追記します。
wp-config.phpに追記するコード(例):
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // サブディレクトリの場合
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
.htaccessに追記するコード(例):
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# マルチサイト用のルール
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]
- ファイルを保存したら再度ログインします。管理画面の上部に「マイサイト」メニューが追加されていれば有効化完了です。
3. ネットワーク管理画面の使い方
3.1 ネットワーク管理画面へのアクセス
マルチサイトを有効化すると通常の管理画面に加えてネットワーク管理画面が追加されます。
- アクセス方法:管理画面上部の「マイサイト」→「ネットワーク管理」→「ダッシュボード」
- URL:
https://example.com/wp-admin/network/
3.2 ネットワーク管理画面でできること
| メニュー | 機能 |
|---|---|
| サイト | ネットワーク内の全サイトの追加・編集・削除 |
| ユーザー | 全サイト共通のユーザー管理 |
| テーマ | ネットワーク全体へのテーマの有効化・無効化 |
| プラグイン | ネットワーク全体へのプラグインの有効化・無効化 |
| 設定 | ネットワーク全体の基本設定 |
| アップデート | WordPress本体・テーマ・プラグインの一括更新 |
3.3 新しいサイトを追加する
- ネットワーク管理画面の**「サイト」→「新規追加」**をクリックします。
- 以下の項目を入力します。
| 項目 | 内容 |
|---|---|
| サイトアドレス | サブディレクトリ名またはサブドメイン名 |
| サイトのタイトル | サイトの名前 |
| 管理者メールアドレス | そのサイトの管理者のメールアドレス |
- 「サイトを追加」をクリックします。
💡 既存ユーザーを管理者として指定できます: 管理者メールアドレスにすでに登録済みのユーザーのメールアドレスを入力すると、そのユーザーが自動的にそのサイトの管理者になります。
4. テーマとプラグインの管理
4.1 ネットワーク有効化と個別有効化の違い
マルチサイトではテーマとプラグインの有効化に2つの段階があります。
| 段階 | 操作場所 | 効果 |
|---|---|---|
| ネットワーク有効化 | ネットワーク管理画面 | ネットワーク内の全サイトで使えるようにする |
| 個別有効化 | 各サイトの管理画面 | そのサイトだけで有効にする |
⚠️ ネットワーク有効化されたプラグインは各サイトから無効化できません: スーパー管理者がネットワーク有効化したプラグインは各サイトの管理者が無効化することはできません。セキュリティ・SEO関連プラグインなどサイト全体に適用したいものはネットワーク有効化を使いましょう。
4.2 テーマの管理手順
ステップ1:ネットワーク管理画面でテーマをインストールする
- ネットワーク管理画面の**「テーマ」→「新規追加」**からテーマをインストールします。
ステップ2:テーマをネットワーク有効化する
- 「テーマ」一覧でテーマの「ネットワーク有効化」をクリックします。
- これで各サイトの管理画面から選択・適用できるようになります。
ステップ3:各サイトでテーマを適用する
- 各サイトの管理画面で**「外観」→「テーマ」**を開きます。
- ネットワーク有効化済みのテーマから選択して「有効化」をクリックします。
4.3 プラグインの管理手順
| 用途 | 推奨する管理方法 |
|---|---|
| セキュリティ・バックアップ | ネットワーク有効化(全サイトに強制適用) |
| SEO設定 | ネットワーク有効化(各サイトで個別設定) |
| お問い合わせフォーム | ネットワーク有効化 → 各サイトで個別有効化 |
| サイト固有の機能 | 各サイトの管理画面から個別有効化 |
5. ユーザーと権限の管理
5.1 スーパー管理者とは
マルチサイトには通常の「管理者」に加えてスーパー管理者という役割があります。
| 役割 | 権限の範囲 |
|---|---|
| スーパー管理者 | ネットワーク全体の管理(サイト追加・プラグイン・テーマのネットワーク有効化など) |
| 管理者 | 担当サイト内の管理のみ |
| 編集者・投稿者・購読者 | 通常のWordPressと同じ |
5.2 スーパー管理者を追加する
- ネットワーク管理画面の**「ユーザー」**でユーザーを選択します。
- ユーザー編集画面の最下部にある**「スーパー管理者権限を付与する」**にチェックを入れて保存します。
または wp-config.php に直接指定することもできます。
define( 'SITE_ADMINS', array( 'your-username' ) );
5.3 ユーザーを特定のサイトに追加する
ネットワーク内のユーザーは特定のサイトだけに追加することもできます。
- 追加したいサイトの管理画面の**「ユーザー」→「既存のユーザーを追加」**を開きます。
- ユーザー名またはメールアドレスと役割を指定して追加します。
💡 ユーザーは複数のサイトに同時に所属できます: ひとりのユーザーをサイトAでは「編集者」、サイトBでは「管理者」として設定するといった使い方も可能です。
6. マルチサイト運用の注意点
6.1 データベース構造について
マルチサイトではサイトを追加するたびに専用のデータベーステーブルが追加されます。
| テーブル(サイトID=2の場合) | 内容 |
|---|---|
wp_2_posts | サイト2の投稿データ |
wp_2_postmeta | サイト2の投稿メタデータ |
wp_2_options | サイト2の設定データ |
wp_2_terms | サイト2のタクソノミーデータ |
ユーザーデータ(wp_users / wp_usermeta)はネットワーク全体で共有されます。
6.2 メディアファイルの管理
各サイトのメディアファイルは独立したディレクトリに保存されます。
wp-content/uploads/sites/2/2026/05/image.jpg ← サイト2のメディア
wp-content/uploads/sites/3/2026/05/image.jpg ← サイト3のメディア
サイト間でメディアを共有したい場合は Network Media Library などのプラグインを使います。
6.3 マルチサイトでよく使うプラグイン
| プラグイン | 用途 |
|---|---|
| Network Media Library | サイト間でメディアを共有する |
| WP Migrate DB Pro | マルチサイトのデータベース移行 |
| Multisite Enhancements | ネットワーク管理画面を使いやすく拡張する |
| NS Cloner | 既存サイトを複製して新しいサイトを作成する |
6.4 マルチサイトを解除する場合
マルチサイトを解除してシングルサイトに戻す公式の手順はありません。解除する場合は各サイトのデータを個別のWordPressにエクスポートして移行する必要があります。
⚠️ マルチサイトの導入は慎重に判断してください: 一度マルチサイトを導入して複数のサイトを運用し始めると、シングルサイトに戻すのは非常に手間がかかります。本当にマルチサイトが必要かどうか、別々のWordPressをインストールする方が管理しやすくないかを事前によく検討しましょう。
7. マルチサイト運用チェックリスト
✓ 有効化前にバックアップを取っているか
✓ サブディレクトリ型とサブドメイン型をどちらにするか決定したか
✓ 有効化前にすべてのプラグインを無効化したか
✓ 有効化前にすべてのプラグインを無効化したか
✓ wp-config.php と .htaccess を正しく更新したか
✓ スーパー管理者のアカウントを適切に設定したか
✓ 各サイトに必要なテーマをネットワーク有効化したか
✓ セキュリティ・バックアップ関連のプラグインをネットワーク有効化したか
✓ 各サイトの管理者ユーザーを追加・設定したか
✓ メディアファイルの共有が必要かどうか検討したか
✓ 定期的なバックアップ運用を整えているか
まとめ
今回はWordPressのマルチサイト機能を使って複数のサイトをひとつのWordPressで管理する方法を解説しました。ポイントをまとめると:
- マルチサイトはひとつのWordPressで複数のサイトを運営できる機能で、WordPress 3.0以降に標準搭載されている
- URL構造はサブディレクトリ型とサブドメイン型の2種類から選択し、有効化後の変更は困難なため事前に十分検討する
wp-config.phpにWP_ALLOW_MULTISITEを追加してセットアップを実行し、表示されたコードを各ファイルに追記する- ネットワーク管理画面からサイト追加・テーマ・プラグイン・ユーザーをまとめて管理できる
- スーパー管理者はネットワーク全体を管理でき、各サイトの管理者は担当サイト内のみ管理できる
- マルチサイトの解除は非常に手間がかかるため、本当に必要かどうか慎重に判断する
次の記事では、WordPressサイトのパフォーマンス計測と継続的な改善サイクルの回し方について解説します。お楽しみに!
コメント