Fetch as Googleのもう一つの機能
「Fetch as Google」と言うと、誰もが「即座にGoogleのインデックスに登録するためのツール」だと頭に思い浮かべるのではないでしょうか。
(正確にいうと「Fetch as Google」はあくまで「インデックス登録するかどうかをすぐに検討してください」とGoogleにリクエスト送信するだけのものなのですが。)
いつ来るか分からないクローラー(Googlebot)をじっと待っているのではなく、すぐにクロールされるようリクエストしたり、公開するつもりではなかったページを誤って公開してしまったときに(そのページをサイトから削除した後に)、サイトのキャッシュを更新(削除)して欲しいときに使うツールだとも理解していることでしょう。
【SEO】「Fetch as Google」はすぐにインデックスするものではなく、リクエスト送信をするだけのものです - 検索サポーター
そんな「Fetch as Google」ですが実はもう一つの機能があり、クローラーがどのようにレンダリングしているか、即ち、正しくクロールされているかを確認出来る機能があります。
その方法はいたって簡単です。
サーチコンソールの操作画面で調べたいページのURLを入力し、「取得してレンダリング」ボタンを押すだけです。
この機能、あまり使われていない(確認する人が少ない)からなのか、結構知られていなかったりします。
※ 参考ページ
Google ウェブマスター向け公式ブログ: Fetch as Google でページをレンダリングできるようになりました
特にサイトの大幅な変更時は確認しておきましょう。
よくある勘違い
実を言いますと、私もこの機能については忘れかけてしまっていて、本日『Web担(Web担当者Forum)』のエントリー「rel="prev/next"が使えないときページネーションはどうしたらいいか? | 海外&国内SEO情報ウォッチ | Web担当者Forum」のテーマ「キャッシュで表示されるページはGooglebotが見ている姿ではない」を読んで、ふと思い出した次第です。
私はブログ開設当初や、大幅にJavaScriptやCSSをいじったときぐらいにしか確認していませんでした。
(最近では少しの変更なら確認すらしていなかったこともあり、すっかり忘れてしまっていました。)
以前のクローラはテキストブラウザであることが前提とされていましたので、CSSやJavaScript、画像ファイルは最初から robots.txt などでクロールを禁止する(余計なクローリングをさせない)ことがセオリーでもありました。
しかし、現在のクローラー(Googlebot)は、画像はもちろんJavaScriptやCSSを解釈し、ブラウザがレンダリングするのと同じようにページ情報を取得できるように変更されています。
【Google】CSSやJavaScriptのクロールをブロックするとSEOに影響 - 検索サポーター
そのせいか勘違いを起こしてしまいやすいことがあります。
キャッシュ表示に限って言えば、Googleの検索結果からもキャッシュされたページを見ることができるのですが、このキャッシュ表示をクローラーがレンダリングしたものと同一視してしまう勘違いです。
なぜならそれはGoogleが今現在キャッシュしているHTMLのソースコードだけのもので表示されているため、決してクローラーがレンダリングしたものと同じものであるとは限らないのです。
キャッシュページをレンダリングしたのはあなたが使っているブラウザだ。グーグルから返されるのはグーグルがキャッシュしているHTMLのソースコードだけだ。ページに書かれているJavaScriptを実行するのはあなたのブラウザであって、Googlebotではない。
したがってGooglebotがどのようにページをレンダリングしたのかをキャッシュでは確認することはできない、
キャッシュとFetch as Googleの結果が異なることはおおいにありえる。
引用:
rel="prev/next"が使えないときページネーションはどうしたらいいか? | 海外&国内SEO情報ウォッチ | Web担当者Forum
更にもう一つ勘違いしやすいこととして、robots.txtでクロールを拒否するとSEOに影響する(検索順位が落ちる)と考えられていることがあります。
この真意は「あくまでコンテンツを提供するために必要なJavaScriptやCSS、画像などのリソースをクローラーにも開放しなさい」ということであり、決してrobots.txtでクロールを拒否してはいけないということではありません。
コンテンツ判定にはまったく無関係なもの(クロールさせる必要がないリソース)に関しては、これまでどおりrobots.txtを使って拒否しても構いません。
スマホのクロールも確認できます。
スマートフォンのクロールも確認できます
「Fetch as Google」の「取得してレンダリング」機能を使うと、詳細なリソース状況がレポート表示されます。
このレポートには取得できなかったリソースが表示されるのですが、そのリソースがソーシャルボタンやAdSenseのような外部サイトに属したリソースであれば、特に気にすることはありません。
(外部サイトであってもクロールできないものはレポート表示される仕様だと考えてください。)
また、クローラーのレンダリングは、PCでのクロール(レンダリング)だけでなくスマートフォンでのクロール(レンダリング)も取得出来ます。
(サーチコンソールの操作画面から選択できます。)
JavaScriptやCSS、画像を変更したときやクローラーがサイトをしっかり認識してくれているか(これが原因で検索順位が低いのか)不安になったなら、是非Fetch as Googleで確認を行ってみてください。
(私もこのエントリーを書く前に久しぶりにチェックしました(笑))
※ 参考ページ
Use Fetch as Google for websites - Search Console Help