4

私は最近、定期的なイベントを扱う新しい Web アプリを構築しています。これらのイベントは、毎日、毎週、または毎月繰り返すことができます。

これはすべてうまくいっています。しかし、イベント ブラウザ ページ (公共のインターネットに表示される) の作成を開始したとき、ある考えが頭に浮かびました。

クローラーがこのページにヒットし、日付を参照するための次と前のボタンが表示された場合、それは永遠に続きますか? そこで、一般的な HTML リンクの使用をやめ、AJAX を使用しました。つまり、ボットはリンクをたどることができなくなります。

しかし、この方法は、Javascript を使用しないユーザーにとっては、その機能が失われることを意味します。それとも、Javascript を使用していないユーザーは少なすぎて心配できないのでしょうか?

これを処理するより良い方法はありますか?

また、Google Crawler のようなボットがこのようなブラック ホールを検出する方法と、ボットがそれらを処理する方法にも非常に興味があります。

4

2 に答える 2

4

Add a nofollow tag to the page, or to the individual links you don't want crawled. This can be in robots.txt or in the page source. See the Robots Exclusion Standard

You may still need to think about how to fend off ill-behaved bots which do not respect the standard.

于 2012-11-13T08:58:45.260 に答える
2

最小限の機能を備えた Web クローラーでさえ、想像以上に洗練された機能を必要とし、あなたが説明した状況は問題ではありません。クローラーは、幅優先探索のいくつかの変形で動作するため、ブラック ホールを検出するために何もしなくても、大したことではありません。Web クローラーのもう 1 つの典型的な機能は、短期間に同じドメインから大量のページを取得することを回避することです。

クローラーがブラック ホールを検出することが厳密に必要というわけではありませんが、優れたクローラーには、価値の低いページで時間を浪費しないようにあらゆる種類のヒューリスティックが含まれている場合があります。たとえば、最低限の英語 (またはその他の言語) のテキストがないページ、リンクしか含まれていないページ、バイナリ データが含まれているように見えるページなどを無視することを選択できます。なぜなら、検索の基本的な幅優先の性質により、単一のサイトがクローラーの時間を浪費しすぎないことが保証されます。また、Web のサイズが非常に大きいため、「良い」ページがいくつか見落とされたとしても、常に多くのページがあることを意味します。他の良いページが見つかります。(もちろん、これは Web クローラーの観点からのものです。スキップされるページを所有している場合は、さらに問題になる可能性があります。

于 2012-11-19T19:28:13.567 に答える