WordPressのサーバー引っ越しや、稼働中サイトのドメイン変更が必要になった場合には、以前からSearch Replace DBというツールを使ってきたのですが、もっと簡単にできると評判のAll-in-One WP Migrationというプラグイン試しに使ってみました。
しかし、、、データをエクスポートをした段階で怖くなり、中止・削除。
使い慣れたSearch Replace DBで行うことにしました。
2022/07/28更新
Search-Replace-DB v4.1.3の日本語版を追加しました。
All-in-One WP Migrationについて
WordPressの引っ越しが簡単にできると評判のプラグインです。
All-in-One WP Migrationのエクスポートで取得されたファイルは、独自仕様のテキストとバイナリ交じりのデータとなっています。
操作手順が少なく簡単といえば簡単なのですが、逆に何をしているのか分からず、万が一トラブルが発生した際に対応できる自信が私にはありませんでした。
また、開発環境と本番環境で、なるべく差異を無くすために、データベースは開発の段階から本番環境のものを使用することが良くあります。
All-in-One WP Migrationは、新サイトのWordPress管理画面からインポートする必要があるため、新たなデータベースを用意してログインできる状態にしておかなければなりません。
All-in-One WP Migrationは、ブラウザを使ってWordPressの管理画面だけで引っ越し作業を完了させたい方には良いのかもしれません。
Search Replace DBについて
WordPressのデータベーステーブルに散っているドメイン名を置き換えて、自動でシリアライズされた値も書き換えてくれるツールです。
プラグインでは無く、WordPressのディレクトリ直下にFTP等で転送して、ブラウザでアクセスして使います。
言語は英語のみですが直感的に分かると思います。
が、日本語が好みの方はこのページの下の方で、日本語版(一部)をダウンロードできます。
Search Replace DBを使用するのに向いている環境
- 新サイトと旧サイトは同じデータベースを使いたい
(別でも可) - 新サイトのサーバにSFTP等でファイルの転送ができる
- できればSSH等でDBサーバにアクセスができると便利
Search Replace DBの良いところ
旧サイトへアクセスできなくても問題ない
データベースのバックアップがあれば問題ありません。
新サイトのデータベースに既に流し込んであれば、それすら不要です。
新サイトのWordPress管理画面へアクセスする必要がない
結構重要なポイントでして、上述したように開発環境と本番環境でデータベースは変えずにドメイン名だけを変更したい場合や、何らかの理由で新サイト管理画面へアクセスできないシーンで助かります。
作業範囲が明確
データベースの全てのテーブルに記述されているドメイン名の置換と、それに伴うシリアル値を計算して書き換えてくれます。
それ以外のファイル操作であったりconfigファイルの書き換えはされません。
Search Replace DBの悪いところ
- サーバにSFTP等でファイルを転送するという作業が必要なので少し手間がかかる
- データベースの流し込みは自力でする必要がある
- 作業完了後にSearch Replace DBディレクトリを削除し忘れると重大なセキュリティホールとなる
Search Replace DBを使った引っ越し作業の流れ
- 念のため、旧サイトのデータベースをバックアップしておきます。
- 新サイトに旧サイトのファイル全てをコピーします。
データベースの変更をしないのであればwp-config.phpもそのままコピーします。
新しいデータベースを使うのであれば、mysqldumpコマンドやphpMyAdmin等を使ってテーブル全てをコピーしておき、wp-config.phpも書き換えておきます。 - Search-Replace-DB-masterフォルダを新サイトのWordPress直下にアップロードします。
- ブラウザからドメイン/Search-Replace-DB-masterにアクセスします。
- 必要事項を入力して実行ボタンをクリックします。
※画像は当サイトで配布中の日本語版置換前(replace)
置換前の文字列ですので、以前のドメインを入力します。
慎重を期すのであれば、データベースのバックアップファイルをテキストエディタで開き、ドメインが記載されている部分を見て、頭の中で置き換えをイメージすると良いです。(www有り無し等)置換後(with)
置換後の文字列ですので、新しいドメインを入力します。
※最後にスラッシュを入れないように注意データベース情報
wp-config.phpに記述されている内容が自動で表示されますので確認します。
置換のシミュレーション
必要に応じて「置換のシミュレーション(dry run)」ボタンをクリックすることで、シミュレーションができます。
置換の実行
「置換の実行(live run)」ボタンをクリックして実行します。
- Search-Replace-DB-masterフォルダを消します。
非常に重要です。絶対に忘れてはいけません。 - 旧サイトが稼働していた場合にはディレクトリをパーミッション100等にして、新サイトで問題が発生しないか様子をみます。
wp-config.phpの書き換えを忘れていて旧サイトのDBを置換していたなんてこともあります。
WordPress引っ越しにおける置換文字列の例
テスト環境から本番環境に移行
置換前
https://example.com/test
置換後
https://example.jp
SSL(https)化と同時にwww有りに変更
置換前
http://example.jp
置換後
https://www.example.jp
Search Replace DBのダウンロード方法
「警告しているにもかかわらず、使用後に削除しないユーザがいる」ようで、使用に関してのリスクは自己責任という事を再確認する意味合いからダウンロードが少し面倒になっているみたいです。
日本語版Search-Replace-DB-jpのダウンロード
GPLv3ライセンスに則り、一部を日本語表記に書き換えたものを配布させていただきます。
※展開して作成されるフォルダ名の最後がDB-masterからDB413-jpに変更していますので、ブラウザからのアクセス先もそれに伴って変更になります。(https://example.com/Search-Replace-DB413-jp/)
長くて面倒でしたらディレクトリ名を変更してください。
※展開して作成されるフォルダ名の最後がmaster→jpになっていますので、ブラウザからのアクセス先もそれに伴って変更になります。(https://example.com/Search-Replace-DB-jp/)