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

ループバッククエストのアイキャッチ画像 WordPress

サイトヘルスで「サイトでループバックリクエストが完了できません」でしたって、何もしてないけど?何の勧告なんだろ?

みきみかん
みきみかん

先に結論を言うと、「気にしない」に落ち着きました!

詳しくは後半で・・・

今回はWordpressの機能であるサイトヘルスのお悩みから、「サイトでループバックリクエストが完了できませんでした」についてです。

私の対処になります、何かの参考になれば幸いです。

今回の記事の内容は

  • ループバックリクエストとは?
  • 勧告の解決法と手順
サイトヘルスの勧告

他のサイトヘルスの悩みにも書いてます。よかったら読んでみてくださいね。

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

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

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

問題の詳細です。ざっくした意味は「サイトの中に原因不明の上手くいかないところがあって、その要求に404エラーで返事しました。」ってことになります。

ループバックリクエストと404エラーを調べれば原因に近づけそうです。

ループバックリクエストとは?

ループバックは本当は別の場所に届くハズだった郵便物が自分のところに戻ってきてしまった感じです。

詳細を読むと「ループバックリクエストは予約イベントやテーマやプラグインのコードの安定性の確認に使う」とあります。

考えられる原因は2つです。

  • 自分がWordpressのプログラムファイル(PHPファイル)をいじった
  • テーマやプラグインの不具合

だとすると、解決策は

  • いじったファイルを元に戻す
  • テーマやプラグインを停止する

PHPファイルの場合はセッションやループに関するところをいじったと考えられます。セッションやループはログインに関するところ使われます。

正直、私はPHPファイルは読めません。なんとなくこういう事が書かれているのかなと思うだけで、ファイルをいじった事が原因とは考えられません。

テーマとプラグインを停止する

テーマに原因があるか調べる

1.テーマをデフォルトテーマに変更します
2.サイトヘルスを確認します
3.メッセージに変化はありますか?

デフォルトテーマの場合ならWordPressのサポートやフォーラムに何か書かれているはずです。見当たらない場合はデフォルトテーマに原因があると考えにくいです。

プラグインに原因があるか調べる

1.プラグインを一つずつ停止させます
2.サイトヘルスを確認します
3.見つかるまで繰り返します

私のおすすめプラグイン

「無効化」をクリックすると、無効化します。無効化→サイトヘルスを一つずる繰り返して確認します。

SiteGuard WP Pluginを停止させたところ、サイトヘルスに変化がありました。表示が消えました。SiteGuard WP Pluginに原因があるようです。

SiteGuardプラグインと同様のセキュリティ系のプラグインでも「サイトでループバックリクエストが完了できませんでした」と表示される場合があります。

お使いのセキュリティ系プラグインの停止して、メッセージに変化がないか確認してみてくださいね。

私の場合はSiteGuardが原因だった

WordPressのサポートの「サイトヘルスでエラー」にジェイピーセキュアさんが答えています。

SiteGuard WP Pluginの「管理ページアクセス制限」の設定画面を開き、「除外パス」の欄に、以下を追加して「変更を保存」をクリックしてください。

site-health.php

そこで、「管理アクセス制限」をOFFにしてみます。

すると、勧告は出ません。

残念ながら、この回答は正直なところハズレです。

すでに私の除外パス欄にはにsite-health.phpファイルは書かれています。問題解決になりません。

現在ではジェイピーセキュアさんの方で、デフォルトで除外パス欄に以下のファイルやフォルダが書かれています。

  • CSS
  • images
  • admin-ajax.php
  • load-styles.php
  • site-health.php

久しぶりにログインしたことが原因だった?

ジェイピーセキュアさんの管理ページアクセス制限のページ(https://www.jp-secure.com/siteguard_wp_plugin/howto/admin_filter/)に、「404メッセージ」について書かれています。

公式サイトによる404エラーメッセージについてかかれています。

24時間以内にログインしていないIPアドレスでWordPressにログインしたためメッセージが出ました。

この時はどうだったか覚えていませんが、久しぶりにログインすると起きる現象のようですね。

確かに、ファイルマネージャーで.htaacessファイルを確認すると次のようなことがかかれていました。

#==== SITEGUARD_ADMIN_FILTER_SETTINGS_START
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^404-siteguard - [L]
    RewriteRule ^wp-admin/css - [L]
    RewriteRule ^wp-admin/images - [L]
    RewriteRule ^wp-admin/admin-ajax\.php - [L]
    RewriteRule ^wp-admin/load-styles\.php - [L]
    RewriteRule ^wp-admin/site-health\.php - [L]
    RewriteCond %{REMOTE_ADDR} !^ヒミツ\.ヒミツ\.ヒミツ\.ヒミツ$
    RewriteCond %{REMOTE_ADDR} !^ヒミツ\.ヒミツ\.ヒミツ\.ヒミツ$
    RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$
    RewriteCond %{REMOTE_ADDR} !^::1$
    RewriteRule ^wp-admin 404-siteguard [L]
</IfModule>
#==== SITEGUARD_ADMIN_FILTER_SETTINGS_END

IPアドレスが4つ書かれていて、調べてみるとそのなかの一つは今利用しているレンタルサーバーのようです。

また、「127.0.0.0.1」と「::1」はローカルループバッククエストというわれるもので自分自身を表すアドレスです。これが、じぶんのところに郵便物が戻ってきてしまう感じを引き起こしているんだな~って思います。

今回、私の場合は「ループバックリクエストは予期しないHTTPステータスコード404を返しました。」で404でした。中には「403」の方もいらっしゃるか思います。

そういう場合は.htaacessファイルでIPアドレスの制限をかけていないか確認してみてください。

考えられる原因
  • いつもと違うインターネット環境だった
  • いつもと違うパソコンからログインしようとした
  • 24時間以上過ぎて、または久しぶりにログインした

「管理アクセス制限をOFF」にして大丈夫なの?

管理ページアクセス制限はログインしていない人からwp-adminフォルダを守る機能です。wb-adminを守りたい人はOFFにしない方がいいでしょう。この判断はあなたがしてください。

  • サイトヘルスの勧告が気になる人→OFFにする
  • wp-adminを守りたい人→サイトヘルスの勧告を気にしない

ファイルやディレクトリへのアクセスは.htaccessやパーミションでアクセスを制限をする方法があります。セキュリティアップのために設定することをオススメします。

プラグインが原因だったみたい。

私はセキュリティがきになるなぁ