[対象: 中級]
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の振り分けが適用されません。