ツール無しで WordPress のドメインを変更する(記事数が少ない場合)

ひょんなことから wordpress のドメイン変更をすることになったのでメモ。

ひょんなことというのは、当初サブドメイン形式でこのブログを運営していたのですが、
2016年の2月(?)あたりに Google Adsense が サブドメイン形式の媒体にアドセンスの配信をしなくなった
との報告があり、それを知らずに開設してしまったため、サブドメインからの移行を余儀なくされました。

で、いくつか記事を書いてしまった後だったし、WordPressだし、いろいろめんどくさそうと思っていたのですが….記事数少なかったためか案外簡単でした。

<< やりたいこと >>


旧ブログドメイン: blog.aidentity.net
↓
新ブログドメイン: aidentity.net

 

一見簡単そうですが、Wordpress でドメイン移行する際に何がめんどくさいかというと
コンテンツ(画像リンクとか記事URL)やDBに現行のURLが書かれてしまっていて、ドメイン変更に伴い
それら全てを書き換えなければいけないということです。

そこでそれらを簡単に書き換えるツールがいろいろと出回っているのですが、そんなに記事数ないし、それをつかうのも余計めんどくさいなぁとおもい、無理やり移行させました。

※ 記事やプラグインが多い方はDB書き換えのツール使った方が効率よい気がします。
推奨されているツールは以下

Database Search and Replace Script in PHP

今回の手順は以下

 


1, 既存の wordpress の中身をバックアップ
2, 新ブログドメインのドキュメントルートにバックアップをコピー
3, wp-config.php の中に新サイトのドメインを定義
4, 残った旧ドメインが記載されている箇所を手動で修正
5, 旧ドメインのドキュメントルートに Rewriterule を設定して新ドメインへリダイレクトするように設定
6, Google Analytics の再設定、Google SearchConsole へドメイン移行を伝える

 

1, 既存の wordpress の中身をバックアップ

ローカルでもリモートでもよいので、旧ドメイン内にあるwordpress の中身を全てバックアップします。
index.php が乗っているディレクトリ含めて全て保存してあげます。

 

2, 新ブログドメインのドキュメントルートにバックアップをコピー

1, で取得した wordpress のバックアップを、新ドメインのドキュメントルートにまるごとコピーします。

 

3, wp-config.php の中に新サイトのドメインを定義

このままだと wordpress のコンテンツの内部リンクや、管理画面のリンクが旧ドメインの設定のままとなってしまい、リンクがうまく遷移しません。そこで、wp-config.php 内に新ドメインに移行したことを明示的に示してあげます。

wp-config.php


~~~~~
~~~~~
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');

define('WP_SITEURL', 'http://aidentity.net');
define('WP_HOME', 'http://aidentity.net');

/**#@+
 * 認証用ユニークキー
 ~~~~~
 ~~~~~

 

define(‘WP_SITEURL’, ‘http://aidentity.net’);
define(‘WP_HOME’, ‘http://aidentity.net’);
の2行を追記してみました。

これで内部リンクが正常に機能するようになります。

 

4, 残った旧ドメインが記載されている箇所を手動で修正

固定ページや、メニュー内のカスタムリンク等、旧ドメインの時に手動で設定したURLを
新ドメインに書き換えてあげます。僕の場合は固定ページ、メニューのカスタムリンク、faviconのURL、Social meta情報(ogpやTwitterCard)、記事内の画像リンクを書き換えれば全部でした。ツールを使うとすればこのフェーズです。

 

5, 旧ドメインのドキュメントルートに Rewriterule を設定して新ドメインへリダイレクトするように設定

これで大方移行は完了ですが、Google のインデックスには旧ドメインがインデックスされてしまっており、アクセスしても旧ドメインのコンテンツが見れてしまいます。そこで旧ドメインのドキュメントルートに下記のように Rewriteruleを記載した .htaccess ファイルを作成してあげて、新ドメインにリダイレクトするようにしてあげます。

.htaccess

RewriteEngine on
RewriteBase /
RewriteRule /(.*)$ http://aidentity.net/$1 [R=301,L]


上記のように301リダイレクトしてあげることで、重複したコンテンツではなく、サイト移設に伴う一時的な重複でメインページはリダイレクト後のURLですよというのをユーザーにも検索エンジンにも伝えることができます。

 

6, Google Analytics の再設定、Google SearchConsole へドメイン移行を伝える

Analytics, SearchConsole 共に、旧ドメインから新ドメインへ移行の設定を加えればOKです。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です