WordPressログインページがリダイレクト→404で入れなかったのはProfilePressとテーマの連携が原因だった
ある時突然、Wordpressにログインできなくなった。ログイン画面 /wp-admin
がhttps://XXX.com?page_id=login_XXX・・・
にリダイレクトされ、しかも404エラー。
原因究明にしばらくかかったが、表題の『ProfilePress』とテーマが関係しているとわかったので記録しておく。
ProfilePressの機能
ProfilePressは、「WP User Avator」がバージョンアップしたもの。WP User AvatorはGravator(Wordpress.com)を使わずともプロフィールアイコンを変更できるプラグイン。
シンプルなので使用していたが、ProfilePressになり機能が増えたようだ。追加された機能の一つにログイン画面をリダイレクトするというものがある。
下記画像のように、固定ページを選んでショートコードを記入することで専用のログイン画面を用意できるもの。
これがログインできなかった原因を構成する一つ目の要素。
テーマと専用ログイン画面
WordPressの有料テーマを入れたときは、動作確認用にDemoコンテンツをインストールし、その後ページを削除するということを行っていた。
今回も同様に自分が作成したページを削除(正確にはいったん下書きへ)したが、そのページの中に上記の「ProfilePressのログイン画面として設定されているページ」があったようだ。
自分のうっかりミスではあるが、これがログインできない原因の二つ目の要素になっていた。
原因と解決法
今回のリダイレクトでログインできない現象の原因は、これら2つによるもの。
つまり、
- ログイン画面を表示すると、ProfilePressの新機能で専用ログイン画面にリダイレクトする
- 専用ログイン画面はテーマが用意した固定ページ
- その固定ページを下書きに移動していたので404エラーになった
分かってしまえばさもありなんだが、予想外のプラグインがリダイレクトしていたので解決に少々手間取った。
プラグインの強制リダイレクト状態でもログインするには
なお、当然ながらログインできない状態でProfilePressを無効化したり固定ページを設定したりはできない。
その場合はFTPかホスティングのファイルマネージャーなどを使ってPluginフォルダを_Pluginなどにいったんリネームし、[サイトのアドレス/wp-admin/]でログインしてからフォルダ名を戻せばよい。