マルチサイトは、1つのWordPressで複数のサイトを運営する機能です。テーマとプラグインを共有しつつ、サイトごとに記事・ユーザー・設定を分けられます。
手順は「wp-config.phpに1行足す→ネットワークを設置→指示された記述を追加」の3段階です。
手順1:マルチサイトを許可する
wp-config.phpに1行足します。必ず「編集が必要なのはここまでです」より上に書きます。
define('WP_ALLOW_MULTISITE', true);手順2:ネットワークを設置する
- 管理画面を再読みこみし、「ツール」→「ネットワークの設置」を開く
- サブドメイン型かサブディレクトリ型かを選ぶ(あとから変えるのは大変なのでここで決める)
- ネットワークのタイトルと管理者メールを入力して「インストール」
手順3:指示された記述を追加する
インストール後の画面に、wp-config.phpと.htaccessに貼るコードが表示されます。画面の指示どおりにコピーします。wp-config.php側はこんな内容です。
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false); // サブディレクトリ型ならfalse
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);.htaccessは既存のWordPress用の記述を置きかえる形になります(追記ではありません)。貼り替えたら、指示どおり一度ログアウトして再ログインします。
サブドメイン型とサブディレクトリ型
| サブディレクトリ型 | サブドメイン型 | |
|---|---|---|
| URL | example.com/shop/ | shop.example.com |
| DNS設定 | 不要 | ワイルドカードのDNS設定が必要 |
| 手軽さ | ◎ すぐ始められる | △ サーバーの対応が必要 |
| 見え方 | 同じサイトの一部に見える | 独立したサイトに見える |
| 向いている用途 | 支店ページ・言語別ページ・部署サイト | ブランドごとのサイト・貸し出すサイト |
迷ったらサブディレクトリ型。DNSやサーバー設定が要らず、あとから個別ドメインを割り当てることもできます。
子サイトを追加する
設置が終わると、管理バーに「参加サイト」→「サイトネットワーク管理」が現れます。
- 「サイトネットワーク管理」→「サイト」→「新規追加」
- サイトのアドレス(スラッグ)・サイトのタイトル・言語・管理者メールを入力
- 「サイトを追加」
これでexample.com/shop/のような子サイトができます。スラッグはあとから変えると各所のURLに影響するので、短く分かりやすい名前を最初に決めます。
管理画面の構造が変わる
マルチサイトでは、権限と設定の場所が2階層になります。
- サイトネットワーク管理者(Super Admin)——テーマ・プラグインの導入、サイトの追加、ユーザーの一括管理
- 各サイトの管理者——記事・固定ページ・そのサイトの設定
覚えておく大事な違いは3つです。
- テーマ・プラグインのインストールはネットワーク管理者だけ(各サイトの管理者はできない)
- テーマは「ネットワークで有効化」しないと各サイトで選べない
- プラグインは「ネットワークで有効化」で全サイト一括、または各サイトで個別に有効化
使う前に知っておく設定
アップロード容量の上限
ネットワーク管理の「設定」で、サイトごとのアップロード上限(既定は控えめな値)を調整できます。画像を多く使うサイトでは最初に上げておきます。
ユーザー登録の許可
同じ「設定」で、ユーザー登録とサイトの新規作成を誰に許可するかを決められます。社内利用なら「無効」または「管理者のみ」にしておくのが安全です。
使えるファイル形式
ネットワーク全体で許可する拡張子を指定できます。SVGやZIPを扱う場合はここを確認します。
テーマとプラグインの扱い
wp-content/
├── themes/ ← 全サイトで共有(ネットワークで有効化して配る)
├── plugins/ ← 全サイトで共有(一括/個別に有効化)
└── uploads/
├── (メインサイトの画像)
└── sites/2/ ← 子サイトの画像はサイトIDごとのフォルダへ画像はサイトごとに分かれる(uploads/sites/<ID>/)ため、サイト間で画像を使い回すことはできません(URLで参照するなら可能)。
やめたいときは戻せる?
マルチサイトを完全に元へ戻すのは簡単ではありません(データベースにサイトごとのテーブルが増えるため)。子サイトが1つなら、記事をエクスポートして新しいWordPressへ移す方法が現実的です。
「あとで戻せない前提で始める」のが安全な姿勢です。判断に迷うなら、次の記事で向き・不向きを確認してください。
まとめ
- 手順は
WP_ALLOW_MULTISITE→ネットワークの設置→指示されたコードをwp-config.phpと.htaccessへ - サブディレクトリ型が手軽(サブドメイン型はワイルドカードDNSが必要)。あとから変えるのは大変
- テーマ・プラグインはネットワーク管理者が入れて「ネットワークで有効化」
- 元に戻すのは難しいので、バックアップと事前のテストが前提
構築自体は10分ほどで終わります。難しいのは「本当にマルチサイトが向いているか」の判断のほうです。