0

在現有的.Net MVC3站點上,我們實施了分頁,其中URL類似於www.mysite.com/someterm/anotherterm/_p/89/10,其中89是頁碼,10是每頁結果數。如何修復GoogleBot和其他搜索引擎抓取工具不應抓取的索引頁面?

不幸的是,rel="nofollow"從大於3的頁面鏈接中丟失,並且那些頁面也丟失<meta name="robots" content="noindex,nofollow" />

問題是Google和其他一些搜索引擎現在已經對這些頁面建立了索引,並且現在試圖抓取所有這些頁面,這很常見,因爲我們發現它們對prod db服務器有很大的影響。我們不希望所有這些額外的成千上萬的網頁被抓取,只有前幾個。

我將代碼恢復爲不包含分頁的網站版本,以便我們的數據庫服務器不會受到如此嚴重的打擊。所以,雖然搜索引擎會爲所有這些頁面獲得404錯誤,但我想知道這是否是最好的做法,因爲過了一段時間我會再次介紹分頁網站?

我可以添加以下web.config中都404的重定向到主頁:

<httpErrors errorMode="Custom"> 
    <remove statusCode="404"/> 
    <error statusCode="404" path="/" responseMode="ExecuteURL"/> 
    </httpErrors> 

但我想,這樣做將呈現爲「重複的內容」爲所有的這些頁面帶有分頁URL參數。

這裏最好的辦法就是讓這些404的持續一兩週 - 然後重新引入分頁網站?

另一個選擇是釋放分頁網站,並添加一些代碼以拒絕大於3頁的爬網程序。建議?

是否有更快的方式將這些頁面從索引中取出,以便它們不被抓取?

謝謝。

+0

如果添加像'你的R /根/ anotherterm/*' obots.txt排除它們,爬行者應該停止對它們的攻擊。 – 2012-08-04 01:00:13

+0

網址結構爲www.mysite.com/*/*/_p/ [當前頁面]/[每頁項目]。你能做這樣的模式w/robots.txt嗎? – ElHaix 2012-08-04 05:14:16

回答

0

只要離開頁面404不會做,因爲這是永久性清除。縱觀2616超文本傳輸​​協議 - HTTP/1.1第10章狀態代碼定義:

「的請求的資源不再可用在服務器上,並沒有 轉發地址是已知的。預計這種情況將被認爲是永久性的,即 。具有鏈接編輯功能的客戶端應在用戶批准後刪除對Request-URI的引用。如果 服務器不知道或無法確定 條件是否是永久性的,則代替使用狀態碼404(未找到) 。除非另有說明,否則此響應可緩存。

的410響應的主要目的是通過通知收件人,資源是故意 不可用,服務器業主的願望是 到資源遠程鏈接被刪除,以協助網絡 維護任務。 限制時間的促銷服務和屬於 的個人不再在服務器的網站上工作,這種情況很常見。它不是 需要標記所有永久不可用的資源爲「水漲船高」或 保持大關任何時間長度 - 這是留給 自由裁量權的服務器所有者的」

我只是簡單地添加新ActuionResult方法:

public ActionResult Http410() 
    { 
     return new HttpStatusCodeResult(410); 
    } 

,並創造了新的路線匹配 「__P」:

routes.MapRoute(name: "WholeCountryResultsWithPaging__p", url: "{searchTerm}/__p/{pageNumber}/{pageSize}", defaults: new { controller = "Errors", action = "Http410", pageNumber = UrlParameter.Optional, pageSize = UrlParameter.Optional }); 
0

我不會訴諸於404's,除非作爲最後的手段,並且重複的內容可能會導致您的網頁失去排名。我要做的第一件事是創建一個Google Webmaster Tools帳戶,並配置您希望如何抓取您的網頁,移除網頁,使用什麼屬性等。

對Bing執行相同的操作(網站管理員工具),您應該在一兩天內清楚。 (Bing的引擎被很多其他搜索引擎所使用,而且它看起來像你在Bing上的變化也在向他們滴漏。)

0

嘗試創建robots.txt大多數(非黑帽)爬蟲應該尊重如果將其放置在robots.txt文件中,則會阻止該頁面。

這裏是一個工具: http://www.mcanerin.com/EN/search-engine/robots-txt.asp

此外,通過谷歌網站管理員工具,讓你在現場大,還可以幫助的robots.txt