2012-01-08 62 views
5

我想知道什么是实现基于多语言模板的网站的最佳方式。所以说,我想提供我的网站英语和德语有一些不同的方法。我的兴趣主要是关于搜索引擎优化,所以这将是搜索引擎的最佳方式。什么是在网站上使用多种语言的最佳方式?

,我经常看到使用不同的目录为每种语言,例如www.example.com英语和www.example.com/de/的德语翻译的第一种方式。这样做的缺点是:更改文件时,必须手动更改每个目录中的ist。而对于搜索引擎来说,这两个目录会成为重复的内容,不是吗?

我知道只是使用像www.example.com?lang=de一些GET值,然后设置一个cookie的第二种方式。但这样搜索引擎可能不会找到不同的语言。

所以有另一种方式或哪一个是最好的?

回答

6

我在国际化的网站上工作到今年。我们总是从搜索引擎优化大师的建议是区分基于URL的语言 - 所以,www.example.com/en和www.example.com/de。

我觉得这对用户来说也更好;如果我用德语书签一个页面,那么当我回到它时,即使我的Cookie已经过期,我也会用德语获得一个页面。同样,我可以做一些事情,比如在Facebook上发布网址,并让我的说德语的朋友点击它并获得德文网站。

请注意,如果您的网站提供的多个国家,你应该处理与语言沿着这些 - 所以,你可能有example.com/de-DE,example.com/en-GB,example.com/en-IE,等

但是,这不应该涉及重复。相反,您应该设置应用程序以处理URL,提取区域信息,然后将请求内部转发到与区域无关的页面。因此,对example.com/de-DE/info的请求和对example.com/en-IE/info的请求都应该传递给/info.jsp(或者我猜你的情况是info.php)。然后应该使用页面级本地化机制对该页面进行编码,以使用适当的语言发布文本。如果你希望自己被局部的(例如example.org/de-DE/anmelden VS example.org/en-IE/sign-in)的URL

事情有点棘手。但是,同样的原则适用于:提取区域设置,然后转发到通用页面。不同之处在于,在确定来自URL的页面时必须有更多的复杂性;您需要将URL中的自然语言映射到页面文件名。

相关问题