web-dev-qa-db-ja.com

ボットにCookieを設定しようとするとどうなりますか?

ユーザーを特定するCookieを含めるようにサイトを構築しています。訪問者がチャイムを鳴らしたら、一意の訪問者ID(guid)と訪問日時を使用してCookieを設定し、訪問記録(ユーザーエージェント、リファラー(存在する場合)などを含む)を保存します私のデータベースでは、各ユーザーをチェックして、設定したCookieがあるかどうかを確認し、その後、アクセスするたびに訪問レコードを作成して、サイトのリンクをクリックしたかどうかを含めます。

このサイトは非常に新しい(今日の時点で約1週間前)が、訪問者をテキストログで追跡しており、ユーザーエージェント(GoogleおよびBingボット/クローラーと他のカップルがやって来ました)。

彼らはおそらくクッキーを受け入れないだろうと私は思います。誰でもこれを確実に知っていますか?または、サイト情報に加えてCookieも収集しますか?

7
Cyberherbalist

ほとんどのボットはCookie(Googlebotを含む)を受け入れませんが、一部のボットは受け入れます。

応答でSet-Cookieヘッダーを送信しますが、ボットは後続のリクエストでCookieヘッダーを返送しないため、Cookieは事実上失われます。 GoogleがサイトがsettingCookieかどうかを監視しているかどうかはわかりませんが、おそらくそうだと思います。ただし、この情報は検索結果では使用されません。

Googlebotがあなたのサイトにアクセスするとき、彼らは以前に一度もアクセスしたことがないようです。これは、Cookieを無効にした実際のユーザーに当てはまります。

さらに読む: googlebotはクロール時にセッションを保持しますか?


一意の訪問者ID(guid)を生成する状況を処理する1つの方法は、... Cookieが存在しない場合(新しいユーザーまたはCookieが何らかの理由で設定されていない場合)、Cookieを設定しようとしますyourrealguid、ただしユーザーエージェントとIPアドレスのハッシュを現在のリクエストのguidとして使用します(これはrealguid)。完全ではありません(完全に一意というわけではありません)が、少なくともボットをより簡単に追跡でき、重要なことに(訪問者をカウントするためだけにCookieに依存している場合)1000の非現実的な訪問者のカウントを回避できます。

6
MrWhite