切换商店时翻译网址键


8

希望有人可以帮助我解决我面临的这个问题。

情况:

我有5种语言的1个网站(例如example.com,example.com / it等)

问题:

现在,我有了example.com/about-us和example.com/it/about-us。显然,我希望意大利语版本像:example.com/it/chi-siamo。

我一直在尝试翻译标识符并将其链接到产品类别中,例如“ chi-siamo”。问题是,如果您尝试切换到其他语言,它将使用该标识符。

例如:我目前在example.com/it/chi-siamo,但是我想切换到德语版本,应该是example.com/de/ueber-uns。如果我使用语言切换器从意大利语切换为德语,则会得到:example.com/de/chi-siamo。给出404

有什么解决方案?

Answers:


4

没有解决办法。Magento不支持。

我编写了一个模块,该模块检查标识符并在配置中查找翻译,然后进行重定向。

因此,您有两种选择:

  1. 选择一种语言并将其用于所有内容-不要翻译网址
  2. 实现一些您想要的模块。

而不是描述如何使该模块对此有所了解:https : //github.com/klein0r/magento-language-routes


2
介意分享您的模块吗?
西蒙(Simon)

抱歉,如果我愿意的话,我不被允许:)
Fabian Blechschmidt 2015年

@FabianBlechschmidt您可以进一步解释。我想开发这个模块。您在cms页中为每个storeview输入其他商店url?
jrosell'9

1
向应该解决该问题的模块添加了一个链接,如果它没有告诉我,那么我将在更深入的描述中详细介绍如何实现此问题。
Fabian Blechschmidt

1
谢谢。我找到了我认为可以适应的模块。github.com/tzyganu/CmsRewrites
jrosell'9

2

我假设您的五种语言都有自己的商店视图。如果是这种情况,您可以使用产品的目录> URL重写管理(每种产品一个)来实现此目的store_id,然后扩展Mage_Catalog_Model_Product_Url::getUrl以查找特定于商店的重写,并使用它request_path代替默认值。


是的,我正在使用不同的商店视图。由于我有点像Magento Nooby,所以我不确定您的意思。您介意为我提供逐步指南:)太好了。
el_machine 2015年

我在产品页面中没有看到此问题,但是在cms页面中。
jrosell'9

1

你不应该这样做。

  1. 它在url处理中添加了另一层。可能会出现错误和性能瓶颈。

  2. 切换语言变得更加困难,因为您不仅需要链接到另一种语言标识符,而且还需要获取每种语言的正确URL(对于您在网站上进行语言切换的情况)

  3. 它几乎没有好处。如今,许多浏览器甚至开始隐藏完整的URL,仅显示域,甚至仅显示ssl证书上的标识符。


但是,对于SEO而言,根据我的信息仍然很重要吗?
梅尔文

0

如果您最关心SEO,则只需在标题中使用rel =“ alternate” hreflang =“ x”属性即可告诉搜索引擎(Google)正在浏览的页面是另一页面的精确翻译。

Google不仅会开始为您翻译的页面建立索引,还会删除页面中未翻译的任何部分的重复内容罚款。

第一部分是语言,第二部分是国家/地区(“ it-it”意大利语-意大利或“ de-ch”德语-瑞士)(如果您要定位的话)。也总是有一个默认设置。

例子:

<link rel="alternate" href="example.com/about-us" hreflang="x-default" />
<link rel="alternate" href="example.com/about-us" hreflang="en-us" />
<link rel="alternate" href="example.com/it/about-us" hreflang="it-it" /> 
<link rel="alternate" href="example.com/de/about-us" hreflang="pt-pt" />

这很好地解释了这一点:

https://support.google.com/webmasters/answer/189077?hl=zh_CN

https://moz.com/learn/seo/hreflang-tag

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.