WordPressのURLをwp-config.phpから変更する

WordPressでテスト環境をつくったり、ローカルにバックアップをとったりと、本番環境とは違うところで動かせたい場合がある。

その際に、当然のことながらURLが変わるわけだけど、これは手動で変更してあげないといけない。

いくつか方法はあって、データベースを直接書き換える方法。管理画面にログインしてからダッシュボード内で書き換える方法。その他にもいくつかある。

お手軽な方法として、wp-config.php内に表示したいURLを記載することで、簡易的にサイト全体のURLを変更する方法があり、今回の記事ではそれを紹介したい。

よく使うわけではないためすぐ忘れてしまい毎回検索しているので、メモ的に書き残しておきたいと思う。つまり自分用。

wp-config.phpに記載するコード

まずは結論から。

以下のコードをwp-config.phpファイルの下の方に記載する。(自分はいつも一番下に記載している)

define( 'WP_HOME', 'https://yoursiteurl.com' );
define( 'WP_SITEURL', 'https://yoursiteurl.com' );

当然のことながらhttps://yoursiteurl.comの部分は、自身の変更したいURLのものにする。

こんな具合に記載する

例えば当サイトのURLに変更する場合は以下のように記載する。

define( 'WP_HOME', 'https://bge.jp' );
define( 'WP_SITEURL', 'https://bge.jp' );

define()、つまり定数を明示的に明示的に指定し半ば強制的に書き換えるといったことをしてます。

これまで不具合がでたことはないですが、プラグインなどの仕様によっては問題がでることもあるかも。

自分の場合はテスト環境での動作確認(メージャーアップデート時の確認とかちょっとしたカスタマイズとか)といったときに活用しています。

無論、本番環境ではこの方法は使わないほうが良いと思いますので、開発環境からのデプロイではちゃんとデータベースを書き換えましょうね(当たり前か)

地味にキャッシュ対策でもつかえる

メインブラウザで作業しているときやサーバー周りのキャッシュ設定によっては、データベースを書き換えただけでは、URLが切り替わらない場合がある。

データベースは新しいURLに書き換わっているのに、書き換え前のURLにリダイレクトされてしまうという謎現象。

これは詳しく調べてないので明確な原因がわからないが、今回のwp-config.phpに新URLを記載する方法で対処できる。(リダイレクトされる原因を知っている人は教えてほしい…)