別記事で解説しているWordPressのマルチサイト機能。
WordPressでは手軽にマルチサイトを実現することができますが、気をつけないと非常に困る事、というかURLに何故か"/blog/"の文字列が入ってしまう、という問題もあります。
つまり、それまで一生懸命書いてきた記事のURLが瞬く間に一斉に変わってしまう!ということなんですね。(衝撃的過ぎる!)
トレンドアフィリエイトをはじめ、ブログ運営者にとっては正に死活問題にもなりかねないことですが、マルチサイトを必要とするあなたへ、ここで一緒に回避方法を見ておきましょう。
Contents
パーマリンク設定を見る
親サイトを「test01」として以下説明を進めます。
マルチサイト化した時のパーマリンクの設定はどうなっているかをまず見てみると、
「日付と投稿名」
になってるんですね(勝手に変わってる...)。
そこに”/blog/”も自動的について、例えば記事(hello-world)を表示するURLは、
test01/blog/2015/08/31/hello-world
といった形になります。
実際のパーマリンク設定を見てみると...
手順その1- デフォルトに戻す
この余計な”/blog/”を削除するための手順その1は、
パーマリンクの設定を一端「デフォルトに戻します」。
手順その2- Permalink Structureを設定する
続いて「参加サイト > サイトネットワーク管理者 > サイト」を選択します。
サイト一覧が表示されるので、そこから「編集 > 設定」と進みます。
↓↓↓↓↓↓
少し下に「Permalink Structure」というパーマリンクの形式に関する項目があるので、その「Permalink Structure」に「/%postname%/」と入れて設定を保存します。
こうすることで、記事のURLから”/blog/”が消えるんですね。
(実際に記事にアクセスしてURLを確認してみてくださいね)
設定に残る”/blog/”
それでも設定を見てみると、まだ”/blog/”が残っています。
”一時的に”ですが消し方は以下のとおり。
「wp-admin」フォルダー内の「options-permalink.php」で、
1 2 |
「$blog_prefix = '/blog';」の /blog を消します。 → 「$blog_prefix = '';」 |
に変更して保存。
この後、実際にパーマリンク設定を見てみると...
綺麗に” /blog ”がなくなってますね。
※)注意:アップデートで元に戻る
WordPressがアップデートされると、この「 options-permalink.php」の修正も元に戻ります。
(つまりまたパーマリンクの設定に"blog"が表示される)
パーマリンクの設定自体は変更されない(URLには影響なく動作してるようです)ので、設定に表示される"blog"は気にしない、というところが良さそうですね。
最初はサブドメイン型でインストール
もう1つの方法は、似てるといえば似てますが、元々サブドメイン型としてインストールし、後でディレクトリー型に戻す、というもの。
サブドメイン型でインストール
この中のサブドメインに関する項目を true としてwp-config.phpへ書き込み、インストールします。
1 2 |
define('SUBDOMAIN_INSTALL', false); → define('SUBDOMAIN_INSTALL', true); |
マルチサイト化後にパーマリンク設定を見てみると...
一番下のカスタム構造が選択されていて、”/blog/”が削れるじゃありませんか。
とういうことで、ここの部分を一旦全て消して"/%postname%/"を設定すればOKですね。
そしてディレクトリー型へ
後は、再びwp-config.phpのサブドメインに関する項目を true から falseにして
1 2 |
define('SUBDOMAIN_INSTALL', true); → define('SUBDOMAIN_INSTALL', false); |
とすると、サブドメイン型からサブディレクトリ型に戻ります。
実際には、パーマリンクの設定で”/blog/”は表示されたままになりますが、この”/blog/”を消すには上で見たのと同じように、
wp-admin > options-permalink.php を編集します。
でもね、こちらの場合でも、wordpressがバージョンアップされると、options-permalink.php も元に戻ってしまうんですね。パーマリンクの設定自体は維持されてURLが勝手に変わることはないようですけど、少し気になります。
まとめ
- マルチサイト化ではURLの変更にならないか気をつける。
- URLの文字列に”/blog”が入る場合の対処法としては2つある。
(実はプラグインの対応というのもありますけど) - いずれも設定には”/blog”の表示が残り、options-permalink.phpを編集することで非表示にもできるが、WordPressのバージョンアップで”表示上”は復活するので、気にしないとするのが良い。
マルチサイトでのこの"/blog"が入る仕様はどうもよくないですね。近い将来WordPressで仕様変更となって消え去れば嬉しいです。
簡易に実現できるマルチサイト仕様ですが、利用しようと思った時は使用用途をよく考え、なんとなく使うというより、メリット、デメリットをよく理解した上で使うのが良さそうです。
あなたのブログもまたこのマルチサイト機能でより良いものになれば良いですね。