2019年11月5日

WordPressでドメイン変更したのに反映されないときの「Search Replace DB」を利用した対処法

WordPressの案件では度々、ドメイン変更を必要とする場面があります。テスト用ドメインから本番ドメインへの切り替えなど、その場面は様々ですが、管理画面上からドメイン名を変更するだけでは設定が反映されないことがあります。

こんな時に考えるのがデータベース内の一括置換ですが、Wordpressのデータベース内はシリアライズされており、単純に文字列を置換すると整合性が取れなくなって不具合が起こってしまいます。

そんな時に使えるWordpressのデータベース内のデータを置換するためのツールが「Search Replace DB」です。

Search Replace DB のダウンロード

まずはSearch Replace DBのサイトにアクセスします。

Search Replace DB
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

「Download Search Replace DB」という項目にあるチェックを付けるとメールアドレスを入力する欄が表示されるので、名前とメールアドレスを入力します。すると入力したメールアドレスにダウンロード用のリンクが届きます。

PHP7系であればバージョン3系を、何らかの理由でPHPのバージョンが低い場合はバージョン2系をダウンロードして使用しましょう。この記事ではバージョン3系を前提に書いていきます。

Search Replace DB の使い方

ダウンロードしたファイルをフォルダごと、WordPressをインストールしたディレクトリ(=wp-login.php のあるディレクトリ)にアップロードします。そして、https://ドメイン名/Search-Replace-DB-master/ にアクセスします。

※バージョン2系の場合は「searchreplacedb2.php」というPHPファイルをアップロードしてアクセスします

アクセスするとこのような画面が表示されます。

search/replace のreplace 欄に置換元のドメイン、with の欄に置換後のドメインを入力します。例えば「https://test.materialpot.com」から「https://www.materialpot.com」に変更したい場合、replace 欄に「test.materialpot.com」、with の欄に「www.materialpot.com」と入力します。この際、https://や末尾のスラッシュ(/)は不要です

database欄ではデータベースの接続情報を確認します。

tables欄では、特定のテーブルのみを対象とする場合のみ「select tables」をクリックして対象テーブルを選択しましょう。

それぞれ入力確認が出来たら、次の actions で実行します。「dry run」で変更対象を事前に確認することができ、「live run」で実際に置換を実行します。

利用後は削除を

このツールは利用の過程でわかるとおり、簡単にデータベース内を書き換えられてしまいます。外部からアクセスされると困ってしまいますね。という事で、作業が完了したあとは必ずアップロードしたフォルダごと削除しましょう。

以上、Wordpressでドメイン変更がうまく反映されないときの「Search Replace DB」の使い方でした。

コメントを残す

メールアドレスが公開されることはありません。