我正在创建一个 ASP.NET 网站,强制用户接受免责声明。当他们接受免责声明时,就会设置 cookie 和会话。在每个页面请求上,都会触发检查以查看会话或 cookie 是否存在。
我们希望允许 Google 和其他搜索机器人在不接受免责声明的情况下索引/抓取所有页面。
最好的方法是什么?我唯一能想到的就是检查Request.ServerVariables
,但我不确定我应该寻找的女巫价值观?
我正在创建一个 ASP.NET 网站,强制用户接受免责声明。当他们接受免责声明时,就会设置 cookie 和会话。在每个页面请求上,都会触发检查以查看会话或 cookie 是否存在。
我们希望允许 Google 和其他搜索机器人在不接受免责声明的情况下索引/抓取所有页面。
最好的方法是什么?我唯一能想到的就是检查Request.ServerVariables
,但我不确定我应该寻找的女巫价值观?
如果 Googlebot 路过,您需要绕过对 session/coockie 的检查。
因此,在此检查中,您确实需要查看 ServerVariables。例如,对于谷歌,这将类似于
HttpContext.Current.Request.ServerVariables["HTTP_USER_AGENT"].Contains("Googlebot"))
当然,任何伪装成谷歌的人现在也可以跳过免责声明。
我不会称之为伪装——但不能保证谷歌是否喜欢它
您必须为此添加元标记,否则使用 web.config 元标记拒绝访问以这种方式工作
<meta name="robots" content="noindex nofollow">
专门为谷歌它是
<meta name="googlebot" content="noindex">
您也可以尝试URL 删除请求服务