2012-02-08 45 views
0

在我的一個ASP.NET MVC應用程序中,我使用動作鏈接來切換語言,例如, http://example.com/nl/home/switch?lang=en&redirect=/en/home/about。當按下url時,開關功能將用戶重定向到/en/home/about,語言爲en(英文)。問題在於谷歌將交換動作鏈接編入索引,就好像它是鏈接頁面一樣。因此在此示例中,/en/home/about在Google搜索結果中顯示爲http://example.com/nl/home/switch?lang=en&redirect=/en/home/about而不是http://example.com/en/home/about。我認爲rel="nofollow"不是一個選項,因爲鏈接頁面將被忽略。另外,在動作結果中,我使用函數Redirect(..);,糾正我,如果我錯了,但沒有重定向函數發送頭302?任何建議來解決這個問題?SEO:索引鏈接頁面,但不索引URL

回答

0

Google無法很好地處理302重定向。 302重定向是一個「臨時」重定向。當您發佈302時,Google可能更願意爲重定向本身編制索引,因爲您在說它指向的項目可能會更改。如果您更改了重定向代碼以發佈301永久重定向,我相信Google會按照您的願望行事。

+0

認爲你是對的,我以爲302被永久移動,但它是301.'Redirect()'函數返回302,所以我認爲我應該實現我自己的301函數。301不阻止Google訪問當它有其他參數時再次鏈接? – Marthijn 2012-02-08 16:20:12