【问题标题】:i18n URL format with language parameter always in URL带有语言参数的 i18n URL 格式始终在 URL 中
【发布时间】:2013-05-16 07:19:27
【问题描述】:

我正在开发一个新网站,我有一个关于内部化 (i18n) 和 SEO 的问题。

情况就是这样。我正在使用这个 CodeIgniter code 将我的网站翻译成 2 种语言。 假设这些语言是英语和荷兰语。

使用此代码时,访问 mydomain.com 的人会被重定向到 mydomain.com/en/defaultcontrollername 其中英语是默认语言。

我将有一个简单的选择框,用户可以在其中切换到荷兰语。然后,url 将是相同的,除了“en”被替换为“nl”。

现在我的问题是:就 SEO 而言,默认语言始终出现在 URL 中是不好的做法吗?另外,打开 mydomain.com 后立即重定向到 mydomain.com/en/defaultcontrollername 对 SEO 有影响吗?

总是使用默认语言并首先显示它更好,还是根据浏览器标题“猜测”语言?

最后但同样重要的是:我是否还必须翻译我的控制器名称。

【问题讨论】:

  • 那么你到底想要什么?...我的意思是你总是需要'en'和'nl'在你的网址中说语言标识符?
  • 这段特殊的 CodeIgniter 总是在 URL 中提供语言参数。我不确定这是否是最好的方法。
  • 好的...即使是一次也完全不需要提供语言参数...我最近做了一个网站,支持四种没有语言的 url 中的语言...您能做的是存储您的默认语言在 cookie 中说“en”并为 en 映射语言文件并从 der 加载内容...如果用户更改语言然后用新语言替换 cookie 中的值并将其映射到与值相同的语言文件的路径在 cookie 中...所以你不需要更改 Url
  • 我知道您可以使用 cookie 和会话。但这对于 SEO 而言似乎真的很糟糕。

标签: codeigniter url-rewriting internationalization seo


【解决方案1】:

见:How should I structure my urls for both SEO and localization?

拥有该语言的文件夹(或子域,或顶级域)是优化 SEO 的首选设置。

您可以翻译 URL 本身中的单词(在您的情况下为控制器名称)。

  • 它使 URL 看起来对非英语用户更具吸引力。
  • 任何非 ASCII 字符都必须经过 URL 编码 (UTF-8)。
  • 即使包含几个国际字符,URLS 也会变得很长。
  • 浏览器通常会在 URL 栏中显示未编码的 URL,但它们会被复制和粘贴编码。

【讨论】:

  • 所以在 URL 中总是包含语言是可以的,即使是默认语言?谢谢
  • 是的,即使是默认语言也可以。维基百科就是这样做的。
猜你喜欢
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-01
相关资源
最近更新 更多