web-dev-qa-db-ja.com

どのユーザーエージェントを設定する必要がありますか?

このヘッダーを設定するAskボットがあります。

Mozilla/2.0 (compatible; Ask Jeeves/Teoma) 

これを考慮して、次の質問があります。

  • Goofyという名前のWebクローラーを作成している場合、どのユーザーエージェントを使用する必要がありますか?
  • Mozilla/2.0またはMozilla/5.0を配置した場合の違いは何ですか?

現在の標準に準拠するためにユーザーエージェントをどのようにフォーマットするかについてのその他の提案は大歓迎です。

18
Nicu Surdu

私は、かなり大規模なWebクローラーの主な設計者および作成者です( metadatalabs.com/mlbot(アーカイブされたリンク) を参照)。あなたが求めているのは、私たちにとって非常に重要なトピック、おそらくクローラーを実行する上で最も重要なトピック、つまり礼儀正しさです。

まず、「Mozilla」の理由は、ブラウザーの機能をサイトに伝えるためです。ボットがブラウザのように振る舞わない場合、「Mozilla」を含める必要がある特別な理由はありません。

ユーザーエージェント文字列およびその他のポライトネス関連の項目について:

  1. 誰も使用していないことがわかっている名前を選択します。 「Goofybot」を使用すれば大丈夫だと思います。しかし、私は確かめるためにそれをチェックアウトするでしょう。

  2. ユーザーエージェント文字列には、ボットに関する詳細情報へのリンクを含める必要があります。たとえば、文字列は「MLBot(www.metadatalabs.com/mlbot)」です。

  3. 誰かが「Goofybot」を検索した場合、検索結果でそのページが高い(できれば最初に)ことを確認してください。

  4. ボットに関するページには、情報の使用目的、クロール元のIPアドレス、およびボットの問題についてユーザーから連絡を受ける方法が記載されている必要があります。

  5. 「お客様は常に正しい」という哲学を使用して、質問や苦情に迅速に対応する必要があります。あなたのボットがこの人が不平を言っている問題を引き起こしたなら、それはおそらく誰も不平を言わない他の多くのサイトで問題を引き起こしたことを覚えておいてください。彼らは問題を認識しなかったか、単にあなたのIPアドレスをブロックしました。

  6. ボットが特定のドメイン名にアクセスするのを防ぐために、ファシリティを構築する必要があります。一部の人々は、あなたがまったくクロールすることを望まず、robots.txtを作成したり、.htaccessでブロックしたりするアクセスまたは技術的能力を持っていません。この機能により、「MLBotが問題を引き起こして申し訳ありません。サイトを再びクロールしないように指示しました」と誰かに伝えることができることがわかりました。おそらく驚くことではないが、それは人々を非常に素早く落ち着かせる。

  7. Robots.txtをまだ尊重していない場合は、それを実行してください。 robots.txtを無視するほど、評判が悪くなることはありません。

ワオ。それは予想以上に長く続きました。過去4年間で、私は上記で言及したような間違いをすべて犯しました。しかし、私たちがやっていることを率直に伝え、正直に伝えると(苦情を受ける前に間違いに関する情報を投稿することを含む)、ウェブマスターの大半は私たちを良いインターネット市民と見なしていることがわかりました。

32
Jim Mischel

Mozilla/2.0とMozilla/5.0は、どちらもMozillaブラウザーへの参照です。多くのクローラーが使用しているため、ほとんど意味がなくなりましたが、通常のブラウザーでランダムに閲覧しているユーザーと同じようにクローラーを処理するようサイトに指示する必要があります。

ただし、次のセクションに、自分が誰で、なぜクロールしているのかについてのページにリンクするURLを含めるのは良いエチケットです。 Aee Jeevesは名前だけで済ませることができますが、URLを含める必要があります。

例えば。

Mozilla/5.0 (compatible; http://example.org/)

これにより、ウェブ管理者はサイトをクロールする理由を把握し、クローラーの動作に問題がある場合に連絡することができます。

8
Kris
3
Dave