Traduzir chaves de URL ao mudar de loja


8

Espero que um possa me ajudar com esse problema que estou enfrentando.

Situação:

Eu tenho 1 site em 5 idiomas (por exemplo, example.com, example.com/it etc.)

Problema:

Agora eu tenho example.com/about-us e example.com/it/about-us. Obviamente, eu quero que a versão italiana seja como: example.com/it/chi-siamo.

Eu tenho tentado traduzir o identificador e vinculado-o nas categorias de produto, digamos "chi-siamo". O problema é que, se você tentar mudar para um idioma diferente, é necessário esse identificador.

Por exemplo: atualmente, estou em example.com/it/chi-siamo, mas quero mudar para a versão alemã, que deve ser example.com/de/ueber-uns. Se eu estiver mudando de italiano para alemão usando a opção de idioma, recebo: example.com/de/chi-siamo. O que dá um 404 .

Qual é a solução a seguir?

Respostas:


4

Não há solução. Magento não suporta isso.

Eu escrevi um módulo que verifica o identificador e olha a tradução na configuração, então ele faz um redirecionamento.

Então você tem duas opções:

  1. escolha um idioma e use-o para tudo - não traduza o URL
  2. implemente algum módulo que faça o que você deseja.

Em vez de descrever como criar este módulo, consulte: https://github.com/klein0r/magento-language-routes


2
Mente em compartilhar seu módulo?
616 Simon

Desculpe, eu não estou autorizado, se eu fosse eu iria :)
Fabian Blechschmidt

@FabianBlechschmidt você pode explicar melhor. Eu gostaria de desenvolver este módulo. Você insere outros URLs de lojas em páginas cms para cada visualização de loja?
Jsell1

11
adicionou um link a um módulo que deveria resolver o problema, se não me disser, descreverei mais detalhadamente como implementar isso.
Fabian Blechschmidt

11
Obrigado. Encontrei este módulo que acho que posso adaptar. github.com/tzyganu/CmsRewrites
jrosell

2

Suponho que seus cinco idiomas tenham uma visão de loja própria. Se for esse o caso, você pode implementar isso usando Catálogo> Gerenciamento de reconfiguração de URL para os produtos - um para cada store_id- e estendendo Mage_Catalog_Model_Product_Url::getUrl- se para procurar uma reescrita específica da loja e usá-la em request_pathvez do padrão.


Sim, estou usando diferentes visualizações da loja. Como sou um nooby do Magento, não sei exatamente o que você quer dizer. Você se importaria de me dar um guia passo a passo :) Seria maravilhoso.
el_machine

Não vejo esse problema nas páginas de produtos, mas nas páginas de cms.
jrosell

1

Você não deve fazê-lo.

  1. ele adiciona outra camada no processamento do URL. Oferece a possibilidade de erros e gargalos de desempenho.

  2. mudar o idioma fica muito mais difícil, pois você não só precisa vincular a outro identificador de idioma, mas também buscar os URLs corretos para cada idioma (no caso de você ter uma opção de idioma no site)

  3. quase não tem benefício. Atualmente, muitos navegadores começam a ocultar o URL completo, mostrando apenas o domínio ou mesmo o identificador no certificado SSL.


No entanto, para SEO, ainda importa de acordo com as minhas informações?
Melvyn

0

Se o SEO é sua principal preocupação, basta usar os atributos rel = "alternate" hreflang = "x" no cabeçalho para informar aos mecanismos de pesquisa (Google) que a página que está sendo visualizada é uma tradução exata de outra página.

O Google não apenas começará a indexar suas páginas traduzidas, como também removerá quaisquer penalidades de conteúdo duplicadas para qualquer parte da página que não seja traduzida.

A primeira parte é o idioma e a segunda é o país ("it-it" italiano-Itália ou "de-ch" alemão-Suíça), se é assim que você está direcionando. Também sempre tenha um conjunto padrão.

Exemplo para colocar na cabeça:

<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" />

Isso explica muito bem:

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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.