2011-04-11 32 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頁面時,他們將停止嘗試對其進行索引。