WordPressのマルチサイト化は超カンタン!初心者でもラクラク設置する5ステップ
WordPressをマルチサイトにしたいんだけど、どうやるんだっけ?と私自身何度もマルチサイトは設置しているのですが、作るたびに手順を忘れてしまったりするので、マルチサイトの設定方法をまとめておきます。基本的にはwp-config.phpファイルと.htaccessファイルを書き換えるだけなので、初心者の方でもラクラク設置できると思います。
【1】wp-config.phpファイルで定数WP_ALLOW_MULTISITEをtrueにする
// 〜前略〜 define( 'WP_DEBUG', false ); // ↓ これを追加 define('WP_ALLOW_MULTISITE', true); /* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */ // 〜後略〜
wp-config.php ファイルの「WP_DEBUG」の定数設定の下から、「/* 編集が必要なのはここまでです〜」のコメント部分の間に1行追加します。
FTP等で書き換えを行う場合は、wp-config.phpファイルをダウンロードし、上記を追記して再度アップロードします。
SSH等でサーバー上のファイルを直接編集している場合は、保存して次の工程に進みます。
【2】管理画面の「ツール – サイトネットワークの設置」を設定する
wp-config.php ファイルを設定すると、WordPress管理画面の「ツール」項目内に「サイトネットワークの設置」というページが増えています。
マルチサイトをサブドメインで運用するか、サブディレクトリで運用するかを設定します。(※ マルチサイト自体がサブディレクトリの場合はサブドメインを選択できません。)
サイトネットワーク名や、管理者のメールアドレスは特段重要ではありませんので、デフォルトのままでも問題ありません。
各項目の設定が完了したら「インストール」ボタンでマルチサイト化します。
インストールすると、上記のような画面で、wp-config.phpファイルと.htaccessファイルを変更するように指示があります。
【3】wp-config.phpファイルにマルチサイト用の定数を追記する
// 〜前略〜 define( 'WP_DEBUG', false ); // ↓ 先ほど追加した1行 define('WP_ALLOW_MULTISITE', true); // ↓ これを追加 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); // ↑ ここまで /* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */ // 〜後略〜
サブドメイン型にした場合は、8行目がtrueになっていたり、元々のサイトのドメインなどによって設定内容が違いますので、お手元のWordPress管理画面に表示されている内容を追記してください。
【4】.htaccessファイルをマルチサイト用の設定に書き換える
WordPressをインストールした後は、WordPressによって以下のような.htaccessファイルが生成されています。
# BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
こちらもサイトによっては7行目のRewriteBaseの値が違かったりしますので、ご自身のサイト環境に合わせてください。
これを先ほど管理画面に表示された新しい内容に書き換えます。
# BEGIN WordPress # `BEGIN WordPress` から `END WordPress` までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin 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] </IfModule> # END WordPress
こちらも最初と同様、サーバー上で変更しても良いし、FTP等でローカルに落としてきて編集→アップロードでもOKです。
【5】管理画面に再ログインするとマルチサイト化完了!
上記の設定が完了したら、管理画面にログインするとマルチサイト化されていると思います。
5ステップと言ってみたものの、実際はステップ4までで設定は完了ですね。
簡単でしたね、マルチサイト有効に使っていきましょう。