2011-04-11 44 views
1

目前我们正在使用Kentico CMS作为网站,我们曾经有一个名为pages/page1.aspx的页面。我们删除了该页面,但谷歌,Bing和雅虎搜索机器人每天都会尝试阅读该页面。因为页面不存在的CMS引发以下错误(日志中)使搜索机器人无法爬取已删除的页面?

Event URL: /pages/page1.aspx 
URL referrer: 
User agent:  Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) 

Message: The file '/pages/page1.aspx' does not exist. 
Stack Trace: 
at System.Web.UI.Util.CheckVirtualFileExists(VirtualPath virtualPath) 
// and the rest of the stacktrace 

当我们得到太多的这些错误的整个网站崩溃(必须清除净临时文件并重新启动应用程序池) 。基本上,我可以去一个不存在的页面,多次刷新并下载网站。非常糟糕。但是,首先,我怎样才能让机器人不尝试访问此页面?

在此先感谢。

回答

1

如果只是一个页面或几页导致此问题,请修改robots.tx t以告知合法搜索引擎不要检查它。

我还想知道当页面没有找到时你发送了什么HTTP响应?您可能会发送一些令蜘蛛认为应该继续检查的内容?也许你应该尝试永久重定向到你的主页,而不是404?

最后,WTF?我会和Ketnico人讨论这个问题。

0

您是否尝试过使用robots.txt文件?

0

我认为你有一个配置错误。尽管robots.txt文件有望解决此问题,但漫游器可以选择忽略该文件。

更好的解决方案是正确设置错误页面。当你去到一个不存在的页面时会发生什么?这听起来像你的系统显示一个黄色的屏幕,这是一个未处理的异常,直到用户为止。我会检查你的错误页面设置,以便用户(和机器人)被重定向到404错误页面。我猜测,当雅虎和其他人看到这个404页面时,他们将停止尝试对其进行索引。