ドメインの変更もパーマリンクもリダイレクトは定義1つで完了

ドメインの変更もパーマリンクもリダイレクトは定義1つで完了

前の記事で課題と書いた「旧ドメイン宛アクセスのリダイレクト方法」。
スッキリとしたやり方で解決できたので記します。

Redirectionプラグインに1つ書くだけ

旧サイトの管理画面にRedirection – WordPress プラグインをインストールして、この1行を設定するだけで完了しました。

  • ソースURL:^/((?!wp-admin).*)$
  • ターゲットURL:https://新ドメイン名/$1
  • URL Options:正規表現

詳細オプションはいじらなければ301リダイレクトになります。

パーマリンクを変えても基本形は残る

そもそも難しく考えていたのは「ドメイン名もパーマリンクも変更した」から。

  • 過去:http://dolls.orz.hm/?p=123
  • 現在:http://dolls.tokyo/hogehoge-news

ドメインだけなら決め打ちで書き換えればいいとして、末尾の変換はどうしよう?

とりあえず今の全記事URLリストを取得してみました。

mysql -u MYSQLアカウント -p wp -e"select ID,guid,post_name,post_title from wp_posts where ( post_type = ('post' or 'page') and post_status = 'publish');" > ~/new.txt

記事ID,guid,スラッグ、記事タイトルの順で出力してあります。
中を覗いてみると・・・

$ grep 今年もお世話に new.txt
(前略)
12553 http://dolls.tokyo/?p=12553 %e4%bb%8a%e5%b9%b4%e3%82%82%e3%81%8a%e4%b8%96%e8%a9%b1%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%822016%e5%b9%b4%e8%b2%b7%e3%81%a3%e3%81%a6%e8%89%af%e3%81%8b%e3%81%a3%e3%81%9f 今年もお世話になりました。2016年買って良かったもの悪かったもの
13467 http://dolls.tokyo/?p=13467 bestbuy-worstbuy-2017 今年もお世話になりました。2017年買って良かったもの悪かったもの
(後略)

パーマリンクを変更したにもかからずGUIDはそのまま、「基本」のスタイルを保っています。
実際このGUIDでアクセスすると、自動的にhttp://dolls.tokyo/%postname%のアドレスに変換され表示しました。

ということは、旧ドメインから転送する際も新ドメインに?p=IDを点けた基本形で転送すればいいという事になるわけです。

あとは旧管理画面にだけはアクセスしたいため、”wp-admin”が入ったURLは転送を除外したい。
ということで冒頭の設定になりました。

試しにGoogleにて「site:dolls.orz.hm」を検索し、ランダムに記事を開いてみてもみんな正しくdolls.tokyoのページを開いてくれます。リダイレクト完成です。

残るは旧ドメインの後片付け

転送が動き出せば旧ドメインのコンテンツ自体へのアクセスはなくなります。WP+プラグインがリダイレクトマシンとしてひっそり動くのみ。

まずはリソースの無駄遣いになるwp-content/uploadsを削除。
その後はGoogleの検索結果にdolls.orz.hmがでなくなるのを見計らって旧ドメイン自体を削除したいと思います。

どうやら実際に検索に反映されるのは数ヶ月かかるらしい。

コメントを残す