WordfenceからAIOSに切り替えた方、一度見てください。残骸でハマりました。
「根本原因は特定できなかったが、
.htaccess内でwp-cron.phpがブロックされていたことが直接の要因でした」
先に結論です。
原因は、.htaccessの次の記述でした。
<FilesMatch “^(wp-config.php|wp-settings.php|wp-cron.php)”>
order allow,deny
deny from all
このうち
「|wp-cron.php」
を削除します。
このパラメータは、AIOSのツールで定義されています。
【カスタム .htaccess ルールを有効化:ON】
最終的には、この定義を変更して、完了しています。
設定自体は過去から存在していましたが、
何らかのタイミングで有効化または影響が顕在化し、
wp-cron.php がブロックされる状態となっていました。
”問題は突然起きるじゃない、静かに仕込まれている”

この設定の意味
wp-cron.phpは外部アクセスを遮断すると安全に見えますが、
WordPress内部処理でも使用されるため、
ブロックするとループバックエラーの原因になります。
いろいろありますが、結果が分かれば良しとします。
原因判明までの流れ
(時間のある方はどうぞ)
① 症状の確認
・サイトヘルスでエラー表示(2件)
【予約したイベントの実行に失敗しました】
action_scheduler_run_queue の実行に失敗
【サイトでループバックリクエストが完了できませんでした】
→ HTTPステータスコード403
・LiteSpeed Cacheの画像最適化が自動で動かない
→ 手動では処理される
・クリーンアップが完了しない
・Cron処理が不安定
② Cronの動作確認
・サーバ側Cronを設定
・ログを出力して確認
→ Cron自体は正常に動作
※ロリポップ環境
サーバー管理 > cron設定
10分毎に wp-cron.php を実行
→ 実行されているがエラーは改善せず
③ プラグインの影響を疑う
・AIOS(All In One WP Security)を確認
→ 一旦無効化
結果
・ループバックエラー解消
→ 再度有効化すると再発
👉 AIOSが関与していると判断
④ .htaccess の確認
以下の記述を発見
<FilesMatch “^(wp-config.php|wp-settings.php|wp-cron.php)”>
order allow,deny
deny from all
👉 wp-cron.php がブロックされていた
⑤ Wordfenceの残骸確認
・.htaccess
・.user.ini
; Wordfence WAF
auto_prepend_file = …
→ WAFが残っており内部通信に影響
※過去にWordfence使用 → AIOSへ移行
その残骸
⑥ 修正内容
・wp-cron.php のブロック解除
→ |wp-cron.php を削除
最終的には
AIOS>ツール>カスタム .htaccess ルールを入力:>(入力内容を編集)
・Wordfence WAFを無効化
→ .user.ini をコメントアウト
・.htaccess のWAF記述削除
→ Wordfence WAFブロック削除
・wordfence-waf.php をリネーム
→ 起動されないように
⑦ 結果
・サイトヘルス正常化
・Cron正常動作
・LiteSpeed Cache 自動処理復旧
・画像認識 → ✔
・最適化送信 → ✔
・QUIC処理 → ✔
・プル → ✔
・クリーンアップ → ✔(0)




👉 完全復旧
今回の原因
・AIOSの wp-cron.php ブロック
・Wordfence WAF残骸(.htaccess / .user.ini)
👉 セキュリティ設定による「内部通信の遮断」
最後に
今回の原因究明は、ChatGPT Plusにかなり頼りました。
以前はGoogleで調べ、関連記事を探しながら対応していましたが、
今は
「情報を探す時代 → 状況を解く時代」
に変わってきています。
ある程度のポイントが分かればAIに投げる。
解析はあっという間です。
人(自分)は
・可能性を広げる
・経験で判断する
・違和感に気づく
そしてAIに投げる。
この組み合わせが、今回の解決につながりました。
以前なら、途中で諦めていたと思います。
これまでの経験と、AIの専門性。
その組み合わせが非常に有効だと感じています。
これからもChatGPTとは、
良い付き合いができそうです。
さて次は——
この原稿の赤ペンを頼んでみよう。


コメント