コンテンツにスキップ

WordPress アドレスを間違って管理画面にアクセスできなくなった場合の解決方法

メインイメージ

WordPress の管理画面で「 WordPress アドレス (URL) 」を間違えて設定してしまうと管理画面にアクセスできなくなることがあります。 この問題が起こったときの解決方法を説明します。

WordPress 管理画面 → 設定 → 一般設定 → WordPress アドレス (URL) とサイトアドレス (URL)

動作確認時のバージョン

  • WordPress 6.4.3

問題発生のメカニズム

最初に問題が発生するメカニズムについてかんたんに説明します。

WordPress は「 WordPress アドレス (URL) 」(以下 WordPress アドレス)に設定された URL をベース URL として

  • 管理画面やログインページ
  • CSS や JavaScript などの静的ファイル

の URL を生成します。 そのため、 WordPress アドレスを間違えて設定してしまうと、管理画面やログインページの URL や CSS ・ JavaScript などの URL が不正な URL になります。 結果として、ログインページを表示することはできても CSS や JavaScript が読み込まれずレイアウトが崩れてしまいます。 また、フォームに正しいユーザー名とパスワードを入力して送信しても送信先の URL が不正なので管理画面にはログインできません。

ちなみに、内部的には WordPress アドレスは siteurl という設定項目で管理されています。 具体的にはデータベーステーブル wp_optionsoption_name カラムの値が siteurl のレコードに値が格納されています。 また、設定ファイル wp-config.phpDB_SITEURL という定数が定義されていると siteurl の代わりにその値が代わりに使われる仕組みになっています。

この WordPress アドレスに間違った値がセットされたことが原因で管理画面にアクセスできない問題については解決方法がいくつかあるので以下に説明します。 どの方法を選ぶ場合でも事前に必ずサイト全体のバックアップを取るようにしてください。

解決方法 A. wp-config.php を使う

WordPress の設定ファイル wp-config.php を編集する方法です。

  1. WordPress が動いているサーバーマシンに SSH や SFTP で接続します
  2. WordPress インストールディレクトリ直下の wp-config.php ファイルを開きます
  3. ファイルの末尾に次のコードを追加します。

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

    example.com の部分はサイトの適切なドメイン名に変更してください。

    「 WordPress アドレス」に加えて「サイトアドレス」も間違って設定してしまった場合は定数 WP_HOME も正しい値にセットします。

    define( 'WP_HOME', 'https://example.com' );
    
  4. wp-config.php ファイルを保存します

  5. ブラウザで WordPress ログインページ・管理画面を開いて問題が解消されたかを確認します

定数 WP_SITEURL が適切にセットされていれば管理画面にアクセスできるはずです。

なお、このように wp-config.php で定数 WP_SITEURL を定義した場合は WordPress 編集画面の「設定」 → 「一般設定」のページで「 WordPress アドレス (URL) 」フィールドが編集不可になります。 これは WordPress の正しい挙動です。

定数 WP_HOME がセットされていると「 WordPress アドレス (URL) 」は編集不可

この方法で修正した場合、データベーステーブル wp_options に格納された siteurl の値は修正前のままになっています。 追加した define( 'WP_SITEURL', ... ); の行を wp-config.php から削除すると元に戻ってしまうため、この行は問題解決後もそのまま置いておくようにしてください。

解決方法 B. テーマの functions.php を編集する

アクティブなテーマの functions.php ファイルを編集する方法です。

この方法の場合は A) の wp-config.php とは異なり、修正用のコードは問題解決後に削除する必要があるので削除し忘れないように注意してください。

  1. WordPress が動いているサーバーマシンに SSH や SFTP で接続します
  2. アクティブなテーマのディレクトリにある wp-config.php ファイルを開きます
  3. ファイルの末尾に次のコードを追加します。

    update_option( 'siteurl', 'https://example.com' );
    

    「 WordPress アドレス」に加えて「サイトアドレス」も間違って設定してしまった場合は home という設定も正しい値にセットします。

    update_option( 'home', 'https://example.com' );
    
  4. functions.php ファイルを保存します

  5. ブラウザで WordPress ログインページ・管理画面を開いて問題が解消されたかを確認します

functions.php の保存後にブラウザで WordPress サイトのページを開いたらデータベースに正しい設定値が書き込まれるので、問題が解消したら追加した update_option( 'siteurl' , ... ); の行を削除してください。

解決方法 C. WP-CLI を使う

WordPress のコマンドラインツール WP-CLI を使う方法です。 ターミナルでの操作に慣れている方が作業をする場合はこの方法が最も速くて確実です。

  1. WordPress が動いているサーバーマシンに SSH で接続します
  2. WordPress インストールディレクトリに cd コマンドで移動します
  3. wp option update コマンドを使って siteurl に正しい値をセットします

    wp option update siteurl 'https://exapmle.com'
    

    「 WordPress アドレス」に加えて「サイトアドレス」も間違って設定してしまった場合は home という設定も正しい値にセットします。

    wp option update home 'https://exapmle.com'
    
  4. ブラウザで WordPress ログインページ・管理画面を開いて問題が解消されたかを確認します

解決方法 D. データベースに直接アクセスする

MySQL or MariaDB データベースにアクセスして設定値を修正する方法です。

MySQL データベースに慣れている方が作業をする場合や上記の A B C の方法が使えない場合などはこの方法を選ぶとよいと思います。

さまざまな接続方法がありますが、ここでは phpMyAdmin を例にその方法を説明します。

  1. ブラウザで phpMyAdmin のページを開きます
  2. WordPress のデータベースにアクセスします
  3. wp_options テーブルを開きます
  4. option_name カラムの値が siteurl のレコードを検索します
  5. siteurl レコードの option_value カラムの値を適切な URL に変更して保存します
  6. ブラウザで WordPress ログインページ・管理画面を開いて問題が解消されたかを確認します

以上です。

管理画面で WordPress アドレスを間違えてセットしてしまうと突然管理画面から締め出されてしまうためつい慌ててしまいがちですが、問題の原因と解決策はとてもシンプルです。 複雑なコードを書かなくてはいけないわけではないので、ぜひ落ち着いて確実に修正するようにしてください。

どうしても解決できない場合は WordPress の専門家に依頼するか、直前のバックアップからの復元を行うかを検討されるとよいかと思います。