cakepp多语言网站seo



在此处http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html#localization-在cakepp中,它被写为

提供多个可用的公共内容是个好主意来自唯一URL的语言-这使得用户(和搜索引擎),以找到他们想要的语言期待。

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

问题1

就SEO而言,这不是很好吗?SE是否对这类事情有一些惩罚——同一个url有多个内容可用?

现在我用俄语搜索一些东西,谷歌会显示带有俄语标题和元描述(或页面上的一些文本)的example.com,所以我点击了那个链接,但因为会话没有设置为俄语,我会看到英语内容。

问题2

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

感谢

是的,让同一个URL加载不同的内容是不好的做法。

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

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

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

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

你也可以使用不同的slugs,但据我所知,大多数默认为英语的网站都会同时使用英语slugs——尤其是如果其他语言使用的字符对URL不友好的话。

编辑:

根据詹姆斯下面的观点,使用子域也可以。

最新更新