cakephp多语言网站seo

时间:2013-12-09 22:01:20

标签: cakephp seo

在这里http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html#localization-in-cakephp写的是

  

提供多个公共内容是个好主意   来自唯一URL的语言 - 这使用户(以及搜索)变得容易   引擎)以他们所用的语言找到他们正在寻找的东西   期待。

假设我有一个以英语和俄语创建的网站。默认语言是英语,因此当我打开example.com时,它是英语。如果我点击俄语链接,页面将被重新加载(会话变量Config.language被设置为rus)并且同一页面example.com变为俄语。因此,假设,SE会抓取我的网站并拥有相同的网页example.com,内容为2种不同的语言。

问题1

对于搜索引擎优化而言,这听起来不是很好吗?SE会对这些事情有一些惩罚 - 同一个网址有多个内容可用吗?

现在我用俄语搜索一些内容,谷歌向我显示俄语标题和元描述(或页面上的一些文字){ - 1}} - 所以我点击该链接,但因为会话未设置为俄语我会看到英文内容。

问题2

毕竟这不是一种床上练习,因为它对用户来说会很棘手,因为他们点击某些东西并看到别的东西吗?

由于

1 个答案:

答案 0 :(得分:1)

是的,让相同的网址加载不同的内容是不好的做法。

我见过的常见做法是使用语言前缀。例如:

example.com/eng/articles/article123
example.com/rus/articles/article123

example.com/en/articles/article123
example.com/ru/articles/article123

然后,在AppController中,您可以检测前缀(在路由中设置之后),并根据该前缀设置您要使用的语言。

你也可以使用不同的slu,但是从我读过的内容来看,大多数英文版网站默认使用英文版 - 特别是如果其他语言使用的是不符合URL的字符。

修改

Per James指出,使用子域名也没关系。