立ち上げて1ヶ月以上経ったWordPressをサブディレクトリ型のマルチサイトにする方法

スポンサーリンク

wordpress

 

WordPressのマルチサイト化に成功したと思っていたら、サブドメイン型のマルチサイトになっていて、新規サイトの追加ができませんでした。

 

今のWordPressの仕様では、立ち上げて1ヶ月以上経ったWordPressは、一般的な方法でマルチサイト化しようとすると、サブディレクトリ型にできないようになっているようです。

 

エックスサーバーでは、サブドメイン型のマルチサイトは使えないので、おそらく新規サイトの追加ができなかったようです。

 

サブドメインとサブディレクトリの違い

サブドメインとサブディレクトリの違いですが、簡単に説明しますと、URLが違ってきます。

 

ドメインが「aaa.com」の場合、サブドメイン型のURLは、「zzz.aaa.com」となり、サブディレクトリの場合は、「aaa.com/zzz」となります。

 

一般的には、同類のテーマを扱うならばサブディレクトリ型、新規テーマを扱うならばサブドメイン型がSEO的に良いようです。

 

詳しくは下記サイトで。

 

>> サブディレクトリとサブドメインの違いと使い方について

 

レンタルサーバーがエックスサーバーでWordPressのマルチサイトを使いたい場合、サブドメイン型のマルチサイトは使えませんので、サブディレクトリ型のマルチサイトを構築するしか選択肢はありません。

 

ちなみに、エックスサーバーでサブドメイン型の新規WordPressブログを立ち上げたい場合は、エックッサーバーでサブドメインを作っておいて、サブドメイン用に新たにWordPressをインストールすれば可能です。(ただしデータベースがメインサイトとサブドメインサイトと異なってしまいます)

 

立ち上げて1ヶ月以上経ったWordPressではサブディレクトリを選択できない

矛盾するようですが、立ち上げて1ヶ月以上経ってしまったWordPressでは、通常のマルチサイト化の過程で、なぜだかサブディレクトリを選択することができません。

 

強制的にサブドメイン形式になってしまいます。

 

通常では、サブドメインかサブディレクトリを選択できるんですけどね。

 

しょうがないので、しんどいけど・・・バックアップをとってWordPressのデータベース削除し、もう一度初めからWordPressを立ち上げるか・・・

と思ったのですが、

調べてみると、立ち上げて1ヶ月以上経ってしまったWordPressでもサブディレクトリ型のマルチサイトにできる方法がありました!

 

いくつか方法があるようでしたが、「network.php」のコードをいじる方法が簡単そうなので、コレを試したところ大成功!

 

参考にしたのは下記のサイト。

 

>> 既存の WordPress シングルサイトをサブディレクトリ型マルチサイトに移行する最も簡単な方法

 

サイトネットワーク設置をクリックする前に「network.php」にコードを追記

立ち上げて1ヶ月以上経ったWordPressのマルチサイト化では、「サイトネットワーク設置」をクリックして表示される「WordPress サイトネットワークの作成」の画面に、「サブドメイン」と「サブディレクトリ」の選択する項目がありません。

 

そこで「network.php」のコードに、「return true; // 」を追記します。

 

network.phpのコード追記手順

エックスサーバーのファイルマネージャを使って「network.php」を編集します。

 

「network.php」の場所は、/wp-admin/includesの「includes」フォルダ内です。

 

「network.php」の中に、以下のコードがあるので、

 

function allow_subdirectory_install() {

global $wpdb;

 

下記のように、「 function allow_subdirectory_install() { 」の下、「global $wpdb;」の上の行に、「return true; // 」を挿入し、保存します。

 

function allow_subdirectory_install() {

return true; //

global $wpdb;

 

 

「サブドメイン」と「サブディレクトリ」の選択項目が復活!

return true; // のコードを追記した後、「WordPress サイトネットワークの作成」の画面に進むと、「サブドメイン」と「サブディレクトリ」の選択する項目が復活しています。

 

WordPressマルチサイト化

 

ここで「サブディレクトリ」を選択し、インストールをクリックし、後は通常通りの操作を行えばOK!

 

新規サイトの作成でサブディレクトリのサイトの作成OKに

これで サイトネットワーク管理 >ダッシュボード > 新規サイト作成 へ進んで「サイト追加」の画面が表示され、サイトアドレス (URL)の入力が、サブディレクトリ形式になっていれば成功です!

 

WordPressマルチサイト化

 

ちなみに、サブドメイン形式の場合のサイトを追加の画面は以下のようになっています。

 

WordPressマルチサイト化

 

入力がドメインの前になってますね。これが表示されたら失敗です。

 

パーマリンクの確認をして終了

マルチサイト化すると、メインサイトの記事のパーマリンクに、新たに /blog が入り込んでいる可能性があります。

 

例: https://aaa.com/archives/256 → https://aaa.com/blog/archives/256

 

このままですと、記事のURLが変わっているため、内部リンクや検索サイトからの誘導の際に、エラーとなってしまいます。

 

なのでメインサイトの記事URLのパーマリンクを元に戻す必要があります。

 

しかし、通常のパーマリンクの設定からは、/blogは消すことができませんでした。

 

私の場合は、パーマリンクの設定で、共通設定の基本にチェックして、いったん変更を保存し、再度、パーマリンクの設定に戻ると、なぜだか /blogが消えてたので、元に戻すことができました。

 

上手く行かない場合は、下記のサイトが参考になりそうです。

 

>> [WordPress]マルチサイトのサブディレクトリ型でパーマリンクの「blog」を削除する方法

>> 親サイトのパーマリンクの「/blog」を消す方法[マルチサイト,WordPress]

 

まとめ

WordPressのマルチサイト化をするならば、WordPressを立ち上げてすぐに行った方が良さそうです。

 

マルチサイト化は立ち上げた1ヶ月後からでも出来ますが、色々と躓くことが多かったです。

 

今回、私はWordPressのマルチサイト化では苦戦してしましいまたが、ネットで調べると、なんとか答えにたどり着けるもんです。

 

改めてWordPressの情報量の多さに感心しました。

 

WordPressマルチサイトの関連記事】

コメント