web-dev-qa-db-fra.com

La combinaison de liens hreflang, balises canoniques et xml: lang sur des sites Web multilingues, multirégionaux et multi-sous-domaines?

J'ai un site Web multilingue et multirégional (utilisant différents sous-domaines) et je ne suis pas sûr de savoir comment gérer ces 3 éléments.

Pour résumer, voici les liens hreflang que je génère sur chaque page (page interne ici):

<link href="http://mywebsite.com/" rel="alternate" hreflang="x-default" title="International" />
<link href="http://uk.mywebsite.com/internal-page" rel="alternate" hreflang="en-GB" title="Internal page">
<link href="http://fr.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr" title="Page interne">
<link href="http://be.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr-BE" title="Page interne">
<link href="http://be.mywebsite.com/nl-be/interne-pagina" rel="alternate" hreflang="nl-BE" title="Interne pagina">
<link href="http://nl.mywebsite.com/nl/interne-pagina" rel="alternate" hreflang="nl" title="Interne pagina">
<link href="http://it.mywebsite.com/it/pagina-interna" rel="alternate" hreflang="it" title="Pagina interna">
<link href="http://ch.mywebsite.com/de/internen-seite" rel="alternate" hreflang="de-CH" title="Internen Seite">
<link href="http://ch.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr-CH" title="Page interne">

Où le domaine par défaut (http://mywebsite.com/) n'est pas une page dédiée au sélecteur de pays (bien qu'un sélecteur de langue de pays se trouve en haut de la page). C'est en fait notre version internationale du site Web qui ne contient que du contenu anglais.

  1. Les liens ci-dessus sont-ils corrects? et l'attribut title est-il pertinent/inutile ou faux?
  2. Les balises canoniques sont des liens absolus. Par exemple. dans une page interne du domaine italien en langue italienne. <link rel="canonical" href="http://it.mywebsite.com/it/pagina-interna">
  3. J'utilise XHTML 1.0. Quelles valeurs dois-je utiliser sur les attributs xml:lang de la balise HTML?
2
Hervé Donner
  1. Votre utilisation de hreflang="x-default" n'est pas correcte. Comme vous l'avez mentionné, votre domaine par défaut n'est pas une page de sélection de pays, mais simplement une page internationale en anglais. Dans ce cas, vous devez simplement utiliser la langue hreflang= sans emplacement:

    <link href="http://mywebsite.com/" hreflang="en" rel="alternate" />
    

    Et cela doit évidemment correspondre aux autres pages de langue équivalente, veillez à utiliser l'URL équivalente spécifique, pas seulement la page d'accueil.

    Dans quel cas, quelque chose pourrait-il être plus pertinent?

    <link href="http://mywebsite.com/internal-page" hreflang="en" rel="alternate" />
    

    Votre utilisation de title= n'est pas correcte car il n'y a aucune référence à son utilisation dans directives de Google .

    Il manque également des barres obliques de fin / à la fin des balises.

En gardant ces points à l’esprit, voici à quoi devraient ressembler vos balises:

        <link href="http://mywebsite.com/internal-page" hreflang="en" rel="alternate" />
        <link href="http://uk.mywebsite.com/internal-page" rel="alternate" hreflang="en-GB" />
        <link href="http://fr.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr" />
        <link href="http://be.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr-BE" />
        <link href="http://be.mywebsite.com/nl-be/interne-pagina" rel="alternate" hreflang="nl-BE" />
        <link href="http://nl.mywebsite.com/nl/interne-pagina" rel="alternate" hreflang="nl" />
        <link href="http://it.mywebsite.com/it/pagina-interna" rel="alternate" hreflang="it" />
        <link href="http://ch.mywebsite.com/de/internen-seite" rel="alternate" hreflang="de-CH" />
        <link href="http://ch.mywebsite.com/fr/page-interne" rel="alternate" hreflang="fr-CH" /">

2. On dirait que vous utilisez les canoniques correctement

Bien que cela ne soit pas incorrect, je pense que votre structure de sous-domaines et de sous-dossiers est peut-être légèrement superflue. Si la langue racine du sous-domaine est la langue par défaut, vous n'avez pas vraiment besoin d'un autre sous-dossier: par exemple:

http://fr.mywebsite.com/fr/page-interne

Pourrait aussi être simplifié (pas besoin du sous-dossier fr]

http://fr.mywebsite.com/page-interne
1
Max