WordPressのサイトURL変更

mariadb

当サイト(yo7612.com)のデータベースのバックアップを実家のサーバにインポートして,設定を変更しないままそのサーバ(yo7612.net)にアクセスすると,当サイトのほうへ戻ってきてしまいます.

WordPressのサイトURLの変更方法について調べてみました.詳しくはWordPress.ORGのこちらのページをご参照ください.それによりますと,サイトURLの変更は行う方法には簡単な4つの方法があるそうです.

wp-config.phpの編集によって変更する方法

wp-config.phpに以下の定義を設定します.

define( 'WP_HOME', 'http://yo7612.net' );
define( 'WP_SITEURL', 'http://yo7612.net' );

この方法を使うと、サイトの一般設定ページで値を変更することはできなくなるようで,最適な方法ではないそうです.

実際試したところ,うまく動作しているようです.

functions.phpの編集によって変更する方法

functions.phpの編集による変更についてWordPress.ORGのページを読んでみたのですが,テーマフォルダ内のfunctions.phpを編集するようになっていますが,childテーマを利用している場合はどちらのfunctions.phpを修正していいか判断がつきませんでした.よって,この方法は採用しないことにします.

リロケートメソッドによって変更する方法

リロケートメソッドについては,別途調べていただきたいのですが,これを有効にすることによって,移行先のサイトのwp-login.phpが実行できるようです.リロケートメソッドを有効にする方法からサイトのURLを変更するまでの手順を以下に示します.

  1. wp-config.phpの“define” 宣言の後 (「編集が必要なのはここまでです !」という行の直前) に、 define('RELOCATE',true); と入力し保存終了します.
  2. ブラウザーで,新サーバーの wp-login.php へアクセスします.例えば,新しいサイトが http://example.org の場合は http://example.org/wp-login.php にアクセスします.
  3. 通常と同じようにログインします.
  4. ブラウザーのアドレスバーを見て,正しいサーバーにログインしているかどうか確認します.正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認します.正しい値に変更し,保存します.
  5. すべて正しく修正されたら、wp-config.php を編集してステップ1で追加した内容を削除します.再度リロケートメソッドを使う予定がある場合は,行をコメントアウト (行頭に // と書く) するか true を false に変更しておくといいでしょう.

この方法でも実際に変更することが可能でした.リロケートメソッドを有効化しているとセキュリティ的に問題がありますので必ずwp-config.phpのdefine('RELOCATE',true);の行を消すかコメントにしておきます.

データベースを直接変更する方法

最後は,データベース内の値を直接変更してサイトを元に戻す方法です.ここはWordPress.ORGの説明とは違い,当サイトの環境に合わせて書き換えてみました.データベースのコマンドを直接実行してデータを変更しますので,この方法で行う場合は必ずデータベースのバックアップをとってから実行してください.まず,mysqlコマンドで利用するデータベースを選択しておきます.

mysql -u root -p(return)
use wp_yo7612_net;

wp1_optionsのoptions_name=’siteurl’の値を調べます.

MariaDB [wp_yo7612_net]> select * from wp1_options where option_name='siteurl';
+-----------+-------------+--------------------+----------+
| option_id | option_name | option_value       | autoload |
+-----------+-------------+--------------------+----------+
|         1 | siteurl     | https://yo7612.com | yes      |
+-----------+-------------+--------------------+----------+
1 row in set (0.001 sec)

MariaDB [wp_yo7612_net]>

以下のコマンドでoption_valueに指定されているサイトURLを変更します.

update wp1_options set option_value='https://yo7612.net' where  option_name='siteurl';

変更されているかどうか確認します.

MariaDB [wp_yo7612_net]> select * from wp1_options where option_name='siteurl';
+-----------+-------------+--------------------+----------+
| option_id | option_name | option_value       | autoload |
+-----------+-------------+--------------------+----------+
|         1 | siteurl     | https://yo7612.net | yes      |
+-----------+-------------+--------------------+----------+
1 row in set (0.001 sec)

MariaDB [wp_yo7612_net]>

ここまででアクセスしますとが,本家のほうに飛んでしまいます.もう少し設定が必要なようです.

そこで,https://yo7612.net/wp-login.phpへ接続しログインします.ブラウザーのアドレスバーを見て,正しいサーバーにログインしているかどうか確認します.正しい場合は管理画面で「設定 > 一般設定」へ移動し、アドレス設定が両方とも正しいかどうか確認します.おそらく,WordPressアドレスは正しい値になっていると思いますが,サイトアドレスが元のままになっているはずです.これを正しい値に変更し,保存します.

実際試してみて私がいいなと思った方法は,

データベースを直接変更する方法>リロケーションメソッドを利用する方法>>>wp-config.phpを編集する方法

です.

これらの方法を利用することによってサイトの移行も簡単にできそうです.

コメント

タイトルとURLをコピーしました