2026年7月4日

2026年7月4日

WordPressマルチサイトの設定方法と導入後の管理のポイント

WordPressのマルチサイトは、1つの WordPress のインストールで複数のサイトをまとめて運用できる機能です。この記事では、導入前に決めておくべきこと、wp-config.php を使った有効化の手順、そして導入後の日々の管理(サイトの追加、プラグインとテーマの扱い、ユーザー権限、更新、バックアップ)までを順に解説します。設定そのものは数十分で終わりますが、後から元に戻すのが難しい機能なので、前半の判断の部分を飛ばさずに読んでください。

マルチサイトが向いている場合・向いていない場合

マルチサイトでは、WordPress 本体・プラグイン・テーマのファイルを全サイトで共有し、データベースもサイトごとにテーブルを分けて1つにまとめます。そのため、向き不向きがはっきりしています。

向いているのは、同じ組織が同じ仕組みで多数のサイトを運用する場合です。たとえば、支店ごとのサイト、言語ごとのサイト、学校や部署ごとのサイトなどで、テーマやプラグインを共通にしたいときに管理の手間が減ります。

向いていないのは、サイトごとに使うプラグインがまったく違う場合や、将来どれかのサイトを別の会社やサーバーへ切り出す可能性がある場合です。マルチサイトから単独のサイトへ戻す作業は、データの書き出しとURLの置き換えが必要で手間がかかります。また、プラグインの中にはマルチサイトに対応していないものもあります。数サイトを別々に運用するだけなら、通常の WordPress を複数立てて、管理ツールでまとめるほうが簡単なこともあります。

サブディレクトリ型とサブドメイン型を選ぶ

マルチサイトのサイトの URL は、次の2通りから選びます。導入後の変更は難しいので、ここで決めておきます。

  • サブディレクトリ型:example.com/tokyo/、example.com/osaka/ のように、パスでサイトを分けます。DNS や SSL 証明書の追加設定が要りません。
  • サブドメイン型:tokyo.example.com、osaka.example.com のように、サブドメインでサイトを分けます。DNS のワイルドカードレコード(*.example.com)と、ワイルドカードに対応した SSL 証明書が必要です。

すでに運用中のサイト(公開から1か月以上たった投稿があるサイト)をマルチサイトにする場合、既存の投稿のURLとサイトのURLが重なるおそれがあるため、設定画面でサブディレクトリ型が選べず、サブドメイン型だけが表示されることがあります。サブディレクトリ型にしたい場合は、新しく WordPress を入れてからマルチサイト化するほうがスムーズです。

なお、各サイトに shop-a.jp のような独自のドメインを割り当てることもできます。WordPress 4.5 以降はドメインの割り当てがコアに組み込まれており、サイトの編集画面でサイトアドレスを変更し、そのドメインの DNS をサーバーに向ければ使えます。

導入前の準備

作業の前に、次の準備をしておきます。

  1. バックアップ:ファイル一式とデータベースを取得します。wp-config.php と .htaccess は個別にもコピーしておきます。
  2. プラグインの無効化:設定画面の案内に従い、すべてのプラグインを一度無効化します。マルチサイト化の後に1つずつ有効化して動作を確認します。
  3. パーマリンクの確認:「設定 > パーマリンク」が基本(?p=123)以外になっていることを確認します。
  4. サーバーの確認:レンタルサーバーによってはマルチサイトを制限していたり、専用の手順を用意していたりします。利用中のサーバーのマニュアルを確認してください。

マルチサイトを有効にする手順

手順1:wp-config.php でネットワーク機能を許可する

FTP やサーバーのファイルマネージャーで wp-config.php を開き、「編集が必要なのはここまでです」と書かれた行より上に次の1行を追加します。

<?php
define( 'WP_ALLOW_MULTISITE', true );

保存して管理画面を再読み込みすると、「ツール」メニューに「ネットワークの設置」が表示されます(表記はバージョンや言語設定で多少異なることがあります)。

手順2:ネットワークの設置画面で設定する

「ネットワークの設置」を開き、サブドメイン型かサブディレクトリ型かを選び、ネットワークの名前と管理者のメールアドレスを入力して進みます。次の画面に、wp-config.php と .htaccess に追加するコードが表示されます。

手順3:表示されたコードを wp-config.php と .htaccess に追加する

wp-config.php には、おおむね次のような定数が表示されます。値はサイトによって異なるので、画面に表示されたものをそのまま使ってください。

<?php
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // サブドメイン型なら true
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

