robots.txtファイルを自分のWebサイトに書き込み、有名なボット(Google、Bing、Yahoo)がWebサイトをクロールできるようにしますが、それ以外は拒否します。
User-agent: Googlebot
を追加したかどうかを知りたいのですが、偽のGooglebotクローラーが私のウェブサイトを閲覧できるようになりますか?ボットを偽造することさえ可能ですか?
クローラーがrobots.txt
を尊重するかどうかは、全体名誉ベースのシステムです。そのファイルに何も入れても、「偽の」クローラーが何かをするのを防ぐことはできません。
User-agent:
に関しては、その値も完全に任意です。ブラウザまたは他のHTTPクライアントに、そのヘッダーに必要な値を送信するように指示できます。
Google、Bing、Yahooがサイトをクロールできるようにし、他のすべてのクロールを許可しないrobots.txtファイルを次に示します。
User-Agent: *
Disallow: /
User-Agent: googlebot
Disallow:
User-Agent: bingbot
Disallow:
User-agent: Slurp
Disallow:
一部のクローラーはrobots.txtを完全に無視し、好きなようにクロールします。一部のクローラーは、Googlebotまたは別の正当なクローラーになりすます。一部のクローラーは、Internet ExplorerやFirefoxなどのブラウザーユーザーエージェントになりすます。
Googlebotのユーザーエージェントが実際にGoogleクローラーであることを確認するための手順 があります。クローラーがアクセスしたIPアドレスに対してDNSクエリを実行する必要があります。
スパイダートラップ の概念もあります。これは、ユーザーが見つけることはできないが、クローラーは見つけることができるWebサイト上の場所です。スパイダートラップを使用して、ブラウザユーザーエージェントを装ったクローラーを特定できます。
前述のように、ユーザーエージェントはスプーフィングされる可能性があるため、アクセスをブロックすることは信頼できません(Google Chromeでは、開発ツールを開き、「オーバーライド」に移動してユーザーエージェントを変更できます)。主要な検索エンジンのユーザーエージェントをスプーフィングするのに十分な知識を持った人は、robots.txt
によって阻止されることはありません。
改ざんされたユーザーエージェントからの保護は提供されませんが、ユーザーエージェントをブロックするためのディレクティブをサーバー構成ファイル(たとえば.htaccess
)に追加すると、より多くの保護が提供されます...理由はわかりませんがやりたい.