既存のWordPressを別ドメインに移行する

WordPressに関する記事です。

直近、既存のWordPressを別ドメインに移行する対応があったので作業メモとして手順を残しておきます。

WordPressのファイル一式はそのまま移設して設定ファイルを微修正すれば基本は問題無いので、データベース関連の作業に特化します。

まずは移行先のMySQLに新規でデータベースを作成します。

CREATE DATABASE `[移行先のデータベース名]` /*!40100 DEFAULT CHARACTER SET utf8 */

移行元のデータベースからダンプファイルを取得します。

mysqldump -u[ユーザ名] -p -h[移行元サーバのIPアドレス or ホスト名] [移行元のデータベース名] --routines --events > [ダンプファイル名]

先ほど取得したダンプファイルを移行先のデータベースにインポートします。

mysql -u[ユーザ名] -p -h[移行先サーバのIPアドレス or ホスト名] [移行先のデータベース名] < [ダンプファイル名]

ここまでの作業でデータベースの中身は移行できていますが、データベース内のデータには移行元のドメインが含まれているので、一括で移行先のドメインに置換します。

UPDATE wp_options SET option_value=REPLACE(option_value, "[移行元ドメイン]", "[移行先ドメイン]");
UPDATE wp_posts SET post_content=REPLACE(post_content, "[移行元ドメイン]", "[移行先ドメイン]");
UPDATE wp_posts SET guid=REPLACE(guid, "[移行元ドメイン]", "[移行先ドメイン]");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value, "[移行元ドメイン]", "[移行先ドメイン]");

※ドメインを一括で置換するためのスクリプトがGitHubで公開されていますので、気になる方はこちらもチェックしてみればと思います。

ここまで作業すれば、移行先のサーバで新たなドメインとしてWordPressを動かすためのデータベースの作業が完了です!