『「一人ブラック企業体質」を脱却して、週休3日の時間の余裕を手に入れる4つの経営指標』noteにて公開中!

Search Replace DBを使ってデータベース内のドメインを一括置換する方法

Search Replace DBを使ってデータベース内のドメインを一括置換する方法

プラグインを使わずにドメイン変更を伴うサーバー移行を行う場合、Search Replace DBを使うとデータベース内のドメインを一括で書き換えられて便利です。

Webデザイナー、Webエンジニア、その他Web制作に慣れている方向けに、Search Replace DBのダウンロード方法、Search Replace DBの使い方、ドメインを一括置換する手順についてご紹介いたします。

Search Replace DBは、一時的にサーバー内にアップして使う、データベースの書き換えを行えるプログラムです。

使用後は必ずサーバーから削除する必要があります。そうしなければ、セキュリティホールとなります。

Search Replace DBの活用やデータベース内のデータの一括置換に関して、注意点やリスクがあるため、よくわからない方や不安な方は無理に行わないことをおすすめします。

ドメイン変更やサーバー移行はプロに委託することをご検討ください。

Search Replace DBをダウンロードする

以下のページの「Download Search Replace DB」よりダウンロードします。

Database Search and Replace Script in PHP

セキュリティリスクなどについての注意書きがあるため、ページに記載の内容をよくご確認ください。

問題なければ、チェックボックスにチェックを入れて、お名前、メールアドレスを記入し「SUBMIT」をクリックします。

すると、記入したメールアドレスにダウンロードリンクのメールが届きます。

そこからSearch Replace DBをダウンロードし、zipフォルダを解凍しておきます。

Search Replace DBをサーバーにアップロードする

サーバーに接続し、WordPress関連ファイルをダウンロードしてある階層(wp-config.phpファイルがあるところ)に、解凍した「Search-Replace-DB-master」をフォルダごとアップロードします。

一時的とはいえ、「Search-Replace-DB-master」という名称のままサーバーにアップロードすると、セキュリティリスクもあるため、適当に別のフォルダ名に変更してからアップロードしましょう。

ここでは例として、「nanosample」というフォルダ名に変更してからサーバーにアップします。

Search Replace DBの操作を行えるページにアクセスする

「nanosample(旧Search-Replace-DB-master)」フォルダのアップロードが完了したら、ブラウザの新規タブを開き、Search Replace DBの操作を行えるページにアクセスします。

https://ドメイン名/WordPressをインストールしたディレクトリ名/nanosample

例えば、sample.comというドメインで、WordPressを「wp」というディレクトリにインストールしていた場合は、

https://sample.com/wp/nanosample

がSearch Replace DBの操作を行えるページとなります。

Search Replace DBを使ってデータベース内のドメインを一括置換する方法

Search Replace DBを使ってドメインを一括置換する

「replace」の右の入力欄に「移行元のURL」、「with」の右の入力欄に「移行先のURL」を入力します。

Search Replace DBの使い方について検索すると、URLではなくドメイン名だけ入れればOKという旨の説明もあるのですが、それはサイトや状況によりけりかと思います。

私は今回、コーポレートサイトのサブディレクトリ(https://nanoinspire.com/blog/)で更新していたナノ経営(このサイト)を、https://watanabeshun.comへ移行する作業を行っています。

リンクURLの書き換えと、画像などのファイルパスの書き換えを行いたいので、2回に分けました。

nanoinspire.com/blogの方は、トップページ、WordPressインストールディレクトリともに同じURLで、
watanabeshun.comの方は、トップページがhttps://watanabeshun.comで、WordPressは別のディレクトリ(https://watanabeshun.com/wpsample)にインストールしているとします。

この場合、replace https://nanoinspire.com/blog with https://watanabeshun.com と記入して「live run」をクリックし一括置換ツールを走らせます。

これだけですと、リンクURLの書き換えはうまく行きますが、ファイルパスが間違っている状態となります。

画像が表示されなかったり、必要なファイルが読み込まれないので、サイトの表示が崩れてしまいます。

そのため次に、replace https://watanabeshun.com/wp-content/ with https://watanabeshun.com/wpsample/wp-content/ と記入して「live run」をクリックし一括置換ツールを走らせます。

【補足】下層ページがInternal Server Errorになっている時には

ドメイン(URL)の一括置換が完了してからサイトの表示や動作を確認したところ、下層ページがInternal Server Errorになっていました。

よく確認したところ、.htaccessファイルに問題がありました。

.htaccessファイル内に以下の記述がなかったため、ファイル内の上の方に追記したところ、下層ページが表示されるようになりました。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
【補足】WordPress管理画面のログインURLにアクセスできない時には

セキュリティ対策プラグインで、WordPress管理画面のログインURLを変更していた場合、ドメイン変更後なぜかアクセスできないことがあります。

その場合は、FTPソフトでサーバーに接続し、wp-content/pluginsの中のセキュリティプラグインのディレクトリ名を適当に変更して(先頭にアンダースコアをつけるなど)、一時的にセキュリティプラグインを無効化します。

そうすると、通常のwp-login.phpでログイン画面にアクセスできます。

WordPressにログインして、セキュリティプラグインのディレクトリ名を元に戻し、セキュリティプラグインを有効化して、ログインURLを再設定しましょう。

以上で、サイトが正常に表示・動作するようになりました。

ドメイン変更後は、301リダイレクト設定も忘れずにご確認、ご対応ください。

【重要】Search Replace DBを削除する

一括置換が完了したら、サーバーからSearch Replace DBを削除します。

Search Replace DBの操作を行えるページの下の方にある「delete me」ボタンをクリックすると、サーバーから一式削除されます。

Search Replace DBの使用後は必ずサーバーから削除してください。

削除しないと、不正にアクセスされてデータベースを書き換えられサイトを改ざんされるなどのリスクがあります。

まとめ

便利なツールですが、一歩間違えるとリスクも高いため、活用に際しては十分ご注意ください。

特に、使用後には必ずサーバーからSearch Replace DB関連ファイル一式を削除するようお願いいたします。

WordPressサイトのサーバー移行に関しては、以下の記事をご参照ください。

「一人ブラック企業体質」を脱却して、週休3日の時間の余裕を手に入れる4つの経営指標

仕事と休みのメリハリがなく、週6~7日終わりのない労働で疲弊している一人社長・フリーランスの方へ。

毎月の利益を確保しながら、働く時間を減らして、時間とお金と心の余裕を手にしませんか?

「一人ブラック企業体質」を脱却して、週休3日の時間の余裕を手に入れる4つの経営指標』noteにて公開中!