Http 从主域到语言的重定向应该是永久的吗?

Http 从主域到语言的重定向应该是永久的吗?,http,seo,Http,Seo,我们用多种语言建立了很多网站。URL如下所示: example.com/en/ example.com/de/ 如果用户访问主域example.com,我们的应用程序会检测/猜测用户的语言,并将其重定向到上述URL之一 到目前为止,我们使用了,因为用户可以返回其他语言设置,然后应该重定向到另一个。但这将导致搜索引擎爬虫无法传递任何链接(排名能力) 做一个永久(301)重定向是不对的,但也许它应该是?编辑:找到另一个,建议使用307。但谷歌的回答会很好:P 也许我自己找到了正确的重定向代码:

我们用多种语言建立了很多网站。URL如下所示:

  • example.com/en/
  • example.com/de/
如果用户访问主域example.com,我们的应用程序会检测/猜测用户的语言,并将其重定向到上述URL之一

到目前为止,我们使用了,因为用户可以返回其他语言设置,然后应该重定向到另一个。但这将导致搜索引擎爬虫无法传递任何链接(排名能力)

做一个永久(301)重定向是不对的,但也许它应该是?

编辑:找到另一个,建议使用307。但谷歌的回答会很好:P

也许我自己找到了正确的重定向代码:

在这种情况下,应该使用另一个URI重复请求;但是,将来的请求仍应使用原始URI。与302的历史实现方式不同,重新发出原始请求时不允许更改请求方法。例如,应该使用另一个POST请求重复POST请求


其他意见?

我建议更改URL的结构。我总是把主要语言放在网站的根上——example.com。我将所有其他语言添加到单独的URL中,例如example.com/fr。您可以使用不同的域、子域、文件夹甚至查询参数(不建议使用后者)。你可以阅读。在这种情况下使用hreflang是必须的


Matt Cuts解释道。

对于语言/国家选择器或自动重定向主页,您应该在hreflang站点地图或hreflang标记中为hreflang值“x-default”添加注释

<link rel="alternate" href="http://example.com/" hreflang="x-default" />
<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />

谷歌网站管理员帮助说: