web-dev-qa-db-fra.com

Problème avec les paramètres d'URL hreflang, canoniques et spammés (aucune balise de retour)

Je suis confronté à des problèmes de paramètres de spam dans la console de recherche Google.

J'ai une page multilingue (à des fins d'illustration, disons que l'URL est https://www.example.com/page1.html ). La page est traduite en plusieurs langues ( https://fr.example.com/page1.html , https://de.example.com/page1.html , etc).

J'ai ajouté les balises hreflang à chaque version de la page comme ceci:

<link rel="alternate" href="https://fr.example.com/page1.html" hreflang="fr"/>
<link rel="alternate" href="https://de.example.com/page1.html" hreflang="de"/>
<link rel="alternate" href="https://www.example.com/page1.html" hreflang="x-default"/>

Le problème auquel je suis confronté est que Google est en train d'explorer les URL nommées comme suit:

https://fr.example.com/page1.html?some_spammy_param=more_spam

et on se plaint du fait que les pages alternatives ne renvoient pas à celle-ci (car évidemment, je ne veux pas inclure les paramètres spammy générés automatiquement dans mes paramètres hreflang!).

Dans un site en une seule langue, cela serait résolu en ajoutant une balise canonique, mais Google déconseille d'utiliser la balise canonique dans les sites multilingues.

1
tomorrow__

Google dit :

Q: Puis-je utiliser rel=canonical avec rel-alternate-hreflang?

R: Nous vous recommandons de ne pas utiliser rel=canonical dans différentes versions de langue ou de pays. Son utilisation dans la même version langue/pays est acceptable et constitue l’un des moyens recommandés de gestion de la canonisation.

En d'autres termes:

Ne marquez pas une langue aussi canonique que l'autre. /fr/page.html est PAS identique à /de/page.html il ne devrait pas exister de balise canonique qui en marque une aussi canonique que l'autre. . Si vous marquez les pages fr et de comme canoniques, l'un de ces deux apparaîtra NOT, même pour les utilisateurs qui parlent cette langue.

Il est bon d’utiliser une balise canonique tant qu’elle pointe vers la même langue. En fait, nous vous recommandons de le faire.

Il est complètement compatible avec hreflang. Hreflang est censé pointer entre différentes langues. rel = canonique ne peut pointer qu'avec la même langue.

Chaque page dans chaque langue peut avoir une balise canonique. Avec canonique et hreflang, cela ressemblerait à ceci:

  • https://fr.example.com/page1.html:

    <link rel="canonical" href="https://fr.example.com/page1.html">
    <link rel="alternate" href="https://de.example.com/page1.html" hreflang="de"/>
    <link rel="alternate" href="https://www.example.com/page1.html" hreflang="x-default"/>
    
  • https://fr.example.com/page1.html?some_spammy_param=more_spam:

    <link rel="canonical" href="https://fr.example.com/page1.html">
    <link rel="alternate" href="https://de.example.com/page1.html" hreflang="de"/>
    <link rel="alternate" href="https://www.example.com/page1.html" hreflang="x-default"/>
    
  • https://www.example.com/page1.html:

    <link rel="canonical" href="https://www.example.com/page1.html">
    <link rel="alternate" href="https://fr.example.com/page1.html" hreflang="fr"/>
    <link rel="alternate" href="https://de.example.com/page1.html" hreflang="de"/>
    
  • ...
1