我正在最艰难的时间来确定我们的Asp.net网站没有在搜索引擎中被索引的原因-整个网站。当我使用谷歌的“作为Googlebot提取”工具时,它会引发以下错误。我确保我的网站可以在禁用 session 的情况下正常工作(例如,在web.config中将sessionMode =“Off”设置为),我已经在整个网络上进行了google搜索,但仍然没有运气。

这是我从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。另外,请确保将CurrentCulture设置为有效的默认值。进行这两项检查的原因是因为漫游器不使用Request.UserLanguages-它始终为null。浏览器确实使用Request.UserLanguages。换句话说,请重新声明:如果Request.UserLanguages为null,请不要设置CurrentCulture。

这是问题所在:

我站点中的所有aspx页面都继承自自定义基类,该自定义基类继承自System.Web.UI.Page。直到您用仅引发漫游器异常的代码覆盖OnLoad()或init事件时,这才是问题。我的OnLoad()事件中包含以下代码行:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
从浏览器访问aspx页面时,此代码非常有用。 h!谁不使用浏览器...?答案:googlebot和所有其他bot。

如何检查googlebot是否将您的网站编入索引有问题:

  • 如果尚未注册,请注册google webmastertools。
  • 转到实验室->以Googlebot的身份获取
  • 键入要检查的URL。然后,点击状态链接以查看googlebot发现了什么。如果googlebot返回任何重定向(例如302重定向),通常不是一件好事。如果您站点上的所有页面都获得302重定向到您的自定义错误页面,则您有问题。 的意思是,每当googlebot尝试访问网页时,您的网页都会引发错误(未处理的异常)。 查看您的Page_Load()和Init()函数,以了解googlebot可能存在的错误。您还可以使用一个名为curl(http://curl.haxx.se/)的凉爽命令行应用程序来测试您的页面。使用此工具,我可以在正式发布之前在我们的测试服务器上测试该网站(这是您在使用Google Fetch进行每次更改时都必须执行的操作)。
  • 关于asp.net - 由于302重定向到错误页面,搜索引擎无法为asp.net网站建立索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4369917/

    10-13 02:42