GoogleスパイダーはJavaScriptをレンダリングする方法を知っていますか、それともHTMLだけを知っていますか?
どうやら、いくつかの、 マット・カッツによる :
「しばらくの間、JavaScript内でスキャンしていて、リンクを探していました。GoogleはJavaScriptについてより賢くなり、JavaScriptを実行できるようになりました。すべてのJavaScriptを実行するとは言いません。 「JavaScriptを実行しないでください。Googleアナリティクスのようなよく知られた一般的なJavaScriptがいくつかあります。GooglebotからGoogleアナリティクスへのファントムアクセスを生成したくないので、実行したくないでしょう」。
GoogleはJavaScriptを公式に処理するようになりました。
この問題を解決するために、JavaScriptを実行してページを理解しようとすることにしました。現在のウェブの規模でそれを行うのは難しいですが、それだけの価値があると判断しました。しばらくの間、これを行う方法を徐々に改善してきました。過去数か月間、Googleのインデックスシステムは、JavaScriptを有効にした平均的なユーザーのブラウザのように、かなりの数のWebページをレンダリングしています。
- レンダリング中に物事が完全に行かない場合があり、サイトの検索結果に悪影響を及ぼすことがあります。いくつかの潜在的な問題と、可能であれば、それらの発生を防ぐ方法を次に示します。
- JavaScriptやCSSなどの別のファイルのリソースが(たとえばrobots.txtで)ブロックされ、Googlebotがそれらを取得できない場合、インデックス作成システムはあなたのサイトを平均的なユーザーのように見ることができません。 GooglebotがJavaScriptとCSSを取得できるようにして、コンテンツのインデックス作成を改善することをお勧めします。これは、CSSやJavaScriptなどの外部リソースがページがモバイル向けに最適化されていることをアルゴリズムが理解するのに役立つモバイルWebサイトにとって特に重要です。 Webサーバーがリソースに対する大量のクロールリクエストを処理できない場合、ページをレンダリングする機能に悪影響を与える可能性があります。 Googleでページをレンダリングできるようにする場合は、サーバーがリソースのクロールリクエストを処理できることを確認してください。
- サイトを適切に劣化させることは常に良い考えです。これにより、ブラウザに互換性のあるJavaScript実装がない場合でも、ユーザーはコンテンツを楽しむことができます。また、JavaScriptが無効またはオフになっている訪問者や、JavaScriptをまだ実行できない検索エンジンにも役立ちます。
- JavaScriptが複雑すぎたり複雑すぎて実行できない場合があります。その場合、ページを完全かつ正確に表示できません。
- 一部のJavaScriptは、追加ではなくページからコンテンツを削除するため、コンテンツのインデックス作成ができなくなります。
この結果、 クロール可能なAjax標準は廃止されました :
2009年に、AJAXページをクロール可能にすることを提案しました。当時、システムはJavaScriptを使用してユーザーにコンテンツを表示するページをレンダリングおよび理解することができませんでした。 「クローラーは…動的に作成されたコンテンツを見ることができなかった」ため、AJAXベースのアプリケーションが検索エンジンによってインデックス付けされることを保証するために、ウェブマスターが従うことができる一連のプラクティスを提案しました。
時が変わった。現在、GooglebotがJavaScriptまたはCSSファイルのクロールをブロックしていない限り、通常、最新のブラウザのようにWebページをレンダリングして理解できます。この改善を反映するために、Googleウェブマスターガイドラインを最近更新し、GooglebotがサイトのCSSまたはJSファイルをクロールできないようにすることを推奨します。
2009年の提案の前提条件はもはや有効ではないため、漸進的強化の原則に従うことをお勧めします。たとえば、History API pushState()を使用して、幅広いブラウザー(およびシステム)のアクセシビリティを確保できます。
簡単なGoogle検索が明らかにするように、それは部分的に、そうします:
http://blogs.forbes.com/velocity/2010/06/25/google-isnt-just-reading-your-links-its-now-running-your-code/
それでもGoogleは、ボットが正確に理解していることに関して比較的静かです。
はい、GoogleはJavaScriptをレンダリングできますが、最高の検索パフォーマンス/ランキング( source )を得るためにサーバー側のレンダリングバージョンを使用することは依然として最適なソリューションです。ソース。 GoogleおよびJavaScriptフレームワーク の詳細を参照してください。
はい、Googleはスクリプトの実行と理解がはるかに向上しています。ただし、JavaScriptがなくてもWebサイトが引き続き機能するように、すべてを適切に低下させるか、代わりにプログレッシブ拡張を使用することをお勧めします。 Prerender.io などのサービスでこれを回避するオプションがありますが、これはAJAXクロールスキームを使用します Googleは最近廃止されました 。