[WordPress]ドメイン変更で修正が必要な部分

WordPressを移転するときにドメインも新しくする場合、例えば「http://ex-old.com」から「http://ex-new.com」のように変わる場合の修正方法を紹介します。

WordPressの移転方法については【はじめてのWordPress移転に挑戦】で記事にしています。

①phpMyAdminにログインする

新規ドメインやWordPressのSSL化でドメインが変わる場合は、データベースの修正が必要になります。該当箇所をひとつひとつ修正していくのは至難の業なので、phpMyAdminのSQLで一括で修正してしまいます。

②データベース名を選択してSQLの画面を表示する

データベース名をクリックしたら、上のメニューからSQLをクリックします。

③SQL文を書いて実行する

「wp_post」「wp_posts」「wp_postmeta」テーブルの修正が必要な部分を古いドメインから新しいドメインに置き換えるSQL文を書いて実行します。WordPressインストール時にデータベーステーブルにオリジナルの文字を追加している方(例えば「wp_example_」など)は、ご自身の環境に合うように「wp_」の部分を変更してください。phpMyAdminの左のテーブル一覧でもWordPressファイルにある「wp-config.php」内の「$table_prefix」の部分でも確認できます。

  • 古いドメイン=http://ex-old.com
  • 新しいドメイン=http://ex-new.com
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://ex-old.com', 'http://ex-new.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE(guid, 'http://ex-old.com','http://ex-new.com');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://ex-old.com', 'http://ex-new.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value,'http://ex-old.com','http://ex-new.com');

 

④Better Search Replaceを使って置き換えが完了できていない箇所を置き換える

ロゴ画像やファビコンなどで使用しているテーマ独自の設定からアドレスを指定しているもの、ウィジェットなどで「http://」から指定している場合などはドメインが置き換えられていない部分もあるので、プラグインの「Better Search Replace」を使って置き換えます。

Better Search Replaceの使い方

Better Search Replaceはデータベース内のURLやテキストを一括で置き換えることができる便利なプラグインです。使い方は至ってシンプルで、今回のドメインの変更を例にすると、「http://ex-old.com」から「http://ex-new.com」に変更するので、必要な設定項目は下のようになります。

  • ①http://ex-old.com
  • ②http://ex-new.com
  • ③のテーブルを全部選択する
  • ④のチェックを外す(データベースを書き換えせずに、結果の確認だけしたい場合はチェックを入れる)
  • ⑤のボタンを押して置き換えを実行する

 

以上です。

WordPressをマルチサイト化している場合は「wp_2_」、「wp_3_」・・・のように始まるテーブルも運営しているサイトの分だけ同じように修正が必要になります。