【问题标题】:ASP.Net how to allow searchbots(google) to skip a disclaimer pageASP.Net 如何允许搜索机器人(谷歌)跳过免责声明页面
【发布时间】:2011-06-15 09:37:12
【问题描述】:

我正在创建一个强制用户接受免责声明的 ASP.NET 网站。当他们接受免责声明时,就会设置 cookie 和会话。在每个页面请求上都会触发检查以查看会话或 cookie 是否存在。

我们希望允许 Google 和其他搜索机器人在不接受免责声明的情况下索引/抓取所有页面。

最好的方法是什么?我唯一能想到的就是检查Request.ServerVariables,但我不确定我应该寻找的女巫值吗?

【问题讨论】:

    标签: asp.net httprequest search-engine-bots


    【解决方案1】:

    您需要绕过对会话/coockie 的检查,以防 Googlebot 路过。

    因此,在此检查中,您确实需要查看 ServerVariables。例如。对于 Google,这将类似于

       HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"].Contains("Googlebot"))
    

    当然,任何伪装成 google 的人现在也可以跳过免责声明。

    我不会称之为伪装 - 但不能保证谷歌是否喜欢它

    【讨论】:

      【解决方案2】:

      您必须为此添加元标记,否则使用 web.config 元标记拒绝访问以这种方式工作

      <meta name="robots" content="noindex nofollow">
      

      特别是谷歌

      <meta name="googlebot" content="noindex">
      

      你也可以试试URL Removal Request service

      【讨论】:

      • 这行不通,因为整个页面对搜索引擎不可见
      • @who ever down voted 免责声明是一个单独的页面,对吗?还是弹出窗口?如果没有更多信息,怎么会有人“提供在任何地方工作”的解决方案
      • 它在页面被渲染之前处理的服务器端。问题不排除它自己的免责声明页面(顺便说一句,我没有投票给你)
      • @lvo it's handled in serverASP.NET website witch forces users to accept a disclaimer. When they accept the disclaimer a cookie and session is set 这两种解释似乎都相互矛盾。如果未向他们显示,用户如何接受免责声明
      • 用户接受它,但谷歌机器人应该自动接受它/不会被拒绝访问页面
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多