WordPressをマルチサイトに対応させる場合の注意点

Publish2012/10/26(金)

この記事がいつまでたってもよく見られているので、少し見やすいように変更する事にしました。
WordPressは2015年11月現在でも最も世界で使われるCMSという事になっています。
WordPressをそのまま使うだけであればいいんですが、マルチサイトにして運用しようとする人が僕含めて結構いるという事でしょう。
それに伴い、マルチサイトの設定でつまづく人も多い様子です。
そこで、WordPressで使えるマルチサイトの機能を使用する際に注意する点を書いておきます。
まずは、知らない人用にマルチサイトについて軽く説明。

WordPressのマルチサイトとは?

WordPressは基本的に1サイト(1ブログ)に対して1つインストールするシステムです。
でも、世間的な要望を受けてか3.0になってからマルチサイト機能が追加されて、インストールしたWordPressで複数のサイトを管理できるようになりました。
これがいわゆるマルチサイト機能というやつです。
今までサイトごとにしか、場合によってはディレクトリ別にインストールしていたWordPressの管理画面がひとつになるので、複数サイトの運営もこれまでよりも簡単になります
もちろん管理画面がひとつになるということは、そこが壊れたら一気に全て飛んでしまうというリスクも高まりますので一概に一つにするのがベストであるとは思いませんが、できるということは知っておいたほうがいいかなと思います。

ここがポイントWordPressのマルチサイトは、複数のWordPressを一つの管理画面で管理できるようにするもの

実際の導入手順

では実際にマルチサイト化するための手順を書いておきます。
今回は例としてサブディレクトリ型で説明します。
サブドメイン型、独自ドメイン型もできるのですが、その場合はDNSを変更する必要があるので、ちょっと初心者には敷居が高いかと思います。

1.WordPressをインストール

2.WordPressをインストールしたディレクトリの「wp-config.php」ファイルをローカルにダウンロード
(バックアップも取っておくことをおすすめします。)

3.ダウンロードした「wp-config.php」に

define ('WP_ALLOW_MULTISITE', true);

を追記。

4.追記した「wp-config.php」を保存してアップロード

5.WordPressの管理画面をリロード

6.使用しているプラグインを一旦全て無効化し、「ツール」から「ネットワーク」を選択

7.形式を「サブディレクトリ式」にチェックを入れて、必要事項を入力後、インストール開始

8.インストール完了後の指示に従って以下3つを行う

・「wp-content」ディレクトリに「blogs.dir」ディレクトリを作成して、パーミッションを「777」に変更。
・「wp-config.php」に以下のようにWordPressから指定されたコードを貼付ける。
先ほど追加したdefine (‘WP_ALLOW_MULTISITE’, true);の下とかにまとめておくと分かりやすいかも。

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
$base = '/';
define('DOMAIN_CURRENT_SITE', 'hogehoge.funnis.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

・「.htaccess」に以下のようなWordPressから指定されたコードを貼付ける。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

9.管理画面から子サイトを実際に作ってみる

という流れで使えるようになるんですが、ここで本題です。
この指示通りにやると僕の場合以下のエラーが出ました。
でそのエラー内容と対応方法です。

WordPressをマルチサイトにした時に起こるリダイレクトループの解決方法について

問題の現象は親サイトではなくて、子サイトを作った際に起こります
具体的には子サイトのダッシュボードに入ろうとするとリダイレクトループによってログイン出来なくなります。
ログイン出来ないので、もちろん更新はできません。
さて困ったという状況になるのですが、この解決方法は実はかなり簡単でした。
その解決方法が

.htaccessに不要な記述が入ってリダイレクトループが起こっているのでその記述を削除なりコメントアウトしてあげる

という方法です。
先程のマルチサイト化する際に「.htaccess」に追記した部分、アレが問題でした。
追記じゃなくて感覚的には上書きした方がいい感じだったんですね。

で、元からあった記述をこんな感じで書き換えます。

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

# END WordPress

元あった記述を全部コメントアウトした例です。
これで正常にマルチサイトが動きます。
分からなくてテンパると、はまってしまうので注意してくださいね。

まとめ

WordPressは便利ではありますが、初心者がカスタムしようとするとドはまりすることもあります。
コードがphpで書かれているので、分かる人にとっては便利に変更ができるわけですが、世間一般の多くの人がphp分かるわけではないので、困った時にこうやってググって僕のようなブログに到達するわけです。
多くの人が使うようになればなるほど、この手の問題はまだまだ出てくるということです。
マルチサイトにしても、本来想定していない使い方だと思うんですけど、やっぱり複数のブログを一括管理する方が楽なのでそのニーズはありますよね。
この辺を今後どう対応していくのかは非常に気がかりではあります。

記事の著者:ふにすでぐち

ふにすでぐち

1978年生まれ。企業のWeb活用をテーマに、Webサイトの運用を中心とした戦略的な企画立案、サポートやWebサイトの構築などを行っています。
5年間のWeb制作会社勤務後、2年間のフリーランスで「フニス」として活動後に法人化し、2012年7月「ふにす株式会社」を設立。
Web活用の情報や考え方などを発信するブログ「ふにろぐ」を平日毎日更新中。
2015年11月より大阪府高槻市に「ふにすWeb相談所」を開設。
地域の方々に気軽にWebのことを相談できる場所として、より多くのWeb運用の問題解決をするために活動しています。
また、不定期で大阪を中心にWeb運用やブログなどをテーマにしたイベント「ふにセミWS」を開催しています。
サイトの運用や活用にお困りの方はお気軽にご相談ください。
お問い合わせはこちら

LINEでWebに関する質問にお答えしています。

ふにすでは、LINEでWebに関するご質問にお答えしています。Webに関するあんなことやこんなこと、今さら聞けない疑問などなんでもご相談ください。LINEアプリでQRコードを読み取ると友達登録のリンクが表示されますので、試しに登録してみてください。

About

ふにろぐとは?

ふにろぐは「ふにす株式会社」の「でぐち」が書いているブログです。
このブログでは主にサイトの運営をしている企業のご担当者様向けに、「サイトの運営に役立つTips」や「今更人に聞けないような初歩的なこと」を中心に情報を配信しています。
その他には僕自身の考え方なども書いています。

このブログについて

ふにすのお仕事

このブログを書いている「でぐち」がしている「ふにす株式会社」は大阪と京都の間にある高槻という街で、Webの運用サポートを中心に活動しています。
Webサイトの制作とかもしてますが、ブログを続けるためのサポートとか、会社をどうやってPRすればいいんだろうとか、そういうふわっとした事を相談してください。
どういう内容を相談できるのかをまとめましたので、参考にしていただければと思います。

ふにすにはどんな仕事が頼めるの?

ふにすWeb相談所

ソーシャルとか。

NewEntry

PickUP

Webサイトの運用に関する情報

ふにろぐで取り上げたWebサイトの運用に関する記事のまとめです。ツールや運用ノウハウなど、知っていると便利になる情報ですので、まずはこちらをご覧ください。

Category

Month