ある夜、いつものようにサイトの管理画面にログインしようとしたら――二段階認証のコードが、いつまで経っても届かない。
本記事は、自分のWordPressから完全に締め出された筆者が、緊急脱出して原因を特定し、二度と同じ事故が起きない構成に作り替えるまでの実録です。結論から言うと、犯人はGoogle Cloudの「テスト中」OAuthアプリに課せられた7日ルールでした。日本語の情報が少ないポイントなので、同じ症状で困っている方の助けになれば幸いです。
1. 緊急脱出:ファイルマネージャーからプラグインを一時停止
二段階認証で締め出された場合でも、サーバーのファイルに触れるなら脱出路があります。WordPressのプラグインは、フォルダ名を変えるだけで強制的に無効化できるためです。
- レンタルサーバーのファイルマネージャー(またはFTP)で
wp-content/plugins/を開く - 二段階認証を提供しているプラグインのフォルダをリネームする(例:末尾に
_offを付ける) - ログイン画面にアクセスすると、二段階認証なしでID+パスワードのみでログインできる
- ログイン後、フォルダ名をすぐ元に戻し、管理画面からプラグインを再有効化する
redirect_to=https://www.〜って書いてあります!
【ポイント】プラグイン無効化後にログインループ(URL末尾に reauth=1 が付く)が起きたら、www有無の不一致を疑ってください。Cookie削除+正しい側のURLでログインし直せば解決します。
2. 犯人特定:Google OAuthの「7日ルール」
無事に管理画面へ入ると、ダッシュボードに答えが表示されていました。
WP Mail SMTP: One or more emails recently failed to send.
― Your Gmail OAuth refresh token has expired.
メール送信プラグインが使っていたGmailのOAuthリフレッシュトークンが失効し、サイトからのメール送信がすべて止まっていたのです。二段階認証コードも、その巻き添えで送信されていませんでした。
手順をまとめると以下の通りです。
- Google Cloud Console → 対象プロジェクト → OAuth同意画面(新UIでは「Google Auth Platform」→「対象」)
- 公開ステータスを「テスト中」→「本番」へ変更
- WP Mail SMTP側で「OAuth接続を削除」→ 再認可(※本番化した後に取得したトークンだけが恒久になります。順番が重要)
- メールテストで送信を確認
3. 恒久対策:メール依存の二段階認証をやめる
最終的な構成は以下の通りにしました。
- メイン:認証アプリ(TOTP)による二段階認証
- 予備:リカバリーコードを発行し、パスワードマネージャーに保存(紙のバックアップも推奨)
- メール方式の二段階認証は無効化
なお、二段階認証の設定を変更しようとすると「セッションを再検証する必要があります」と表示されて操作がロックされることがあります。これは二段階認証設定が機密操作扱いのため、直近で認証したセッションでしか触れないという仕様です。「今すぐ再検証」から再認証すれば解除されます。バグではありません。
また、新しい認証方式を設定したら、今のセッションを開いたまま、別のシークレットウィンドウでログインテストをしてから作業を終えるのが鉄則です。設定ミスがあっても締め出されずに済みます。
4. おまけ:Googleアカウント自体にもMFA義務化の波
5. まとめ:今日の教訓チェックリスト
今回の事故は、「テスト中OAuthアプリの7日失効」×「メール依存の二段階認証」×「バックアップコード未保存」という三重奏でした。同じ構成に心当たりのある方は、平和なうちに以下を確認してください。
- ☑ Gmail連携のメール送信を自作Google Cloudプロジェクトで設定している場合、OAuth同意画面が「本番」ステータスか(テスト中なら7日で必ず壊れる)
- ☑ 二段階認証はメール方式ではなくTOTP(認証アプリ)方式か
- ☑ リカバリーコードを発行して保存してあるか(パスワードマネージャー+紙)
- ☑ 万一の脱出路として、サーバーのファイルマネージャー/FTPでプラグインフォルダをリネームできることを覚えておく
- ☑ ログインページ変更系プラグインを使っている場合、変更後のURLを控えてあるか
- ☑ Googleアカウント自体の2段階認証も有効にしてあるか
【本記事の参照ソース】
・Google. OAuth 2.0のトークン有効期限に関する公式ドキュメント(テスト中アプリのリフレッシュトークン7日失効).
・WP Mail SMTP. Gmailメーラー設定に関する公式ドキュメント.
・WordPress. プラグインの読み込み仕様およびログインCookieの挙動に関する開発者向けドキュメント.
※本記事の内容は執筆時点(2026年7月)の各サービスの仕様に基づきます。Google Cloud ConsoleのUIや各プラグインの機能は変更される可能性があるため、最新の情報は各公式サイトでご確認ください。

コメント