[レベル: 中級]

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のクロールとその処理は同時とは限らないため、インデックスへの反映にタイムラグが生じることがある

となります。

このエントリーが役に立ったらシェアしてください

[Ads & Featured Contrents]

海外SEO情報ブログTOPGoogle SEO › JavaScriptのクロール用に特別なユーザーエージェントをGoogleは持っていない、JSの処理はクロールとは別

Comments

  1. By ke78 on

    いつも参考になる記事をありがとうございます。
    インデックスへの反映に時間がかかる、ということはページ自体はインデックスされ、検索結果から遷移できたとしても遷移先のページでJavascriptが正常に動作しないパターンがあるということでしょうか?

    *** Reply from Suzuki Kenichi ***
    いえいえ、そういうことではありません。

    ページにアクセスしたときには実際に表示されるコンテンツであっても、インデックスされていないことがあるということです。
    ユーザーがアクセスしたときにJavaScriptを実行するのはブラウザなので、きちんと動作します(Googleは関係ない)。
    そのJavaScriptによってできあがるコンテンツをGoogleが認識していないということです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


▲ページの一番上に戻る