2012-02-08 103 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