做一个友好的多语言网站

Posted

技术标签:

【中文标题】做一个友好的多语言网站【英文标题】:make a friendly multi-language website 【发布时间】:2011-11-28 22:44:17 【问题描述】:

只是为了说明清楚。

我正在尝试弄清楚如何使用语言选择器构建网站。

语言选择器只是刷新当前页面但改变会话变量“语言”(如果用户第一次进入我将其设置为“eng”)。

现在让我们弄清楚爬虫的行为方式,它访问网站并自动为其选择语言,因此它基本上可以识别网站语言并将其分类为“eng”。

我只是不确定这是构建多语言网站的正确方法,因为爬虫不会再次以不同的语言扫描页面,对吗? (或者也许它可以检测到语言已被修改并重新扫描所有页面......这听起来有点花哨)。所以页面不会在搜索引擎数据库中引用。那么构建这类网站的正确方法是什么?

编辑:我正在考虑 mod_rewrite,你认为这是一个很好的解决方案吗?

【问题讨论】:

让语言出现在 URL 的某处。喜欢site.com/en/en.site.comsite.com/?lang=en。这样,爬虫最终会到达不同语言的 URL。 不要关心搜索引擎。关心你的用户和你的内容……顺便说一句。 456bereastreet.com/archive/200901/… 请注意...您可以设置每页的文档语言...因此您可以在脑海中定义 或 之类的内容.搜索引擎会注意这一点... @gearsdigital 我当然关心用户,这就是为什么我试图弄清楚如何以不同的语言引用相同的内容,以便一组外国人可以访问我的网站。 @Oddantfr 是的,它确实关心他们。它会尝试通过将它们带走将它们减少到最低限度,但如果内容不同,它将使用它们。在 Google 中运行此 inurl:?lang=en 以查看 URL 中带有语言变量的索引页面的数量。 【参考方案1】:

通过将语言设置为 url 属性来解决这个问题:

www.example.com/en/

www.example.com/fr/

它们将能够抓取和处理不同语言的内容。

更多解释here

【讨论】:

那么路径格式呢? www.example.com/fr/home(home 不是真正的法语,它会限制我的网站被引用的方式吗?) 你可以通过你的 mod_rewrite 来解决这个问题,就像你想显示的一样干净,有些人会保持原样(即google.com/support/accounts/?hl=fr)【参考方案2】:

我正在考虑 mod_rewrite,你认为这是一个很好的解决方案吗?

是的。

【讨论】:

以上是关于做一个友好的多语言网站的主要内容,如果未能解决你的问题,请参考以下文章

使用 ASP.NET MVC 的多语言网站

php网站中英文切换

纸壳CMS可视化建站系统搭建多语言网站

网站多语言切换插件

多语言 django 网站上的搜索功能

.htaccess 多语言网站规则