WordPressサイトヘルスの「ループバックリクエストが失敗しました」は、WordPressが自分自身のURLへHTTP接続できない状態です。予約投稿、wp-cron、テーマ・プラグイン編集の安全確認に影響します。REST APIが開くか、Basic認証・WAF・メンテナンス・URL不一致が内部通信を止めていないかを順に確認します。
最初に結論:自サイトURLの応答コードを確認し、内部通信を妨げる設定を外す
- サイトヘルスのループバック詳細でURL・応答コードを確認する
- WordPressアドレスとサイトアドレス、HTTPSを照合する
- Basic認証・メンテナンスモード・IP制限を確認する
- WAFとセキュリティプラグインの遮断ログを見る
- wp-cronとテスト予約投稿で機能回復を確認する
警告文だけを消すのではなく、内部リクエストが200を返し、予約イベントが動くことを確認します。認証を全解除するのではなく、サーバー自身の必要通信だけを許可します。
ループバックリクエストが必要な理由
WordPressは自サイトへHTTP接続し、cronイベント、更新後の致命的エラー検出、REST APIなどを動かします。ブラウザーは認証済みでも、サーバー内部のリクエストにはCookieがないため、Basic認証やIP制限で401・403になることがあります。
| 確認結果 | 疑う場所 | 次の行動 |
|---|---|---|
| 401 Unauthorized | Basic認証 | 内部通信を許可または検証時だけ解除 |
| 403 Forbidden | WAF・IP制限・セキュリティ | 遮断ログのルールを確認 |
| 404 Not Found | URL・パーマリンク | サイトURLとrewriteを確認 |
| 28 timeout | DNS・SSL・自サイト処理 | 接続経路とPHPログを確認 |
手順1:詳細のURLとHTTP状態を読む
「ツール → サイトヘルス → ステータス」で項目を展開し、テスト対象URL、HTTPコード、cURL文言を保存します。401、403、404、タイムアウトでは修正場所が異なります。
同時に「REST APIで予期しない結果」や「予約イベントが遅延」が出ていないか確認します。複数警告が同じURL原因でつながっている場合があります。
手順2:URLとHTTPSを整合させる
WordPressアドレスとサイトアドレスが、証明書のある正規HTTPS URLと一致するかを確認します。www有無やサブディレクトリを誤ると、自サイトが別入口へ転送され続けます。
wp-config.php
に固定値がある場合は管理画面表示より優先されます。DB値と定数のどちらが正式設定かを決め、二重管理を解消します。
手順3:認証・WAF・メンテナンスを切り分ける
開発中サイトのBasic認証、アクセス制限、メンテナンスプラグインが未認証リクエストを拒否していないか確認します。公開サイト全体の保護を外す前に、テスト時刻のアクセスログを見ます。
WAFで遮断されている場合は該当ルールとURLを特定し、必要最小限の除外を行います。セキュリティプラグインを全停止したまま運用しません。
機能回復をテストする
サイトヘルスを再実行し、ループバックとREST APIが正常になったことを確認します。次にテスト投稿を数分後へ予約し、管理画面を閉じても公開されるかを見ます。
テーマ・プラグインの更新後も公開ページが開くこと、cronイベントの遅延が解消したことを確認します。警告非表示だけでは完了にしません。
401や403なら、通信がどこまで届いたか分かるんですね。
エラー全文を残して、認証とWAFを混同しないようにします。
はい。URL不一致の転送もよくあるため、HTTPSとホスト名も確認してください。
修正後は予約投稿を動かすと実機能まで検証できます。
テスト予約が管理画面を閉じても公開されるか見ます。
内部通信の意味が分かったので、警告だけ消して終わらずに済みそうです!
症状ごとの判断をもう一段深くする
401 Unauthorized
この状態では、まず Basic認証 を優先します。内部通信を許可または検証時だけ解除だけで結論を出さず、変更前の画面・発生時刻・対象URLを残し、同じ条件で一項目ずつ比較してください。別の症状まで同時に出る場合は、個別ページより共通するサーバー設定やWordPress全体の処理を先に確認します。
403 Forbidden
この状態では、まず WAF・IP制限・セキュリティ を優先します。遮断ログのルールを確認だけで結論を出さず、変更前の画面・発生時刻・対象URLを残し、同じ条件で一項目ずつ比較してください。別の症状まで同時に出る場合は、個別ページより共通するサーバー設定やWordPress全体の処理を先に確認します。
404 Not Found
この状態では、まず URL・パーマリンク を優先します。サイトURLとrewriteを確認だけで結論を出さず、変更前の画面・発生時刻・対象URLを残し、同じ条件で一項目ずつ比較してください。別の症状まで同時に出る場合は、個別ページより共通するサーバー設定やWordPress全体の処理を先に確認します。
28 timeout
この状態では、まず DNS・SSL・自サイト処理 を優先します。接続経路とPHPログを確認だけで結論を出さず、変更前の画面・発生時刻・対象URLを残し、同じ条件で一項目ずつ比較してください。別の症状まで同時に出る場合は、個別ページより共通するサーバー設定やWordPress全体の処理を先に確認します。
管理画面へ入れる場合・入れない場合の進め方
管理画面へ入れる場合
サイトヘルス、対象機能の設定画面、更新履歴を先に確認し、直前の変更を一件だけ戻します。変更後は未ログイン画面を開き、キャッシュされた管理者表示だけで判断しません。
管理画面へ入れない場合
サーバーパネルのファイル管理とエラーログを使い、対象ドメインとWordPress設置先を照合します。フォルダ名変更などの一時停止は対象一件に限定し、元の名前と変更時刻を記録します。復旧後は管理画面から正式な更新・設定を行い、一時変更を放置しません。
サポートへ相談するときに伝える内容
「直りません」だけでなく、記事タイトルの症状が出たURL、発生時刻、エラー全文、直前の操作、再現手順、試した項目と結果、PHP・WordPress・対象製品のバージョンをまとめます。ログに個人情報、Cookie、APIキー、パスワードがあれば伏せてください。
サーバー会社にはHTTP状態・PHPログ・DNSやWAFなど基盤側の確認を、プラグイン提供元には製品名・バージョン・再現操作を伝えます。問い合わせ先を分けると、同じ確認を何度も繰り返さずに済みます。
直ったと判断する条件
サイトヘルスでループバックとREST APIが正常になり、テスト予約投稿が自動公開され、cron遅延がなく、アクセスログに新しい401・403・タイムアウトがない状態です。
- 詳細URLと状態コードを保存した
- URLとHTTPSを照合した
- 遮断ログを確認した
- 必要最小限の許可にした
- 予約投稿で実機能を確認した
復旧作業を落ち着いて進められるサーバー環境
アクセスログ、WAF、SSL、cronを一つの管理画面で確認できると、外から見えるのに内部通信だけ失敗する問題を追いやすくなります。
広告・PRを含みます。料金・特典は公式ページで最新条件をご確認ください。
よくある質問
サイトが表示できれば放置してよいですか?
予約投稿やcron、更新安全確認へ影響するため、対象機能を確認して修正します。
Basic認証中は必ず失敗しますか?
構成により異なります。サーバー内部リクエストへ認証を通す公式方法を使うか、検証環境の制限方法を見直します。
REST APIを無効化した場合は?
必要な機能まで止めることがあります。全面無効化ではなく権限・エンドポイント単位の制御を検討します。
まとめ:自サイトへの内部HTTP応答とcron動作を確認する
詳細の状態コードを読み、URL・HTTPS、認証、WAFの順に修正します。サイトヘルスが正常になり、テスト予約とcronが実際に動くところまで確認して完了です。
WAFやアクセスログ、cronを同じ管理画面で扱いたい場合は、現在の遮断原因を整理してからサーバー機能を比較できます。
エックスサーバーの公式情報を確認する