2013-12-09 61 views
0

在这里http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html#localization-in-cakephp它是写CakePHP的多语言网站SEO

这是就可以提供可用的公共内容多从一个独特的URL 语言是一个好主意 - 这很容易让用户(和搜索 引擎)找到他们正在寻找的语言,他们是 期待。

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

问题1

没有这个声音床SEO方面的,也有社会企业对这类事情的一些惩罚 - 具有多重内容相同的URL是否可用?

现在我搜索俄文和谷歌显示我example.com与俄罗斯标题和元描述(或从页面中的一些文本) - 所以我点击该链接,但因为会议没有设置为俄罗斯我会看到英语内容。

问题2

是不是里面有一张床的做法毕竟,因为这将是棘手的用户,因为他们点击的东西,看到别的东西吗?

感谢

回答

1

是的,这是不好的做法,具有相同的URL负载不同的内容。

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

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

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

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

你也可以使用不同的slu but,但从我读过的内容来看,大部分英文默认网站都使用英文slug - 特别是如果其他语言使用不友好的URL。

编辑:

每詹姆斯的点以下,使用子域名会被罚款了。

+0

...或fr.example.com,ru.example.com等。我个人喜欢这个过程,因为它并不意味着语言只是一个子目录,而是应用于根级别的东西。 –

+0

谢谢你的回答,是的,我知道其他的做法,但我不明白为什么它写在蛋糕的官方网站,这是一个好主意,我相信蛋糕开发人员聪明,但在同一时间我不明白他们为什么认为这是一个好主意。谢谢 – dav

+1

@Davo - 我想你误解了。我相信他们建议你为每种语言使用UNIQUE网址(完全像我上面的建议)。会议部分仍然是理想的,应该使用 - 这样,如果有人通过简单的'example.com'回到您的网站,您可以引导他们到他们上次使用的语言。这有点奇怪,但我认为每个人都同意这一点,包括这本书。但我可以看到你如何阅读这种方式。 – Dave