[WordPress]サイトのURLをサブドメインからルートドメインに変更した時のメモ

WordPress初心者で、いろいろ間違ったりしたのでここの記します。

Googleアドセンスに申請するときにルートドメインでしか登録できないようなのでやってみました。

 
サーバーは「ロリポップ」のライトプランです。

FTPソフトは「Filezilla」を使いました

 
参考にしたのはこのサイト↓

【完全版!】WordPressのURLをサブドメインからルートドメインへ変更する方法

 

そもそも理解してなかったこと

 

公開(アップロード)フォルダとは

↓画像はロリポップサーバーのサブドメイン設定ですが、「公開(アップロード)フォルダ」の欄に適当に「blog」「site」など、設定していたのですが、これらのフォルダはWordPressの「設定」「一般」「WordPressアドレス(URL)」には反映させません。

「WordPressアドレス(URL)」には「公開(アップロード)フォルダ」以下のフォルダを指定します。

 
Lolipopサブドメイン設定画面

 
 

フォルダごとルートドメインに引っ越すことに

参考にしたサイトではフォルダはそのままにWordPressの「設定」→「一般」の「サイトのアドレス(URL)」を変更index.phpを書き換え、.htaccessへの追記で完了しています。

今回はサーバーで「公開(アップロード)フォルダ」を指定しているせいか、うまくいかなかったので、フォルダごとルートディレクトリにコピペしてそちらをルートドメインで読み込むようにしました。

 
 

デメリット

デメリットとしては、記事の中のメディアファイルの指定をやり直さなくてはならなかったこと。

これは「Search Regex」というプラグインで比較的簡単に一括変換できました。

 

サブドメインからルートドメインにフォルダをコピペ

FTPソフト(ここではFilezilla)でサブドメインのディレクトリ以下(ここでは https://サブドメイン.ルートドメイン.com/blog )にあるファイルをルートドメインのディレクトリ(ここでは  https://ルートドメイン.com )にコピー&ペーストします。
 

新URL(ルートドメイン)のindex.phpを編集

旧URL以下のindex.phpは以下のようになっています。
新URLディレクトリ以下にあるindex.phpファイルを編集しておきます。
 


 


 
今回の場合、サブドメインのディレクトリ(https://サブドメイン.ルートドメイン.com/blog/blog)にあったものをルートドメインのディレクトリ(https://ルートドメイン.com)(※今回はブログ用フォルダを置かなかった)に写したので以下のようにしました。
index.php
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
 
 

WordPressアドレス(URL)とサイトアドレス(URL)を編集

WordPress管理画面の「設定」→「一般」で「WordPressアドレス(URL)」と「サイトアドレス(URL)」をルートドメインのディレクトリ(ファイルをペーストしたディレクトリ)にします。

 
wordpress管理画面[設定][一般]

 
 

移行できたか確認

ひとまずルートドメインのアドレスからサイト表示、Wordpressの管理画面にログインか確認します。
上手くいかない場合はキャッシュを削除する必要があるかもしれません。

 
 
 
 

サブドメインのファイルはどうする?

 
新アドレスに移行完了したのはいいのですが、このままサブドメインのファイルを削除すると旧アドレスが存在しなくなります。

しばらくは削除しないままでもいいですが、後々の事を考えると何とかしないといけません。

なので、旧アドレスにアクセスしたら、新アドレスにリダイレクトするように設定します。

 

301リダイレクトさせる

 
旧URL(サブドメイン)へアクセスしたら新URL(ルートドメイン)にリダイレクトするように設定します。

 
 

.htaccessに追記

.htaccessというファイルに追記して、元のサブドメインのディレクトリに置きます。

 


 
旧URLのディレクトリにある.htaccessファイルをFTPでダウンロードして編集します。

参考にしたサイトのコードでは上手くいかなかったので以下のサイト↓を参考に追記すると上手くいきました。

.htaccess でのリダイレクト(転送)設定の書き方

 
以下のように追記しました。
RewriteEngine On
RewriteRule (.*) https://(ルートドメイン).com/$1 [R=301,L]
 
 

記事中のメディアファイルの参照先を一括変換する

記事中のメディアファイル(画像や音声ファイル)の参照先が、旧URL(サブドメインのディレクトリ)なので、ルートドメインにあるコピペしたファイルを参照するように編集します。

1つ1つ行うと膨大な時間がかかるので、プラグインを使って自動で抽出、変換します。

 
 

便利なプラグイン「Search Regex」

このプラグインはブログの引越しの際も重宝しました。

記事中の文字を検索して一括で入れ替えてくれます。

 


 

Search Regexでメディアファイルの参照先を一括で変更する

 
    1. Search pattern」に検索文字列を入力して「Search」ボタンをクリックすると記事中から検索文字列を抽出します。
    2. Replace pattern」に変更したい文字列を入力して「Replace」ボタンをクリックすると文字を入れ替えて表示してくれます。
    3. 全項目をチェックしてOKなら「Replace&save」ボタンをクリックします。
    4. 入れ替えが実行されます。
 
Search Regex

 
↑画像は変更後に仮に入力したものなので表示は参考になりません

今回の場合は[Search pattern]には「サブドメイン.ルートドメイン.com/blog」を、[Replace pattern]には「ルートドメイン.com」を入力しました。

これで「サブドメイン.ルートドメイン.com/blog」を「ルートドメイン.com」に差し替えができました。