みなさんこんばんは。
今回はタイトルの通り、急にWordPressにログインできなくなった時、ログインできるように修正した方法を紹介したいと思います。
結論から言うと、エラーの原因はプラグインのwp-user-avatar(新:ProfilePress)のせいでした。
2021年8月1日に、いつも通り本の感想を書こうとブックマークした自分のサイトにログインしようとしました。
すると、
の文字が表示されました。
サイトが間違っているのかと思い、再度アドレスを打ち込んだり、下記ログイン末尾が間違っているのかと思い、異なるURL末尾を打ち込んだりしました(参考サイト)。
- http://〇〇〇〇(設定したドメイン名)/wp-login.php
- http://〇〇〇〇(設定したドメイン名)/wp-admin
しかし、解決しませんでした。
調べてみると、404エラーはみなさん生じているらしく、様々な方法で解決されていました。
しかし、自分の方法で解決した方法を紹介しているネット記事がなかったので、今回記事を書くことにしました。
私のように2日、無駄な日を過ごさないようにしてほしいです。
ちなみに自分で独自に解決したわけではなく、利用しているエックスサーバーさんのサポートの方に教えてもらった方法になります。
この記事を見て、多くの人が、なるべくサポートの人を煩わせないことに期待したいです。
WordPressにログインできない時の解決方法
解決を試みた方法が以下になります。
- 設定したアドレスを修正
- .htaccessを修正
- プラグインを無効化
- テーマの無効化
- テーマ、サーバーのエラー
- オプションからURLを変更
- プラグイン名の変更
設定したアドレスを修正する
最初に疑ったのが、サイトアドレスの変更です。
WordPressの設定画面に下記のようなアドレスを入力する場所があります。
誤ってアドレスを変更してしまうと、404エラーが生じてしまいます。
私自身、変えた覚えはありませんでしたが、サイトに不正アクセスがあり変わった可能性も否めませんでした。
そこで、他のサイトを参考に修正を試みようとしました。
以下参考にしたサイト
具体的に行った方法を3つ紹介します。
1つ目
エックスサーバーのファイルマネージャログインより、ログインします。
自分のサイトのアドレスを選択します。
次にpublic_htmlを選択します。
wp-config.phpファイルをダウンロードします。
以下の記述を加えます。私はCotEditorというアプリケーションを使って編集しました。
define(‘WP_SITEURL’,’https://gunma-gunmer.com‘);
記載(マーカーは自身のサイトアドレスです)しましたが、この方法ではうまくいきませんでした。
2つ目
別の方法では、最初にwp-contentを選択します。
次にthemesを選択します。
自分の使用しているテーマを選択します。
functions.phpを選択しダウンロードします。
ファイルを開き、
<?phpの下に
update_option(‘siteurl’,’https://gunma-gunmer.com);
update_option(‘home’,’https://gunma-gunmer.com);
と記載しましたが、こちらの方法でもログインできるようにはなりませんでした。
3つ目
別の方法では、wp-config.phpファイルをダウンロードし、編集が必要なのはここまでですの上の行の場所に
define( ‘RELOCATE’, true );
と記載しましたが、この方法もだめでした。
これらの方法が有効な場合もあるようなので、困っていたら参考にしてみてください。
.htaccessを修正
.htaccessが原因で、ログインできなくなることもあるようです。
というより調べると、404エラーのほとんどはプラグインのSiteGuardにより、ログインが阻害されていました。
これは.htaccessで修正できます。
今回はこちらのサイトを参考にしました。
私自身SiteGuardのプラグインは使っていませんでしたが、一応確認はしました。
手順ですが、最初にエックスサーバーのサーバーパネルよりログインします。
.htaccess編集を選択し、自分のサイトドメインを選択します。
上の選択欄から右側にある.htaccess編集を選択します。
SiteGuardのプラグインを使っている場合は、SiteGuardについての記述があるそうなので、その部分を削除します。
RewriteRule ^wp-admin 404-siteguard [L] →この記述のようです。
私が参考にしたサイトの方は、なぜか何度かトライすることで、.htaccessに記述が増えたとありました。
私も、もしかしたら増えるかもしれないと思い、10回程度ログインして確認しましたが、私の場合は記述が増えることはありませんでした。
SiteGuardのプラグインを使っている人は、確認する価値のある項目だと思います。
プラグインを無効化
プラグインによっては、ログイン画面が生じなくなることがあるようです。
プラグインの無効化に当たっては、こちらのサイトを参考にしました。
具体的な手順ですが、エックスサーバーのファイルマネージャログインより、ログインします。
設定したアドレスを修正すると同様の手順でwp-contentを開き、pluginsを選択します。
右上の名前変更から、名前を変更して、無効化します。
しかし、無効化しても、ログインはできませんでした。
テーマの無効化
テーマが破損している場合も、ログインができなくなることがあるそうです。
そのため、テーマを無効化することにしました。
先程のプラグインと同様にこちらのサイトを参考にしました。
しかし、テーマを削除するのは勇気が必要だったので、削除せずに無効化することにしました。
私が行った手順としては、設定したアドレスを修正するとほぼ同様な手順です。
wp-content、themesから自分のテーマを選択し、上のバーにある圧縮を選択します。
自分の主要テーマ、子テーマを圧縮した後、それぞれ削除しましたが、結果的にはログインできませんでした。
その後、圧縮したテーマを上のバーで展開した後、自分のサイトを確認すると真っ白になり焦りました。
原因としては、展開後、テーマ下に無駄に1個ファイルができていたのが原因だったようです。
ファイル内のデータを、テーマの下にデータを移し、フォルダを削除することで、真っ白になることは避けられました。
しかし、残念ながらテーマをいじったことで、サイト全体のデザインが崩れてしまいました。
テーマ、サーバーのエラー
テーマのアップデートの際の不備や、サーバーに問題がある場合は、ログインできなくなることもあるそうです。
テーマやサーバーの不備について、SNSなどを調べましたが、そのような情報は確認できませんでした。
一応、1日待ちましたが、改善はされませんでした。
デザインも崩れてしまい、また他に代替案がなかったため、エックスサーバーのサポートの方に問い合わせることにしました。
オプションからURLを変更
サポートの方に、現在の状況、対処した方法を提示し問い合わせしました。
すると、私のサイトはログイン画面が、他のドメイン末尾にリダイレクトしているとのことでした。
そのため、phpmyadminから、URL設定を変更するように指示がありました。
手順ですが、最初にエックスサーバーのサーバーパネルよりログインします。
WordPress簡単インストールより、MySQLユーザー名とMySQLパスワードをメモします。
次にデーターベースの phpmyadminからログインします。
上の方にあるデータベースという項目から、自分の使用しているMySQLデータベースを選択します。
wp-optionsを選択します。
option_id1、2のサイトURLを自身のhttps://www.gunma-gunmer.comに変更しました(画像の左の編集から変更できます)。
これでできる可能性もありましたが、私の場合はログイン画面が出てきませんでした。
しかし、先程テーマをいじった時に生じた、デザインの崩れは治っていました。
結果ログインできなかったので、再度問い合わせしました。
プラグイン名の変更
次のメールは、別の方の提案が書かれていました。
次の指示では、プラグイン直下の、wp-user-avatarをリネームをしてみてくれとの内容でした。
指示がこれだけだったので、どの名前にリネームして良いかわかりませんでした。
wp-user-avatarについて調べてみると、どうやらプロフィールのロゴに関係するプラグインのようでした。
また、他にもwp-user-avatar調べてみると、エックスサーバーのサポートで、下記の内容のお知らせがありました。
このたび、「WordPress」のプラグイン「ProfilePress(旧名:WP User Avatar)」(3.0~3.1.3)にて
緊急性の高いセキュリティ上の問題(脆弱性)が確認され、
プラグイン提供元より脆弱性対策の施された修正版(ProfilePress 3.1.4)がリリースされました。当サービスにおいても「ProfilePress」をご利用のお客様がいらっしゃるためご案内いたします。
古いバージョンの「ProfilePress」を使用されているお客様におかれましては、
必ず、WordPressの管理ページ(ダッシュボード)より、
最新バージョン(3.1.8)へのアップデートを行ってくださいますようお願いいたします。
つまり、旧WP User Avatarというプラグインが名前が変更して、ProfilePressになっているようです。
私は以前、プラグインをアップデートしたことで不具合が起き、サイトにエラーが表示することがあり、プラグインのアップデートはしないようにしていました。
そのことが災いしたようです。
これらのことから、リネームはProfilePressとリネームすれば良いと考えました。
エックスサーバーのファイルマネージャにログインして、プラグインを無効化と同じ手順で、pluginsを選択します。
プラグイン直下の、wp-user-avatarをProfilePressに変更しました。
すると、ついにログイン画面が表示され、WordPressにログインできるようになりました。
ProfilePressが更新されていなかったことから、プロフィールのロゴは表示されませんでしたが、アップデートしたら治りました。
非常に長い手順でしたが、無事治りました。
何より、エックスサーバーのサポートの方がいなかったら一生治りませんでした。
エックスサーバーのスタッフさんに感謝です。
みなさんも、全くわからない時は、サーバーのスタッフさんに聞いた方が良いかもです。
知識量が違います。
私のようにWP User Avatarを使っている人は参考にしてみてください。