web-dev-qa-db-fra.com

Plusieurs hreflang dans une page peuvent-ils pointer vers la même URL?

Est-il possible pour une page d'inclure plusieurs balises link à l'aide de l'attribut hreflang pour différentes langues mais pointant toutes sur la même URL puisque la détection de la langue et la livraison du contenu associé à cette page sont effectuées sur Apache niveau? (Je suppose qu'il en va de même pour une page dynamique, disons PHP, proposant du contenu dans différentes langues.)

La configuration de mon site utilise une combinaison de MultiView et AddLanguage. Ainsi, lors du chargement de l'URL Host/folder/page, Apache sert réellement Host/folder/page.<lang>.html, ce qui signifie que le contenu de la page peut être en anglais ou en français. en fonction des paramètres de langue du navigateur, mais l’URL à charger reste la même, ce qui me plait.

Beaucoup de réponses que j'ai lues ici ne considèrent qu'un sous-domaine ou un sous-dossier de langue, mais ce n'est pas mon cas car l'URL est la même pour toutes les langues. Puis-je indexer cela correctement en utilisant plusieurs hreflang ou quoi d'autre?

Exemple:
htp://www.nicealias.com/articles/focus_on_renewables.en.html et
htp://www.nicealias.com/articles/focus_on_renewables.fr.html
peut être chargé en utilisant simplement
htp://www.nicealias.com/articles/focus_on_renewables

alors puis-je simplement utiliser ces deux balises ensemble

<link rel="alternate" href="http://www.nicealias.com/articles/focus_on_renewables" hreflang="en">
<link rel="alternate" href="http://www.nicealias.com/articles/focus_on_renewables" hreflang="fr">

dans chaque page, étant donné qu'Apache se chargera de fournir le bon contenu?

2
Paolo

Des codes de langue différents peuvent pointer vers la même page, mais la façon dont vous souhaitez l'utiliser est fausse.

C'est bon:

<link rel=alternate hreflang="en-US" href="http://example.com/en/">
<link rel=alternate hreflang="en-GB" href="http://example.com/en/">

Mais votre exemple n'est pas. Pensez-y: nous voulons tous que les moteurs de recherche explorent toutes les versions linguistiques de nos pages. Mais votre proposition de balisage empêche les moteurs de recherche d'explorer et d'afficher votre contenu en anglais et en français. Lorsque Googlebot explorera votre page, il obtiendra la version anglaise. Il détectera que la version française est également sur la même page (!) Mais ne trouvera aucun contenu français.

La solution à ce que vous faites est x-default. x-default est une valeur spéciale de hreflang utilisée pour pointer vers une page effectuant la détection automatique et la redirection. Donc, vous devriez avoir 3 URL distinctes:

  1. x-default: Cela fait la redirection automatique vers la version anglaise ou française selon le cas.
  2. fr: La version anglaise
  3. fr: La version française.

Avoir 3 URL laissera Google explorer toutes vos versions et les indexer. Et lorsque Google connaît les préférences de recherche de l'utilisateur, celui-ci affiche la page appropriée (EN/FR) dans ses résultats de recherche. Lorsque Google ne connaît pas les préférences de l'utilisateur, il affiche la page x-default afin que l'utilisateur puisse choisir sa propre langue.

1
tinkerr