.htaccess は、WordPress が書いた既存のルール(# BEGIN WordPress から # END WordPress まで)を、画面に表示されたマルチサイト用のルールに置き換えます。他のプラグインやサーバー会社が書いたルールは残しておきます。Nginx を使っている場合は .htaccess が効かないため、マルチサイト用のリライト設定をサーバーの設定ファイルに書く必要があります。

保存したら一度ログアウトし、ログインし直します。管理バーに「参加サイト」が表示されれば、マルチサイト化は完了です。

WP-CLI が使える環境では、wp core multisite-convert コマンドでも同じ変換ができます。ただし .htaccess や Nginx の設定は自分で書き換える必要がある点は同じです。

つまずきやすいポイント

マルチサイト化の直後に起きやすい問題と確認先です。

  • ログインできない・リダイレクトが繰り返される:wp-config.php の DOMAIN_CURRENT_SITE と実際のドメイン(www の有無、http と https)が一致しているかを確認します。
  • 追加したサイトの管理画面が開かない・CSS が崩れる:サブディレクトリ型で .htaccess のルールが古いまま、または Nginx のリライト設定が不足していることが多い原因です。
  • サブドメインのサイトが表示されない:ワイルドカード DNS と SSL 証明書がサブドメインに対応しているかを確認します。

元に戻したい場合は、wp-config.php に追加した定数を削除(またはコメントアウト)し、.htaccess を元のルールに戻すと単独サイトとして動きます。ただし、マルチサイト用に作られたテーブルや追加したサイトのデータは残ります。

導入後の管理:ネットワーク管理画面の使い方

マルチサイトでは、通常の管理画面に加えて、ネットワーク全体を管理する「ネットワーク管理」画面が使えます。管理バーの「参加サイト」から開けます。ここでの主な作業を、目的ごとに整理します。

サイトを追加する

ネットワーク管理の「サイト」から新しいサイトを追加します。サイトのアドレス(サブディレクトリ名またはサブドメイン名)、タイトル、管理者のメールアドレスを入力すると作成されます。WP-CLI なら次のとおりです。

wp site create --slug=osaka --title="大阪支店" --email=admin@example.com
wp site list --fields=blog_id,url

プラグインを管理する

プラグインのインストールと削除は、ネットワーク管理画面からしかできません。各サイトの管理者は、インストール済みのプラグインを自分のサイトで有効化するかどうかだけを選べます(ネットワーク設定で、サイト管理者にプラグインのメニューを見せるかどうかも切り替えられます)。

「ネットワークで有効化」すると、全サイトで強制的に有効になります。セキュリティ系やバックアップ系など、全サイト共通で必要なものだけをネットワーク有効化し、それ以外はサイトごとに有効化する運用にすると、問題が起きたときの影響範囲を抑えられます。

テーマを管理する

テーマもネットワーク管理画面でインストールし、「ネットワークで使用を許可」したものだけが各サイトで選べるようになります。各サイトのカスタマイズは子テーマで行い、親テーマの更新で消えないようにしておきます。

ユーザーと権限を管理する

マルチサイトでは、ネットワーク全体を管理できる「特権管理者」(Super Admin)と、各サイトの「管理者」が分かれます。特権管理者はすべてのサイトのあらゆる設定を変えられるため、付与するのは最小限の人数にとどめます。ユーザーのアカウントはネットワーク全体で共通で、各サイトには「このユーザーをこのサイトに追加する」形で権限グループを割り当てます。

サイトの管理者は、通常の WordPress と違ってプラグインのインストールや PHP を含むファイルの編集ができません。これはマルチサイトの仕様なので、サイト管理者からの依頼は特権管理者がまとめて対応する運用を決めておきます。

更新と「ネットワークのアップグレード」

WordPress 本体・プラグイン・テーマの更新はネットワーク管理画面でまとめて行い、全サイトに同時に反映されます。本体の更新でデータベースの構造が変わった場合は、ネットワーク管理画面の案内に従って全サイトのデータベースを更新します。サイト数が多いと時間がかかるため、アクセスの少ない時間帯に行い、事前にバックアップを取ります。

1つのプラグインの不具合が全サイトに影響するのがマルチサイトの弱点です。更新はステージングで試してから本番に反映する手順にしておくと安心です。

アップロードとストレージ

各サイトのアップロードファイルは wp-content/uploads/sites/{サイトID}/ に保存されます。ネットワーク設定で、サイトごとのアップロード容量の上限や、アップロードできるファイルの種類、1ファイルの最大サイズを決められます。

バックアップ

データベースには、サイトごとに wp_2_posts、wp_3_posts のような接頭辞付きのテーブルが作られ、ユーザー情報(wp_users)やネットワーク情報(wp_blogs、wp_site、wp_sitemeta)は共通のテーブルに入ります。バックアップはネットワーク全体をまとめて取るのが基本です。使うバックアッププラグインがマルチサイトに対応しているか、特定のサイトだけを復元できるかは、プラグインの説明で確認してください。マルチサイトへの対応状況は、プラグインの版や有料・無料の違いで変わることがあります(2026年10月現在)。

まとめ

  • マルチサイトは「同じ仕組みで多数のサイトを運用する」場合に向き、単独サイトへ戻すのは手間がかかる
  • サブディレクトリ型かサブドメイン型かは導入前に決める。サブドメイン型はワイルドカード DNS と SSL が必要
  • 有効化は WP_ALLOW_MULTISITE の追加、ネットワークの設置、表示されたコードの追記の3段階。作業前にバックアップとプラグインの無効化を行う
  • プラグインとテーマのインストールは特権管理者の仕事。ネットワーク有効化は全サイト共通で必要なものに限る
  • 更新は全サイトに同時に効くため、ステージングで試し、バックアップはネットワーク全体で取る

お気軽にご相談ください

お見積りへ お問い合わせへ
▲