Search Replace DBがVer4~にアップデートされていたので記事をリライトしました。以前のバージョンではPHP7.2以上だとエラーが出ていましたが、Search Replace DB Ver4~ならPHP7.3以上でも動作するようです。逆に古いPHP環境の場合はSearch Replace DB Ver3.1.0を使用してくださいとのことです。

WordPressサイトをローカル環境で構築後、本番環境に移行する場合、ドメインの置換をしなければなりません。以前(かなり昔)テキストエディタの置換でやったりしてましたが、これは良くないようです。

WordPress のDB上のサイトURLを一気に変換」という記事を拝見させて頂いたところ、wp_optionsとかwp_postmetaにはシリアライズされたデータが入ってることもあるので、通常の置換ではプラグインなどに不具合が出る場合があるとのことです。

そこでWordPressサイトのドメイン置換には「Search Replace DB」を使います。WordPress の引越しにも掲載されている方法です。

Search Replace DBのダウンロード

Database Search and Replace Script in PHP にアクセスしてSearch Replace DBをダウンロードしてください。

Database Search and Replace Script in PHP

サイトの下の方にいくと下図のようにダウンロード用のフォームがありますので Knowledge check の内容を確認してチェックを入れ、Nameを入力してください。

ダウンロードフォーム

Knowledge checkの内容

  • I accept this script can be a security risk
    このScriptを使うことはセキュリティリスクになる可能性があります。
  • I understand that this script must not be left in a public facing web server
    このScriptは公開されているWebサーバーに残さないでください。
  • I am a developer and I know what I’m doing!
    開発者であり、このScriptが何をしているのか理解しています。

だいたいこういう内容かと思いますので、確認してチェックを入れてください。内容が理解できない場合はこのScriptは使わない方がよろしいかもしれません。

Knowledge check にチェックを入れると、Email入力欄が表示されるので、メールアドレスを入力してください。その後 [SUBMIT] ボタンでメールを送信してください。

メールアドレス入力欄

メールを受信したら、[here] のリンク部分より、Scriptをダウンロードしてください。メールを受信できない場合は、迷惑メールになっている場合もあります。

メール本文

Search Replace DBのアップロード

ダウンロードしたScriptを解凍し、WordPressサイトのフォルダ直下にアップロードします。以前のバージョンでは「Search-Replace-DB-master」というフォルダ名でしたが、新バージョンをダウンロードするとフォルダ名が「Search-Replace-DB-4.1.1」になっていましたので間違えないようにアクセスしてください。また、バージョンアップした場合は後ろの4.1.1が変更になる可能性があるのでお気をつけください。

アップロードしたら、サイトのドメインの後ろに /Search-Replace-DB-4.1.1/ をつけて Search And Replaceにアクセスします。

Search Replace DBの操作手順

これからの作業は、開発環境のデータベースをExportし、本番環境のデータベースにImportしたものとして手順を記載します。

Search and Replace 画面

①旧ドメインを入力

ここに、旧ドメインを入力します。

②新ドメインを入力

ここに、新ドメインを入力します。

※ドメイン入力時には最後のスラッシュを入力しないようにしてください。置換漏れが出る場合があります。

③データベースの情報

ここにデータベースの情報を入力します。Test connectionボタンで自動接続できるか試してみましたがセキュリティ上のものかうまく接続できませんでした。手動でdatabace name、username、pass入力すれば無事接続できました。

データベース接続情報

Which Tables?について

Which Tables?はどのテーブルを置換するかや、例外を設定します。通常WordPress のデータベースのURLを置換する場合は「all tables」を設定しておけば大丈夫です。

④Do a safe test run(置換のテスト)

Do a safe test run は試しにもし実行したらこうなりますというのを表示します。一括置換前に実行したほうが良いかと思います。

Do a safe test run
Do a safe test runDo a safe test run

Do a safe test runが完了すると、置換する予定箇所の一覧が表示されます。「view changes」をクリックすると、置換する予定箇所の内容を確認できます。一応内容を確認しておくと良いでしょう。

view changes

「view changes」を開くと下図のように「左側置換前」「右側置換後」の内容を確認できます。セキュリティ上内容はぼかしていますが、置換する内容を確認できます。

置換内容確認

⑤Search and Replace(置換)

置換を実行します。Search and Replaceで問題なければ実行してください。

Search and Replace
Search and Replace
run

一括置換がスタートします。しばらくお待ちください。

⑥ DELETE【重要】

置換が終わりましたら、このボタンをクリックしてScriptを削除してください。このScriptを残したままだと、アクセスされたら攻撃者に一括置換され大変危険です。

DELETE

以上、WordPressサイト移行時のドメイン置換Scriptの紹介でした。