WordPressのバージョンを5.6にしたら、サイトヘルス画面に「サイトでループバックリクエストが完了できませんでした」と表示されるようになったときは

WordPressのバージョンを5.6にしたら、サイトヘルス画面に「サイトでループバックリクエストが完了できませんでした」と表示されるようになったときは

WordPressバージョン5.6リリースされましたね。もう更新されました??

WordPressは結構頻繁に更新されるCMSで、今回のようにマイナーアップデート(真ん中の数字が変わる更新)や、メジャーアップデート(一番先頭の数字が変わる更新)では大きく仕様が変わることがあるので、これらの更新はきちんとしていかないと、いきなり飛び級でトラブルが発生することもありますから、できればこまめに更新をしておきたいところです。

私の場合、新しいものには結構飛びつくタイプなので、早速!!という思いを抑えつつ、テストサイトなどから始めて影響がないかをチェックしつつ、大事なサイトの更新をしていくようにしています。

今回も同じように

「よし、テストサイトの更新じゃ~~」

「・・・の前にプラグインとテーマの更新をしとかなきゃね」

「よし完了!!表示とか全く問題なし!!では次へ・・」

てな感じで進めていたとき、ふと、サイトヘルスで問題など出てないかな?と確認してみたら、でました!サイトヘルスステータス画面に

サイトでループバックリクエストが完了できませんでした

という項目。こんな画面です

WordPressのバージョンを5.6にしたら、サイトヘルス画面に「サイトでループバックリクエストが完了できませんでした」と表示されるようになったときは|Knowledge Base

ひょっとして前から出てたのかな?と似たような仕様で更新前のサイトで確認するも出てない、試しにそのサイトを5.6に更新すると出るようになることから、どうやらWordPress5.5.3→5.6にしたときに起こる現象のようです。

また、プルダウンをクリックして内容を確認すると

ループバックリクエストは予約イベントの実行に使用されます。またテーマやプラグインの組み込みエディターでは、コードの安定性の確認に使用されます。

ループバックリクエストは予期しない HTTP ステータスコード 403 を返しました。これが機能の想定どおりの動作を妨げてるかは判断できませんでした。

とのことですから、内容から

  • プラグインやテーマの機能中にあるエディタの問題
  • WordPressの基本動作のどこかで普通は起きない「403エラー」が起きてる

のいずれかが原因らしいです(前者はひょっとすると正しい表現ではないのかも知れません)。

ということは、テーマ・プラグインの問題、または本体の問題、または何等かのセキュリティ機能の問題だという当たりは付きましたから早速検証してみました。

サイトヘルス画面に「サイトでループバックリクエストが完了できませんでした」と表示される原因

前述した考察から、よくあるケースとしては

  1. セキュリティ系のプラグインでそのような設定がある場合
  2. .htaccessファイルなどで管理画面へのアクセス制限をかけている場合
  3. サーバーのセキュリティ機能でアクセス制限をかけている場合

といったところだと思います

私の場合は・・という注釈付きですが、原因は2でWordPressの管理画面へのアクセスに何等かの制限を設けていることでした。具体的には、.htaccess上で、指定した拠点(グローバルIPアドレス)以外からはログイン画面が表示できないという設定をしているのが原因でした。

.htaccessのこの部分の記述をコメントアウトして再度サイトヘルスを確認したら見事にメッセージは消えました(再度コメント外したらばっちりメッセージが表示されました)から、これで間違いないというエビデンス(流行り言葉!?)が得られました。

「サイトでループバックリクエストが完了できませんでした」への対処方法

私の場合は自身で設定したものであり、セキュリティ上この設定を外すのは危険なので、そのまま放置するという結論になりました。

プラグインやテーマの機能(あまりないことかと思いますが・・)で管理画面側にアクセス制限があるようなものでは、プラグインを停止、テーマを一旦変更などして原因を探って特定し、問題を回避できる設定があればそちらで対応ということになります。

※テーマを変更してみる際には、テーマのカスタマイザー設定やウィジェットの設定がおかしくなってしまう可能性がありますので注意して行うことをおすすめします(テーマ側でセキュリティ系の設定を行う機能はほぼないと思いますので、テーマを疑うのは最終最後でいいでしょう)。

※検索するとよく出てくる「Site Guard」プラグインもセキュリティプラグインの1つですので、同様のプラグインでも発生することがあると思いますし、原因さえ特定できていて、必要な機能で停止することができず、サイトを使用するのに問題がなければ、結論としてはそのまま放置でいいと思います。

放置しておきたくないときは

でもやっぱりサイトヘルスステータスに何か表示されるのはちょっと・・・

という方は以下のツイートに対処用コードが紹介されていました

明らかいやぁ~すばらしい。テストサイトに入れてみたら見事にテスト回避されていました👏👏

コードが画像で載っているので、移し間違えたら大変!!ということで以下にコピペ用としてコードを掲載させていただきます(独自関数名は私個人が使用するという意味で私用に変えています)。

ただサイトでループバックリクエストが完了できませんでしたというメッセージ自体は、WordPress標準の動作チェック機能(サイトヘルス)でサイトの不具合が起こる可能性を指摘してくれているものなので、原因が明らかで、確かに自身で自信を持ってパスさせるということでなければ、やっぱり放置がいいのではないかと個人的には感じます。

/***** サイトヘルスのループバックテスト回避 *****/
function ha_remove_loopback_requests_test( $tests ){
	unset( $tests['async']['loopback_requests'] );
	return $tests;
}
add_filter( 'site_status_tests', 'ha_remove_loopback_requests_test' );

サイトへの支援をお願いします

最後までお読みいただきありがとうございました。本記事の内容がお役に立てましたら幸いです。
今後もよりよい情報を提供し続けることができるよう、投げ銭によるサイトへの支援、およびSNSによる拡散をお願いします

作者:

☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。

年齢:40代 趣味/園芸・ペット・卓球