web-dev-qa-db-fra.com

Utiliser correctement l'URL canonique et alternative?

Je ne suis pas sûr de gérer correctement le lien canonique et la balise alternative.

Exemple: un produit "tshirt" avec plusieurs versions (bleu, rouge)

Version bleu: DE URL: ..de/kleidung/tshirt-de-blue

<link rel="canonical" href="...de/kleidung/tshirt-de"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de-blue"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en-blue">

EN URL: ... de/en/fashion/tshirt-en-blue

<link rel="canonical" href="...de/en/fashion/tshirt-en"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de-blue"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en-blue">

Version rouge: DE URL: ..de/kleidung/tshirt-red

<link rel="canonical" href="...de/kleidung/tshirt-de"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de-red"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en-red">

EN URL: ... de/en/fashion/tshirt-red

<link rel="canonical" href="...de/en/fashion/tshirt-en"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de-red"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en-red">

Il existe une URL générale pour le produit

Version générale: DE URL: ..de/kleidung/tshirt-de

<link rel="canonical" href="...de/kleidung/tshirt-de"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en">

EN URL: ..de/en/fashion/tshirt-en

<link rel="canonical" href="...de/en/fashion/tshirt-en"> <rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de"> <rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en">

Ainsi, le canonique pour chaque version et langue est défini le canonique sur l'url de langue générale et définissez des balises alternatives dans l'autre langue de la version spécifique.

La version générale est canonique et ajoute la balise alternative à l'autre langue à partir de la version générale.

Est-ce la bonne façon ? Dois-je supprimer l'altenate des versions spécifiques? Le canonique de chaque langue doit-il être défini sur la même langue (par défaut)?

4
CodeRocker

Salut @WarrenH et @Maximillian Laumeister,

merci pour vos réponses. J'ai trouvé ce site Web: https://www.searchviu.com/en/hreflang-canonical/

et si je le comprends. La solution est:

Version bleu:

DE URL: ..de/kleidung/tshirt-de-blue

<link rel="canonical" href="...de/kleidung/tshirt-de">

EN URL: ... de/en/fashion/tshirt-en-blue

<link rel="canonical" href="...de/en/fashion/tshirt-en">

Version rouge: DE URL: ..de/kleidung/tshirt-red

<link rel="canonical" href="...de/kleidung/tshirt-de">

EN URL: ... de/en/fashion/tshirt-red

<link rel="canonical" href="...de/en/fashion/tshirt-en">

Il existe une URL générale pour le produit

Version générale:

DE URL: ..de/kleidung/tshirt-de

<link rel="canonical" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en">

EN URL: ..de/en/fashion/tshirt-en

<link rel="canonical" href="...de/en/fashion/tshirt-en">
<rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en">
3
CodeRocker

Edit: Je ne suis pas entièrement sûr que cette réponse soit correcte, comme l'a souligné WarrenH dans les commentaires. Cependant, je le laisse parce qu'il (et les commentaires de Warren) ont des informations potentiellement utiles.

Le rel=alternate tag est utilisé pour spécifier différentes représentations de la même page, et l'attribut hreflang est plus spécifiquement pour spécifier une représentation de langage (humaine) différente. Vous ne voudriez surtout pas utiliser l'attribut hreflang pour spécifier les variations de produit, c'est uniquement pour les langues.

En savoir plus sur le rel=alternate attribut ici:

http://microformats.org/wiki/rel-alternate

Le rel=alternate L'attribut est un attribut relativement polyvalent - vous pouvez l'utiliser pour spécifier différentes versions linguistiques, versions mobile vs ordinateur de bureau, et versions humaines vs lisibles par machine du même contenu.

À titre d'exemple, je pense que vous voulez prendre votre code actuel:

<link rel="canonical" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de-blue">
<rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en-blue">

et changez-le en ceci:

<link rel="canonical" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="de" href="...de/kleidung/tshirt-de">
<rel="alternate" hreflang="en" href="...de/en/fashion/tshirt-en">

Ceci spécifie la représentation dans une autre langue de la page canonique.

Il pourrait être possible de spécifier une version de produit différente en utilisant la balise alternate mais sans hreflang, mais je ne sais pas s'il existe une norme pour Faisant cela. Votre site ira bien sans lui.

2