Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

【PageSpeed Insightsエラー】リクエストしたページを Lighthouse で正確に読み込めません→WPでメンテにしてました

更新: 2024/02/10 1950文字

【PageSpeed Insightsエラー】リクエストしたページを Lighthouse で正確に読み込めません

今回はPageSpeed Insightsエラーで、『リクエストしたページを Lighthouse で正確に読み込めません』というようなメッセージが出てきたので、内容を調査しました。なぜか特定のテストサイトで計測できないという状況でしたが、原因がわかったのでお知らせします。さっそくかくにんしていきましょう。

PageSpeed Insightsエラーの状況

管理人が、xfreeで作ったテストサイトで、超速い自社開発テーマ&会員プラグインなどのテストをしていました。で、PageSpeed Insightsを使って、ついでに読み込み速度をチェックしようとしたところ・・・

Lighthouse returned error: FAILED_DOCUMENT_REQUEST.リクエストしたページを Lighthouse で正確に読み込めませんでした。』というエラーメッセージが登場。特にエラーでページが表示されないというのは無かったんだけど、なぜこのようなエラーが出ていたのか気になったので、調べてみました。

ポイントは『普段は公開していない、テスト用のページ』ということかもしれません。

原因→wp_dieでWordPressのページを表示させず、メンテメッセージを出していた

原因はこれ。『if ( !is_user_logged_in() ) {wp_die(‘ただいまメンテナンス中です。’);}』で、メンテモードをつけたのを忘れていました(笑)(ログイン状態だとサイトが見れるので気が付くのが遅れました)。 このファンクションは『response(HTML ステータスコードを返す)』というパラメーターがあって、『初期値: 500』となっています。なのでFAILED_DOCUMENT_REQUEST 500になっていたわけです。

この部分をfunctions.phpからカットすれば、PageSpeed Insightsでも計測できるようになりました。『500 Internal Server Error』を返して、メンテ表示にするのは、公開サイトをメンテするときはよろしくないかなと思います(クローラーがきたときのことを考えて)。これはテスト用なので気にしませんが。

管理人のケース以外に『リクエストしたページを Lighthouse で正確に読み込めません』が出そうなケース

管理人のケースでは『ログイン者以外にアクセス制限がかかっていた』ということで計測できませんでしたが、調査したところ、他にも表示できない例があるようです。いくつか挙げてみます。

wp_dieではないが、.htaccessで制限をかけている場合

例えば.htaccessを使って『特定のipや、特定のリファラじゃないと見れない』みたいに制限がかかっている場合は、計測できません。Lighthouseがこのケースでも、ページを読み込めないからです。WPの場合はセキュリティ系で.htaccessを書き換えるものもあるので、その点もチェックします。

構文にエラーがあって、ページが表示できていないとき

たとえばphp重大エラーとかがあって、ページが表示できない場合。この場合もLighthouseがページを読めません。検証はしてないけど、リダイレクトでループしまくってタイムアウト、みたいな場合も、たぶんダメでしょう。

そのほか

調べたら『サーバー変えたら直った』という方もいるようです。サーバー側設定でもなにかあるかもしれません。

あとがき・まとめ

  • wp_dieでメンテモード(つけたの忘れていた)にしていたら、PageSpeed Insightsが計測エラーになった
  • アクセス制限などをかけている場合は、Lighthouseがページを読めず、エラーになることも

というところでしょうか。管理人の場合は、メンテ制限を忘れていただけだったので、サクッと解決しましたが、WPだと『プラグイン・.htaccess・テーマ・サーバーセッティング』など、いろいろな要素が絡んできそうです。『制限・構文エラー』などを中心に、ひとつひとつ確認していくと解決できそうです。


【カテゴリ】- サイトエラー対策と復旧
【タグ】-

関連記事