我最难确定我们的Asp.net网站没有在搜索引擎中编入索引的原因 - 整个网站。当我使用谷歌的“获取Googlebot”工具时,它会抛出以下错误。我确保我的网站可以禁用会话(即在web.config中设置sessionMode =“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>
答案 0 :(得分:4)
我自己找到了答案。
确保在使用前检查Request.UserLanguages!= null。此外,请确保将CurrentCulture设置为有效的默认值。这两个检查的原因是因为机器人不使用Request.UserLanguages - 它总是为空。浏览器确实使用Request.UserLanguages。换句话说: 如果Request.UserLanguages为null,请不要设置CurrentCulture。
问题在于:
我网站中的所有aspx页面都继承自继承自System.Web.UI.Page的自定义基类。在使用仅为机器人抛出异常的代码覆盖OnLoad()或init事件之前,这不是问题。我的OnLoad()事件中有这行代码:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
从浏览器访问aspx页面时,此代码非常有用。咄!谁不打算使用浏览器......?回答:googlebot和所有其他机器人。
如何检查googlebot是否存在索引您网站的问题: