WordPressで「このサイトで重大なエラーが発生しました(クリティカルエラー)」と表示され、FTPからpluginsフォルダ名を変更して一時的に復旧したものの、その後ログイン画面が404になってしまうケースがあります。特にロリポップ利用者では、プラグイン停止後にログインURLや.htaccess設定が崩れ、wp-login.phpやwp-adminへアクセスできなくなることがあります。この記事では、WordPressのログイン画面が404になる原因と、安全に復旧する方法を順番に解説します。
まず確認したい現在の状況
今回のようなケースでは、以下の状態になっていることが多いです。
| 状態 | 内容 |
|---|---|
| サイト表示 | 閲覧可能 |
| 管理画面 | 404エラー |
| 原因 | プラグイン・URL設定・.htaccess |
サイト自体が見えている場合、WordPress本体が完全に壊れている可能性は比較的低いです。
まずはログインURL周辺を重点的に確認します。
plugins_oldに変更した影響
FTPでpluginsフォルダを「plugins_old」に変更すると、WordPressは全プラグインを強制停止します。
これはクリティカルエラー回避ではよく使う方法ですが、以下のような問題が起こることがあります。
- ログインURL変更系プラグイン停止
- セキュリティ系設定消失
- キャッシュ不整合
- .htaccessの書き換え失敗
特に「SiteGuard」「WPS Hide Login」などを使っていた場合、ログインURLが変わっている可能性があります。
まず試したいログインURL
以下を直接ブラウザへ入力して確認してください。
- https://ドメイン/wp-login.php
- https://ドメイン/wp-admin/
独自ログインURL変更プラグイン停止後は、元のwp-login.phpへ戻るケースがあります。
逆に、変更前URLが404になることもあります。
.htaccessが壊れている可能性
WordPressの404は、.htaccess破損でも発生します。
ロリポップでは特にプラグイン停止やキャッシュ系変更後に起こることがあります。
確認場所
FTPでWordPress設置フォルダ直下を確認します。
- .htaccess
もし中身がおかしい場合は、一時的に名前変更して確認します。
- .htaccess_old
その後、再度wp-login.phpへアクセスします。
WordPress標準.htaccessの例
最低限の標準設定は以下です。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
必要なら上書きではなくバックアップ後に修正します。
テーマ破損の可能性もある
プラグインだけでなく、テーマ側エラーでもログイン障害は起こります。
FTPで以下を確認します。
- wp-content/themes
使用中テーマを一時的に変更して、WordPress標準テーマに切り替わるか確認する方法もあります。
ロリポップ利用者が確認したい機能
ロリポップには簡単バックアップやPHP切替機能があります。
特に以下は確認価値があります。
- PHPバージョン
- WAF設定
- アクセス制限
- 自動バックアップ
PHPバージョン更新後に古いプラグインがエラーを起こすケースも珍しくありません。
デバッグモードで原因確認する方法
原因特定を急ぐ場合は、wp-config.phpでデバッグ表示を有効化できます。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
これで/wp-content/debug.logにエラー内容が記録されます。
ただし本番サイトでは確認後にOFFへ戻すことを推奨します。
最終手段はプラグインを戻して個別停止
もしplugins_oldでログイン不可になった場合、一度フォルダ名を「plugins」に戻し、問題プラグインだけを個別停止する方法もあります。
例えば以下のように変更します。
- plugin-name → plugin-name_old
これなら他プラグイン設定を維持しやすくなります。
まとめ
WordPressでクリティカルエラー後にログイン画面が404になる場合、多くはプラグイン停止・.htaccess破損・ログインURL変更系プラグインが原因です。
特にFTPでpluginsフォルダ名を変更した後は、ログインURLやリライトルールが崩れるケースがあります。
まずはwp-login.php直接アクセス、.htaccess確認、テーマ切替、プラグイン個別停止を順番に試すのがおすすめです。
サイト自体が表示されているなら復旧可能性は高いため、焦らず原因を切り分けていくことが重要です。


コメント