让搜索机器人不抓取已删除的页面?

时间:2011-04-11 00:25:26

标签: asp.net search-engine googlebot kentico

目前我们在网站上使用Kentico CMS,我们曾经有一个名为pages / page1.aspx的页面。我们删除了该页面,但每天google,bing和yahoo sarch机器人都试图阅读该页面。由于页面不存在,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

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

提前致谢。

3 个答案:

答案 0 :(得分:1)

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

我还会检查在找不到页面时你发送的HTTP响应是什么?您可能正在发送导致蜘蛛认为应该继续检查的东西?也许您应该尝试永久重定向到您的主页,而不是404?

最后,WTF?我会和Ketnico人谈谈这个错误。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

我认为您有配置错误。虽然robots.txt文件有望解决此问题,但机器人可以选择忽略该文件。

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