【问题标题】:Does googlebot keep sessions when crawling?googlebot 在抓取时会保留会话吗?
【发布时间】:2011-12-19 00:39:20
【问题描述】:

当 googlebot 抓取页面时,它有会话吗?例如,我在会话中存储了一些变量并在我的站点页面中使用它们。当 googlebot 抓取这些页面时,我还会有会话变量吗?在我的global.asax 中,我在会话开始时将一些变量存储在会话中。我对 Google bot 有什么问题吗?

【问题讨论】:

  • 我认为 G-Bot 不知道您的会话,或者我没有正确回答问题
  • 你知道每个请求在 asp.net 中都有会话。它与 cookie 一起保存。您可以使用 firebug 看到 ASP.NET_SessionId 参数保留在每个请求中。我想知道的是,当我尝试访问我的会话变量时,会在 google bot 爬行时导致任何问题。显然,当用户浏览时,它不会导致任何问题,因为会话正在保持。

标签: asp.net session googlebot google-crawlers


【解决方案1】:

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

【讨论】:

  • 你的意思是每个页面请求?
  • @MonsterMMORPG 我敢打赌,Google Bot 将使用查询字符串来跟踪同一会话在抓取您的网站时;但是,一旦它离开您的站点并返回,将非常喜欢在不同的会话下执行此操作。我很难想象维护会话信息对爬虫有益的场景,相比之下,我可以想象尝试维护会话信息会带来的技术挑战。
  • @Icarus 不,如果它的全部目的是为看到的世界。如果机器人在其购物车中加载了 7 个精美的小部件,然后将其当前 url 显示为小部件的搜索结果,搜索引擎的用户将只会看到一个空的购物车。你看到了吗?
【解决方案2】:

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

我应该注意到,我看到了一个用于 Adwords(不是普通的 googlebot)的 Google 爬虫实例,它提供了一个会话 cookie。

【讨论】:

  • 令人怀疑的是,任何搜索引擎蜘蛛都会发送 cookie。如果他们这样做了,那么请避免使用那些搜索引擎,因为它们的结果将是垃圾。
【解决方案3】:

您的一个问题的答案是:是的,您会遇到 Google bot 的问题。

一般而言,我们在使用 google bot 时遇到了两种类型的问题:

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

  2. 它在连续请求之间进行长时间的中断。例如,它会检索您的页面并稍后请求它的脚本。

两者都会给您的会话带来麻烦。首先 - 您需要在请求之间传递一个精确的 ASPNETSessionID cookie。 Googlebot 有时可能无法做到这一点。其次 - 如果请求之间的时间跨度很长,即使 cookie 存在,您的会话也会终止。

【讨论】:

  • 我怎样才能准确地传递 ASP.NET_SessionId ?实际上,如果它创建新的不是问题,但如果它不携带任何会话,则可能会导致问题。
  • ASP.NET 会话 ID 在 cookie 中传递。如果 GoogleBot 未附加正确的 cookie 或 cookie 指向空(超时)会话,您只需要在代码中进行防御并显示错误消息而不是黄屏死机。 GB的一些(大部分?)请求有可能携带正确的cookie并会命中非空会话。但是,我不知道您是否可以更改 GoogleBot 检查您网站的方式。
  • 我明白了。很好的一点。您对此有任何解决方案吗?任何想法:D
  • 这个答案是错误的。简单的答案是不,Google bot 不使用会话,它会破坏 Google 搜索结果的质量。想象一下,点击 Google 搜索结果中的“精彩小部件”链接到您网站上的 Google 机器人购物车,其中添加了 7 个精彩的小部件。当 请求该 url 时,您将没有该会话,您将看到一个完全空的购物车,一个毫无价值的链接。您将停止使用 Google 搜索并开始使用 Bing。
  • @ButtleButkus:这个答案是正确的,但你还没有理解我写的内容。您是对的,您的示例是正确的,但您认为 google bot 会连续访问几个 页面。我的回答是关于我们与 google bot 的问题,它要求它检索到的单个页面的 javascript、图像和 csses。我们观察到机器人会推迟获取页面资源,因此有时甚至没有意义,资源可能会不稳定,并且在很长一段时间后就无法使用。另外,答案是 4 岁。
【解决方案4】:

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

我通常避免使用 cookie(所以没有“Cookie:”标题),因为我不想要 内容受会话特定信息的影响太大。并且,如果一个 服务器在动态 URL 中使用会话 ID 而不是 cookie,我可以 通常会弄清楚这一点,这样我就不会爬到你的相同位置 使用一百万个不同的会话 ID 进行一百万次页面。

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

【讨论】:

    猜你喜欢
    • 2014-02-12
    • 2014-12-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    相关资源
    最近更新 更多