web-dev-qa-db-ja.com

ウェブサイトが劣化して同等の非JS機能を提供する場合、Googlebotのrobots.txtのJSスクリプトを禁止できますか?

私の知る限り、Googlebotは現在、複雑なSPAアプリケーションを完全にレンダリングできます。これは経験則としてお勧めします。

Webサイトは現在、サーバー側からルーティングされ、静的ページとして提供されています。 SEOには問題がなく、Googleインデックスに登録されています。

今後の新しいWebサイトは、Angularを使用した準SPAに変換され、SEOの重要な部分はすべて静的なページとして引き続き提供されます。クライアント側のルーティングはPJAXを行うため、SPAルートからのすべてのページはサーバー側のルーターによって提供されるページに対応します。

これは、Angularアプリケーションが動作していない(ロードされていないか、ブラウザスクリプトがオフになっている)ときにWebサイトが適切に劣化するという考え方です。有益なコンテンツはすべてそこにありますが、検索可能にする必要のないインタラクティブなウィジェット(カート、リアルタイムグラフなど)は切断されています。

Googleの現状を妨げることは一切ありません。たとえば、Googleによってインデックスが作成されたSPAで<title>で問題が発生しました(ページ自体はユーザーのブラウザで正常に表示されました)。

別の問題は、データ量の多いウィジェットの初期化に数秒かかる場合があることです。Googlebotがタイムアウトで停止したり、ウェブサイトを「低速」としてランク付けしたりすることはできません。

だから、私はウェブサイトが優雅に劣化していると考えており、Googleに訪問者のsomeのように見えるようにしたいと思います。私の意見では、それは確かにクロークされていません。

TL; DR:既存の静的WebサイトをウィジェットやPJAXなどの動的機能で強化したいが、robots.txtのほとんどのJSスクリプトを禁止して、SEOを妨げないようにGooglebotの目に同じ外観を維持したい。

Robots.txtで許可されていないJSスクリプトは、目標を達成するために受け入れられますか? Google側から考えられる影響は何ですか?クローキングおよび/またはペナルティを与えると見なすことができますか? Googlebotはロボットの指令を無視し、完全に機能するWebサイトを何とか覗いて、何が起こっているのかを知ることができますか?

2
Estus Flask

Googleは、ページのすべてのコンテンツにアクセスできるようにすることを比較的明確にしたと思います。また、javascriptはマルウェア、ウイルス、ブラウザハイジャックなどの非常に脆弱なスクリプトにつながる可能性があるため、Googlebotの.jsファイルへのアクセスを無効にすると、トラフィックをページに送信するのが非常に不愉快になると思います。

このシナリオを想像してください。 Webサイトには、ユーザーをマルウェアサイトにリダイレクトしたり、ユーザーのクライアント側でvirus.exeアプリケーションをダウンロードさせる.jsスクリプトがあります。 Webサイトは、Googlebotがこの.jsファイルにアクセスするのをブロックします。その後、Googleはトラフィックをページに送信し、訪問者はマルウェアに感染します。これは、Googleがほぼ確実に認識している非常に大きなセキュリティ上の欠陥のようです。

結果として、Googlebotの.jsファイルへのアクセスを無効にすることは、自分を入れる非常に危険な立場であり、ページ全体を完全に格下げする可能性があるということです。

1
Michael d