2012-03-05 23 views
3

我正在致力於查詢字符串中傳遞產品ID的電子商務網站。我只需要解決產品頁面沒有檢查產品狀態(直播或存檔)的問題,因此如果用戶有直接鏈接,例如搜索結果,即使該產品的狀態爲「已存檔」,該產品仍會顯示。RedirectPermanent的正確用法是什麼?

如果狀態不是「Live」,我的簡單修復是Response.Redirect("~/Products/Default.aspx");

在這種情況下,我是否應該使用RedirectPermanent即使產品可能會重新聯機?

+0

注意:這似乎更多的是一個潛在的業務需求和SEO問題,而不是C#/ ASP.NET問題。這相當於301與302重定向,以及在產品重新聯機時對Google有何影響。 – 2012-03-05 19:53:47

回答

4

我發現,作爲一般規則,我重新組織在一個網站上的內容時,只能做301重定向,每當實際資源/頁已經移動,例如。

幾乎不可能糾正301錯誤 - 瀏覽器傾向於記住301重定向,因此永久重定向的url不能再次使用。

在您的特定情況下,可能是產品被錯誤歸檔?訪問產品頁面並重定向301的所有訪問者將無法看到該產品的頁面,即使該產品獲得未歸檔

對於搜索引擎,您可能會顯示存檔產品的不同內容,並且您可能希望在您的sitemap.xml(不同優先級或完全不同)中出現它,或者您可能會將其排除在索引之外(robots.txt或通過使用robots meta)。

3

IMO也沒有。您應該顯示一個包含產品名稱的頁面和一條不再可用的消息。重定向錯誤是非常煩人的行爲,應該避免。

您可能還想對文檔進行標記,使其不被搜索機器索引。喜歡的東西:

<META NAME="ROBOTS" CONTENT="NOINDEX"> 
+0

完全同意,我一定會添加該功能,但我仍然希望讓搜索引擎以某種方式意識到這一點。 – Mike 2012-03-05 19:59:51

+0

今天我遵循了這種確切的方法,Google上的產品不再可用。我們現在正在用圖像顯示「抱歉..」味精。這樣做的好處是,麪包屑可以與產品所屬的類別一起使用。 – Rippo 2012-03-05 20:24:29