[モバイルSEOツール] PageSpeed Insightsでは合格するのにMobile-Friendly Testでは不合格になる理由

[対象: 中級]

Googleは先日、スマートフォンに対応したページが検索結果が表示された際に、「スマホ対応」(英語では“Mobile-friendly”)のラベルを付けるようにしました。

スマホ向けサイトのユーザビリティとユーザーエクスペリエンスを検証するために2つのツールをGoogleは提供しています。

また、ウェブマスターツールのFetch as Googleレンダリングでは、スマートフォンとしてチェック可能です。

Mobile-Friendly Testでは問題点が指摘されるのにPageSpeed Insightsでは合格になることがあります。
2つの代表的な理由をGoogleのJohn Mueller(ジョン・ミューラー)氏がGoogle+で説明しました。

モバイル向けツールごとに結果が異なるの2つの理由

1. robots.txtによるブロックが多過ぎる

クロールをとおしてモバイルフレンドリーかどうかをGooglebotは評価する。

もし、リダイレクトするためのJavaScriptがブロックされていたり、モバイル版のページに必要なCSSがブロックされていたり、(モバイル向けの)別URLがブロックされていたりしたら、Googlebotはモバイル向けサイトを見ることができない。

Mobile-Friendly Testツールはこれを示唆する(鈴木注:「ブロックされている」と明示的な警告は出ないけれど、「URLの取得に失敗」のようなエラーが出ることがある)。
Fetch as Googleのレンダリングは詳細を伝える。
PageSpeed Insightsはrobots.txtを使用しないので、正常な結果になるかもしれない。

したがって、CSSとJavaScriptのファイルのクロールをブロックしてはいけない。

 

2. Googlebotをクローキングしている

クローキングは、ウェブマスター向けガイドラインに長い間記載されており、さまざまな種類の問題を引き起こす。

User-agent(ユーザーエージェント)にあるGooglebotを探してGooglebotであることを識別し、Googlebot用のページ(たいていはPC向けページ)を提供しようとするサイトもある。
もしスマートフォン版GooglebotがPC向けページをクロールして見たら、モバイルフレンドリーだとしてそのページが認識されることはないだろう。

Fetch as Googleのレンダリングはこの問題を認識する手助けになることがある。
PageSpeed InsightsはGooglebotのUser-agentを使用しない(ので、問題があることを通知しない)。

よって、クローキングしてはいけない。

「クロールのブロック」と「クローキング」の2つが、ツールによって異なる結果が出る主な原因とのことでした。

レンダリングに必要なJavaScriptやCSS、画像などリソースのクロールをブロックしないようにとガイドラインも更新してGoogleは推奨しています。
モバイル向けサイトを正しく評価してもらうためには、Googlebotのクロールを許可しましょう。

検索エンジンを騙そうとして悪意を持ってクローキングすることはもってのほかですが、意図せずにクローキングになっているケースがあるかもしれません。
スマートフォン版のGooglebotを含め、Googlebotを特別扱いしないように注意しましょう。

P.S.
技術的な面に踏み込むと、PageSpeed InsightsはGooglebotのUAを使わずに僕たち人間が使う一般的なブラウザのようなUAでページを取得します。
ロボットとしては振る舞わないから違いが生まれるようですね。

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Page Speed Insights) Chrome/22.0.1229 Safari/537.4

※右にスクロール可

つまり、PageSpeed Insightsはrobots.txtを見ることはないし、Googlebotの振り分けが適用されません。