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