Espero que uno pueda ayudarme con este problema que estoy enfrentando.
Situación:
Tengo 1 sitio web en 5 idiomas (por ejemplo, ejemplo.com, ejemplo.com/it, etc.)
Problema:
Ahora tengo example.com/about-us y example.com/it/about-us. Obviamente quiero que la versión italiana sea como: example.com/it/chi-siamo.
Intenté traducir el identificador y lo vinculé en categorías de productos para decir "chi-siamo". El problema es que si intenta cambiar a un idioma diferente, toma ese identificador.
Por ejemplo: actualmente estoy en example.com/it/chi-siamo pero quiero cambiar a la versión alemana, que debería ser example.com/de/ueber-uns. Si cambio de italiano a alemán usando el cambio de idioma, obtengo: example.com/de/chi-siamo. Lo que da un 404 .
¿Cuál es la solución para ir?
fuente
Supongo que sus cinco idiomas tienen cada uno su propia vista de la tienda. Si ese es el caso, puede implementar esto usando Catálogo> Gestión de reescritura de URL para los productos, uno para cada uno
store_id
, y luego extendiéndoseMage_Catalog_Model_Product_Url::getUrl
para buscar una reescritura específica de la tienda y usarla enrequest_path
lugar de la predeterminada.fuente
No deberías hacerlo.
agrega otra capa en el procesamiento de URL. Da la posibilidad de errores y cuellos de botella de rendimiento.
cambiar el idioma se vuelve mucho más difícil, ya que no solo necesita vincular a otro identificador de idioma, también debe buscar las URL correctas para cada idioma (para el caso de que tenga un cambio de idioma en su sitio)
No tiene casi ningún beneficio. Muchos navegadores hoy en día incluso comienzan a ocultar la url completa, solo muestran el dominio, o incluso solo el identificador en el certificado ssl.
fuente
Si el SEO es su principal preocupación, entonces simplemente debe usar los atributos rel = "alternate" hreflang = "x" en su encabezado para decirle a los motores de búsqueda (Google) que la página que se está viendo es una traducción exacta de otra página.
Google no solo comenzará a indexar sus páginas traducidas, sino que también eliminará cualquier penalización por contenido duplicado para cualquier parte de la página que no esté traducida.
La primera parte es el idioma y la segunda es el país ("it-it" Italiano-Italia o "de-ch" alemán-Suiza) si así es como se está apuntando. También siempre tiene un conjunto predeterminado.
Ejemplo para poner en cabeza:
Esto se explica bastante bien:
https://support.google.com/webmasters/answer/189077?hl=en
https://moz.com/learn/seo/hreflang-tag
fuente