wordpressをマルチサイト化する際に忘れがちなこと

  • wordpressをマルチサイト化する際に忘れがちなこと はコメントを受け付けていません

WordPressでマルチサイト化して何かおかしい人はこの記事を読んでみればいいんじゃない!

WordPressではバージョン3.0からマルチサイト化の機能が使用できるようになっています。
このマルチサイト化という機能は非常に便利ですが、忘れやすい(サイト構築時は一度マルチサイト化してしまうと暫くは触らなくて済むため)ので単純なミスで泥沼に陥る場合があります。

マルチサイト化の手順自体はいろいろなサイトで解説されていますので、今回は私が最近嵌ったポイントを私自身の備忘録代わりとしても記載しておきます。

マルチサイトとして追加したサイトがWordpressの管理画面に表示されない場合

私も最近(っていうか今日ですけど)この事象で無駄な時間をとられてしまいました!(笑)
結論からいうと、現在Wordpressにログインしているユーザーが、新しく追加したサイトのユーザーとして登録されていなかったことが原因です。(サイトによって管理ユーザを替えようと考えていたのをすっかり忘れていました)

対応としては、以下の手順を実施しユーザーを追加しました。

  1. 「参加サイト」⇒「サイトネットワーク管理者」⇒「サイト」を選択
  2. 該当のサイトを選択し編集
  3. ユーザータブを選択
  4. ユーザーを追加

※既存ユーザーと新規ユーザーによって入力箇所が違うので注意してください。(まあ新規ユーザー登録で既存のユーザーを入力しても弾かれるので気づくとは思いますが)

事象発生時の確認ポイント

確認ポイントとしては以下のようになると思います。

①マルチサイト化の設定手順に誤りは無いか?
②ログインしているユーザーは管理者権限か?
③追加したサイトのユーザーに追加されているか?

また、今回対応した手順で解決しないは、ログアウト後もう一度ログインしてみるといいかもしれません。

「www.」がつかないドメインへのアクセスがwp-signup.phpへリダイレクトされる場合

単純にいうと、例えば「test.com」というドメインをマルチサイト化している場合、「www.test.com」でのアクセスは正常だが、「test.com」でのアクセスの場合にwp-signup.phpへリダイレクトされるという事象です。これは意外に気づかない場合もあると思いますので、新しくサイトを作った場合は確認することをオススメします。

対応としては、「.htaccess」に以下の記述を行うことで対応可能です。


RewriteEngine On
RewriteBase /
# ここに以下の4行を追加(他の指定より前に記述する必要があります)
RewriteCond %{HTTP_HOST} ^test.com$
RewriteRule ^/?(index\.php)?$ http://www.test.com/ [R=301,L]
RewriteCond %{HTTP_HOST} ^test.com$
RewriteRule ^/?(.+)$ http://www.test.com/$1 [R=301,L]

# 以降はそのまま
RewriteRule ^index\.php$ - [L]

まとめ

以上、簡単にですがWordpressをマルチサイト化する際に忘れやすいことについてでした。
他にも重要なことがいろいろあったような気がしますが、そこはまた思い出したら記事にしたいと思います。

なお、これからWordpressのマルチサイト化機能を使おうとお考えの方は、マルチサイト化はサイト構築時の最初に設定しておくと楽ですよ。逆に既存のサイトをマルチサイト化しようとした場合は必ずバックアップをとった上で実施することをオススメします。(私も以前、既にあるサイトをマルチサイト化するという作業を実施しましたが、初期化して最初から構築した方が早いんじゃないかということがありました。何とかしましたけど…あれはもうこりごりかも~。)

  • このエントリーをはてなブックマークに追加

関連記事

コメントは利用できません。

ページ上部へ戻る