J'espère que l'on peut m'aider avec ce problème auquel je suis confronté.
Situation:
J'ai 1 site Web en 5 langues (par exemple example.com, example.com/it etc.)
Problème:
Maintenant, j'ai example.com/about-us et example.com/it/about-us. Évidemment, je veux que la version italienne ressemble à: example.com/it/chi-siamo.
J'ai essayé de traduire l'identifiant et de le lier dans les catégories de produits pour dire "chi-siamo". Le problème est que si vous essayez de passer à une autre langue, il faut cet identifiant.
Par exemple: je suis actuellement sur example.com/it/chi-siamo mais je veux passer à la version allemande, qui devrait être example.com/de/ueber-uns. Si je passe de l'italien à l'allemand en utilisant le changement de langue, j'obtiens: example.com/de/chi-siamo. Ce qui donne un 404 .
Quelle est la solution?
la source
Je suppose que vos cinq langues ont chacune leur propre vue de magasin. Si tel est le cas, vous pouvez l'implémenter à l'aide de Catalogue> Gestion de la réécriture d'URL pour les produits - un pour chaque
store_id
- puis étendreMage_Catalog_Model_Product_Url::getUrl
pour rechercher une réécriture spécifique au magasin et l'utiliser à larequest_path
place de la valeur par défaut.la source
Vous ne devriez pas le faire.
il ajoute une autre couche dans le traitement des URL. Donne la possibilité d'erreurs et de goulots d'étranglement des performances.
changer de langue devient beaucoup plus difficile, car vous devez non seulement créer un lien vers un autre identifiant de langue, mais également récupérer les URL correctes pour chaque langue (dans le cas où vous avez un changement de langue sur votre site)
il n'a presque aucun avantage. Aujourd'hui, de nombreux navigateurs commencent même à masquer l'URL complète, affichant uniquement le domaine, ou même uniquement l'identifiant sur le certificat SSL.
la source
Si le référencement est votre principale préoccupation, vous devez simplement utiliser les attributs rel = "alternative" hreflang = "x" dans votre en-tête pour indiquer aux moteurs de recherche (Google) que la page consultée est une traduction exacte d'une autre page.
Non seulement Google commencera à indexer vos pages traduites, mais il supprimera également les pénalités de contenu en double pour toute partie de la page qui n'est pas traduite.
La première partie est la langue et la deuxième est le pays ("it-it" italien-Italie ou "de-ch" allemand-Suisse) si c'est ainsi que vous visez. Ayez également toujours un ensemble par défaut.
Exemple à mettre en tête:
C'est ce qui explique assez bien:
https://support.google.com/webmasters/answer/189077?hl=en
https://moz.com/learn/seo/hreflang-tag
la source