googlebot在抓取时会保留会话吗?

时间:2011-10-31 19:54:13

标签: asp.net session googlebot google-crawlers

googlebot抓取网页时是否有会话?例如,我在会话中存储了一些变量,并在我的网站页面中使用它们。当googlebot抓取这些页面时,我还会有会话变量吗?在我的global.asax中,我在会话开始时在会话中存储了一些变量。我对谷歌机器人有任何问题吗?

4 个答案:

答案 0 :(得分:9)

Googlebot会主动尝试避免会话,并且不支持Cookie。来自First date with the Googlebot: Headers and compression(2008年3月)

  

我通常会避免使用Cookie(所以没有“Cookie:”标题)因为我不想要   内容受会话特定信息的影响太大。而且,如果一个   我可以使用动态URL而不是cookie中的会话ID   通常想出这个,所以我最终不会爬行你的   百万次不同的会话ID。

我想大多数常规搜索引擎机器人在这方面都是类似的。 Google正在尝试构建唯一网址的索引。 URL是标识唯一内容页面的唯一键。当用户单击SERPS中的链接时,不会传递Cookie(和会话)。 Google主要是为网页编制索引,而不是网站。

答案 1 :(得分:2)

通常答案是否定的,然而其他爬虫(其中有很多)以其他方式工作。

我应该注意到,我已经看到了Adwords(不是正常的googlebot)的谷歌抓取工具的实例,DID提供了会话Cookie。

答案 2 :(得分:2)

你的一个问题的答案是:,你将遇到谷歌机器人的问题。

一般来说,谷歌机器人遇到了两类问题:

  1. 它有时不会在请求之间保留HTTP cookie。我们的应用程序依赖于自定义cookie,并且有大量的谷歌机器人请求被捕获,根本不携带cookie。

  2. 它会在连续请求之间进行长时间休息。例如,它会检索您的页面并在以后询问它的脚本。

  3. 两者都会导致你的会话出现问题。首先 - 您需要在请求之间传递精确的ASPNETSessionID cookie。 Googlebot有时可能无法做到这一点。第二 - 如果请求之间的时间间隔很长,即使cookie存在,您的会话也将终止。

答案 3 :(得分:0)

我认为这不太可能。它应该在每次抓取您的网站时创建一个新会话。