【WEB制作】WordPressサイトのドメインが変更した時のアプリケーション側の変更

この記事は約6分で読めます。

wp-cliコマンドをインストールしている前提で、このコマンドを用いて、サーバにログイン後、サイトURL情報を書き換えていきます。

ちなみに、私は初めテストだからと、ルートユーザで「wp –version」としてコマンドを実行しようとしましたが、コマンドをたたいたところ、以下のようなエラーが表示されました。

# wp –version

Error: YIKES! It looks like you’re running this as root. You probably meant to run this as the user that your WordPress installation exists under.

If you REALLY mean to run this as root, we won’t stop you, but just bear in mind that any code on this site will then have full control of your server, making it quite DANGEROUS.

If you’d like to continue as root, please run this again, adding this flag:  –allow-root

If you’d like to run it as the user that this site is under, you can run the following to become the respective user:

sudo -u USER -i — wp <command>

wp –バージョン
エラー: YIKES!rootとして実行しているようです。おそらく、WordPressがインストールされているユーザーとして実行するつもりだったのでしょう。
もし本当にrootとして実行するつもりなら、私たちはあなたを止めませんが、このサイト上のコードがあなたのサーバーを完全にコントロールすることになり、非常に危険であることを覚えておいてください。
rootとして実行したい場合は、このフラグを追加してもう一度実行してください:–allow-root
このサイトのユーザーとして実行したい場合は、以下を実行してそれぞれのユーザーになってください:
sudo -u USER -i — wp <コマンド

ということらしいので、大人しくユーザを切り替えてコマンドを実行したところ、無事に、

$ wp --version
WP-CLI 2.12.0

と確認できました。

★補足★
WP-CLIコマンドを利用してWordPressサイトのURL(ドメイン)を変更することは可能です。 しかも、データベースを直接操作するよりも安全で確実な方法として推奨されています。


WP-CLIでサイトURLを変更する方法

サイトURLを変更するには、主に2つのコマンドを使用します。

  1. wp option update コマンド:WordPressの基本的な設定である**「サイトアドレス (URL)」(home)** と**「WordPress アドレス (URL)」(siteurl)** を更新します。
    • 例:
  2. wp search-replace コマンド (重要):上記 wp option update コマンドだけでは、記事コンテンツ内や設定で旧URLがハードコードされている部分(画像パス、内部リンクなど)は更新されません。それらを一括で新しいドメインに置換するために wp search-replace コマンドを使用します。
    • ポイント:

      • --dry-run を含めると、実際に変更は行われず、どのような変更が行われるかを確認できます。 まずはこれを実行して、問題ないことを確認してください。
      • 確認後、--dry-run を削除して再度コマンドを実行すると、実際の置換が行われます。
      • --all-tables は、すべてのWordPress関連テーブルを対象にします。
      • --precise は、シリアライズされたデータ(ウィジェット設定など)内も正しく置換します。
    • 例 (ドライラン):

    • 例 (本番実行):


変更手順の全体像

  1. 新しいドメインのDNS設定:
    新しいドメイン名が、WordPressが稼働しているEC2インスタンスのElastic IPアドレスを指すように、DNSレコード(Aレコードなど)を設定。DNSの変更が反映されるまでには時間がかかる場合がある。
  2. SSHでEC2インスタンスに接続:
    WP-CLIを実行するため、EC2インスタンスにSSHで接続。
    SSMセッションマネージャーを介してEC2にブラウザからアクセスしても可。
  3. 適切なユーザーでWP-CLIを実行:
    前回のエラーメッセージで確認した通り、rootユーザーではなく、WordPressのファイル所有者(例: www-data や ec2-user) に切り替えてコマンドを実行してください。例: sudo -u www-data wp option update home ‘…’(ちなみに、SSMセッションマネージャーを介している時は、ssm-userでデフォルトログインします)
  4. homesiteurl の更新:

  5. データベース内のURLを一括置換(重要!):まずドライランで確認し、問題なければ本番実行します。

    注意: もしWordPressがHTTPSで動作している場合(SSL証明書を設定している場合)、URLは https:// で始めてくださ

  6. ブラウザで確認:新しいドメイン名でWordPressサイトにアクセスし、問題なく表示されるか、内部リンクが正しく機能するかなどを確認します。

このWP-CLIでの方法が、WordPressのドメイン変更において推奨される手順のようです。

今までDBに直接接続して変更していたので、とても便利ですね!
念のため、実行前にバックアップを取ることをお忘れなく!

今回私が実行したコマンドは以下です。

こちらを実行した後、無事にサイトに繋がり、ログインもできました。
※テスト用でやっていて、すぐに削除するものですが、本番用に考えている方はHTTPS化してから行ってくださいね。

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