Traduci le chiavi url quando si cambia negozio


8

Spero che uno possa aiutarmi con questo problema che sto affrontando.

Situazione:

Ho 1 sito Web in 5 lingue (ad esempio esempio.com, esempio.com/it ecc.)

Problema:

Ora ho example.com/about-us ed example.com/it/about-us. Ovviamente voglio che la versione italiana sia come: esempio.com/it/chi-siamo.

Ho cercato di tradurre l'identificatore e di collegarlo in categorie di prodotti per dire "chi-siamo". Il problema è che se provi a passare a un'altra lingua ci vuole quell'identificatore.

Ad esempio: Al momento sono su example.com/it/chi-siamo ma voglio passare alla versione tedesca, che dovrebbe essere example.com/de/ueber-uns. Se passo dall'italiano al tedesco usando il cambio di lingua, ottengo: example.com/de/chi-siamo. Il che dà un 404 .

Qual è la soluzione con cui andare?

Risposte:


4

Non c'è soluzione Magento non lo supporta.

Ho scritto un modulo che controlla l'identificatore e cerca la traduzione nella configurazione, quindi effettua un reindirizzamento.

Quindi hai due opzioni:

  1. scegli una lingua e usala per tutto, non tradurre l'URL
  2. implementare un modulo che fa quello che vuoi.

Invece di descrivere come fare in modo che questo modulo dia un'occhiata a questo: https://github.com/klein0r/magento-language-routes


2
Ti va di condividere il tuo modulo?
Simon,

Scusa, non mi è permesso, se lo fossi io :)
Fabian Blechschmidt,

@FabianBlechschmidt puoi spiegarlo ulteriormente. Vorrei sviluppare questo modulo. Inserisci gli URL di altri negozi nelle pagine di cms per ogni visualizzazione di negozio?
jrosell,

1
aggiunto un collegamento a un modulo che dovrebbe risolvere il problema, se non mi dice, descriverò più in dettaglio come implementarlo.
Fabian Blechschmidt,

1
Grazie. Ho trovato questo modulo che penso di poter adattare. github.com/tzyganu/CmsRewrites
jrosell

2

Suppongo che le tue cinque lingue abbiano ciascuna la propria vista dello store. In tal caso, è possibile implementarlo utilizzando Catalogo> Gestione riscrittura URL per i prodotti - uno per ciascuno store_id- e quindi estendendolo Mage_Catalog_Model_Product_Url::getUrlper cercare una riscrittura specifica del negozio e utilizzarlo al request_pathposto del valore predefinito.


Sì, sto utilizzando diverse visualizzazioni del negozio. Dato che sono un po 'un nooby di Magento, non sono esattamente sicuro di cosa tu voglia dire. Ti dispiacerebbe darmi una guida passo passo :) Sarebbe meraviglioso.
el_machine,

Non vedo questo problema nelle pagine dei prodotti ma nelle pagine dei cms.
jrosell,

1

Non dovresti farlo.

  1. aggiunge un altro livello nell'elaborazione dell'URL. Offre la possibilità di errori e colli di bottiglia nelle prestazioni.

  2. cambiare la lingua diventa molto più difficile, poiché non solo devi collegarti a un altro identificatore di lingua, devi anche recuperare gli URL corretti per ogni lingua (nel caso in cui tu abbia un cambio di lingua sul tuo sito)

  3. non ha quasi alcun vantaggio. Molti browser oggi iniziano persino a nascondere l'URL completo, mostrando solo il dominio o anche solo l'identificatore sul certificato SSL.


Tuttavia, per la SEO conta ancora secondo le mie informazioni?
Melvyn,

0

Se la SEO è la tua principale preoccupazione, allora dovresti semplicemente usare gli attributi rel = "alternate" hreflang = "x" nella tua intestazione per dire ai motori di ricerca (Google) che la pagina visualizzata è una traduzione esatta di un'altra pagina.

Google non solo inizierà a indicizzare le tue pagine tradotte, ma rimuoverà anche eventuali penali di contenuti duplicati per qualsiasi parte della pagina che non è tradotta.

La prima parte è la lingua e la seconda è il paese ("it-it" italiano-italiano o "de-ch" tedesco-svizzera) se è così che stai prendendo di mira. Anche avere sempre un set predefinito.

Esempio da mettere in testa:

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

Questo lo spiega abbastanza bene:

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

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.