Googlebotのレンダリングサービスが年内にアップデートか? DOM検証ツールも開発中

JavaScript を多用しているサイトにとって嬉しい機能の提供を Google は計画しているようだ――「WRS のアップデート」と「DOM の検証ツール」の2つ

- Googlebotのレンダリングサービスが年内にアップデートか? DOM検証ツールも開発中 -

Posted on: 海外SEO情報ブログ - SuzukiKenichi.COM by Kenichi Suzuki

Googlebotは現状ではHTTP/2をサポートしない。メリットがないことが理由?

Googlebot は現状では HTTP/2 をサポートしていない。将来的には可能性はありそうだが、今すぐのサポートは期待できない。

- Googlebotは現状ではHTTP/2をサポートしない。メリットがないことが理由? -

Posted on: 海外SEO情報ブログ - SuzukiKenichi.COM by Kenichi Suzuki

Googlebotはリファラーを渡さない、常にダイレクトにURLにアクセスする

Googlebot はリファラーを渡さない。常に、URL に直接アクセスしてくる。したがって、参照元に基いて Googlebot のアクセスをコントロールすることはできない。

- Googlebotはリファラーを渡さない、常にダイレクトにURLにアクセスする -

Posted on: 海外SEO情報ブログ - SuzukiKenichi.COM by Kenichi Suzuki

Googlebotはレンダリング機能としてChrome41相当の性能を持つ

ウェブページをレンダリングするときに Googlebot が利用する仕様を解説するページを Google はデベロッパー向けサイトに公開した。レンダリングする仕組みとして Chrome 41 相当の仕様を Googlebot は 実装しているとのこと。

- Googlebotはレンダリング機能としてChrome41相当の性能を持つ -

Posted on: 海外SEO情報ブログ - SuzukiKenichi.COM by Kenichi Suzuki

JavaScriptのクロール用に特別なユーザーエージェントをGoogleは持っていない、JSの処理はクロールとは別

[レベル: 中級]

Googleは、JavaScriptをクロールするために特別なUser Agent(ユーザーエージェント)を持ってはいません。
通常のGooglebotがJavaScriptもクロールします。

BB-8
[Image Credit https://goo.gl/vCy291]

JavaScriptのクロール用に特別なUAは存在しない

GoogleのJohn Mueller(ジョン・ミューラー)氏に、フォロワーがTwitterで次のように質問しました。

JavaScriptやAjaxを多用したサイトに対しては、普通のGooglebotとは異なるGooglebotがいるんですか?

ミューラー氏はこのように返信します。

特別なUAはない。だが、クロールの直後にいつもレンダリングするとは限らない。それでたぶん、そういうふうに考えたのではないだろうか?

JavaScript/Ajaxをたくさん使ったサイトを質問したユーザーは運用しているらしく、インデックスへの反映が遅いため、JavaScript専用のクローラがいるのではないかと疑ったようです。

しかし、JavaScriptであろうが通常のGooglebotがクロールします。

JSコンテンツのインデックスへの反映が遅い(遅く見える)理由

その後のやり取りを見ていると、JavaScript/Ajaxコンテンツのインデックスへの反映が遅いと質問者が感じた理由は、主に次の2つの要因によると思われます。

  • JavaScriptの実行は別プロセス
  • キャッシュはインデックスとは異なる

JavaScriptの実行は別プロセス

ミューラー氏が触れているように、JavaScriptはクロールと同時に実行されるわけではありません。
そのページのHTMLのクロールと、そのページにあるJavaScriptの実行は別々に処理されます。
JavaScriptも含めてレンダリングした、そのページの最終的なコンテンツのインデックスができあがるまでには時間がかかることもあります。

以前に詳しく解説しました。

キャッシュはインデックスとは異なる

質問者は、Googleのキャッシュを見てインデックス状態を判断していた可能性があります。
キャッシュを見た場合、そのページのJavaScriptを処理するのはGooglebotではなくあなたが今使っているブラウザです。
レンダリングが完了してGooglebotが実際に見ているページをキャッシュでは確認することはできません。

Googlebotがそのページをどのように見ているかを正確に知るには、Fetch as Googleのレンダリングを使います。

こちらも以前に詳しく解説しました。

ということで、この記事で伝えたかったことをまとめると、

  • JavaScriptのクロールのために特別なGooglebotは存在しない
  • JavaScriptのクロールとその処理は同時とは限らないため、インデックスへの反映にタイムラグが生じることがある

となります。

- JavaScriptのクロール用に特別なユーザーエージェントをGoogleは持っていない、JSの処理はクロールとは別 -

Posted on: 海外SEO情報ブログ - SuzukiKenichi.COM by Kenichi Suzuki