我在确定我们的ASP.NET网站的原因最困难的时间没有在搜索引擎中索引 - 整个站点。当我使用Google的“获取为Googlebot”工具时,它会引发以下错误。我确保我的网站可以使用禁用的会话(即sessionmode =“ off” web.config中的“ off”),我已经在网络上搜索了搜索,但仍然没有运气。

这是我从Googlebot遇到的错误:

 HTTP/1.1 302 Found
 Date: Thu, 02 Dec 2010 23:05:49 GMT
 Server: Microsoft-IIS/6.0
 X-Powered-By: ASP.NET
 X-AspNet-Version: 2.0.50727
 Location: /ErrorPage.aspx?aspxerrorpath=/Default.aspx
 Cache-Control: private
 Content-Type: text/html; charset=utf-8
 Content-Length: 168

 <html><head><title>Object moved</title></head><body>
 <h2>Object moved to <a href="%2fErrorPage.aspx%3faspxerrorpath%3d%2fDefault.aspx">here</a>.</h2>
 </body></html>
有帮助吗?

解决方案

我自己找到了答案。

确保在使用之前检查request.userlanguages!= null。另外,请确保当前文化设置为有效的默认值。这两项检查的原因是因为机器人不使用请求。用户 - 始终是无效的。浏览器确实使用request.userlanguages。用换句话说: 如果request.userlanguages为null,请勿设置当前文化。

这是问题:

我网站中的所有ASPX页面都从System.Web.ui.page继承的自定义基类继承。除非您覆盖Onload()或具有代码的INIT事件,否则这才是问题。我的Onload()事件中有这条代码线:

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

从浏览器访问ASPX页面时,此代码效果很好。 du!谁不会使用浏览器...?答案:Googlebot和所有其他机器人。

如何检查GoogleBot在您的网站上是否有问题:

  1. 如果尚未注册Google WebmasterTools。
  2. 去实验室 - >作为Googlebot获取
  3. 输入要检查的URL。然后单击状态链接以查看GoogleBot的发现。如果Googlebot返回了任何重定向(例如302),那通常不是一件好事。如果您的网站上的所有页面都将302个重定向到您的自定义错误页面,那么您会遇到问题。 每当GoogleBot试图访问它们时,这意味着您的网页会丢弃错误(未经手的异常)。 查看您的page_load()和init()函数Googlebot可能遇到的错误。您还可以使用Cool命令行应用程序测试您的页面 卷曲 (http://curl.haxx.se/)。使用此工具,我能够在测试服务器上测试该站点,然后再发布生产(这是您每次使用Google Fetth时都要进行更改时必须要做的)。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top