WordPressのマルチサイト化について

はじめに、これから「マルチサイトでやったるぜ~」といった方に向けて、実際に運用してみて私が感じたマルチサイトのメリット・デメリットを書いておきます。参考程度になれば幸いです。

マルチサイト化のメリット

  • 子サイトを作る時にいちいちWordPressをインストールする必要がない
  • おおもとの管理画面から子サイトの管理画面へ移動できる
  • 共通のテーマを設定できたりする

マルチサイト化のデメリット

  • マルチサイト未対応のプラグインがある、使うと不具合を起こす場合がある
  • どこかでトラブルが起きた時に、連動してトラブルを引き起こすことがある
  • 本当は、個別にWordPressを分けたほうが管理が簡単な気がする

おおもとの管理画面があるということは、ログインが1回で済むということ。つまり、複数のサイトへそれぞれログインする必要がない=手間が掛からない、ということです。ログイン後は、各サイトの管理画面を行ったり来たりできるし、移動はラクチンです。

が、通常は簡単に利用できたプラグインがマルチサイトでは使えないとか、どこかの設定がおかしいみたいだけど原因が分からないとか、不都合な点も存在します。それに、普段は特定のサイトしか触らない場合は、ログイン時におおもとの管理画面を経由しないといけないので、とても手間に感じます。

なので、「マルチサイトが絶対に必要!」という線引きが明確にできない場合、というか必要性が明確にないのであれば、私は手間も対処も面倒な点が多いので絶対に使わないなぁと思うのです。

前置きが長くなりました、、では、以下に「はじめ方」と「やめ方」をまとめてみます。

マルチサイトの設定方法 ~はじめ方~

まずは、マルチサイトの設定前にURLを決定しましょう。マルチサイトで使えるURLは、以下のパターンがあります。

サブドメイン形式

  • http://example.com/●●●/
  • http://example.com/■■■/

サブディレクトリ形式

  • http://●●●.example.com/
  • http://■■■.example.com/

どのタイプで展開していくかを決めたら、wp-config.phpを開きます(wp-adminフォルダなどと同じ階層にあります)。

そして、wp-config.phpの「/*編集が必要なのはここまでです!WordPressでブログをお楽しみください*/」より上に以下コードを記述します。

define(WP_ALLOW_MULTISITE,true);

こんな感じで。

記述を終えたらファイルをアップしなおします。その後、管理画面にアクセスすると「設定」項目に「ネットワークの設置」が追加されるのでそれをクリックします。おっと、その前に必ず利用している全てのプラグインを無効にしておきましょう。

マルチサイトの設定画面が表示されますので、URL形式を選択し、ネットワーク名(グループの名前です)、メールアドレス(グループの管理者のもの)を記入して、下部にある「インストール」をクリックします。

インストールが完了すると、次はマルチサイト化に必要なステップが2つ表示されます。

1から順に設定しましょう。まずは、さきほどのwp-config.phpをもう一度ローカルにダウンロードして、ステップ1に記載されているコードを追加します。場所は、最初にコードを記述した下あたりが分かりやすいです。記述し終えたらファイルをアップし直してください。

続いて次の手順です。.htaccessファイル(wp-adminフォルダなどと同じ階層にあります)をローカルにダウンロードし、ステップ2に記載されているコードを追加します。下図のようにIfModuleの開始と終了のタグの間にある記述に上書きをします。記述し終えたら、ファイルをアップし直してください(万が一、マルチサイトをやめる時は元のコードに直すので、記述前の.htaccessファイルのバックアップを取っておくといいですよ)。

2つのファイルをアップしなおしたら、管理画面を更新してください。ログイン画面が表示されるので、もう一度ログインしなおしましょう。

ログインすると、ヘッダーに先ほど設定したネットワーク名や「参加サイト」という表示がありますよね。

そこの「参加サイト」にカーソルを乗せてください。「サイトネットワーク管理者」が管理者の管理メニュー、その下の赤枠の個所が登録されているサイトになります。サイトの数が増えれば、ここのリストにどんどんと追加表示されていきます。

サイトを追加したい場合は「サイトネットワーク管理者」→「ダッシュボード」と進みます

ダッシュボードに表示されている「新規サイトを作成」をクリックして、登録していきます。

以上でマルチサイト化は完了です。

マルチサイトの設定方法 ~やめ方~

マルチサイトをやめる場合は、まずプラグインを全て無効にし、wp-config.phpを開きます(wp-adminフォルダなどと同じ階層にあります)。開いたら、マルチサイトの設定時に記述したコードを全て削除します。

続いて、.htaccessファイルを開きます(wp-adminフォルダなどと同じ階層にあります)。こちらも、マルチサイトの設定時に記述したコードを削除して、元のコードに戻します。

コードを覚えてない、.htaccessのバックアップがない場合は、以下コードをコピペしましょう。ただし、以下コードはWordPressのデフォルトのものです。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

ファイルを2つとも元に戻せたら、元の場所にアップしなおします。その後、データベース(phpMyAdmin)へログインします。ログインしたら、WordPressで利用しているデーターベース名をクリックしてください。

テーブル一覧が表示されます。この中からマルチサイトで利用しているテーブルのみを削除します(下図の黄色の部分)。

削除できたら、ログイン画面にアクセスしましょう。無事にログインが出来たら、マルチサイト化の解除は完了です。

アクセスできない場合は、.htaccessファイルのリダイレクトの記述が間違っているか、もしくはデータベースの削除するテーブルが間違っている可能性が考えられます。データベースについては、元に戻せない場合がありますので、バックアップをしっかりと取っておきましょう。