Trois façons de déclarer hreflang

Google accepte trois méthodes équivalentes : des balises link dans l'en-tête HTML de chaque page, des en-têtes HTTP (pratique pour les PDF) ou des entrées dans le sitemap XML. Choisissez la plus simple à maintenir pour votre CMS : combiner les trois n'apporte aucun avantage dans les résultats et multiplie les risques d'incohérence.

La syntaxe à respecter

La valeur commence par un code langue ISO 639-1 (fr, en, de), éventuellement suivi d'un code pays ISO 3166-1 alpha-2 : fr-BE pour le français destiné à la Belgique, en-US pour l'anglais destiné aux États-Unis. Un code pays seul n'est pas valide. La valeur x-default désigne la page de repli pour les internautes dont la langue ne correspond à aucune version, typiquement un sélecteur de langue.

Chaque page doit lister toutes les versions, y compris elle-même, et chaque version doit renvoyer vers les autres. Sans ce lien de retour, Google ignore l'annotation.

Ce que hreflang ne fait pas

Google précise qu'il n'utilise ni hreflang ni l'attribut lang pour détecter la langue d'une page : il l'analyse lui-même. Hreflang ne redirige pas non plus les visiteurs et ne fait pas monter une page dans le classement. Il aide seulement à servir la bonne variante parmi des pages que Google a déjà indexées.

Pour vérifier une implémentation, passez le site dans un crawler qui lit hreflang (Screaming Frog, Sitebulb) : il signale les liens de retour manquants et les codes invalides. Dans Search Console, filtrez ensuite les clics par pays pour repérer une version servie au mauvais marché.

Les erreurs fréquentes

  • Liens de retour manquants entre versions.
  • Codes erronés : en-UK au lieu de en-GB, ou uk, qui désigne l'ukrainien.
  • Annotations vers des URL redirigées, en erreur ou en noindex.
  • Canonical d'une version linguistique pointant vers une autre langue.
  • Redirection automatique selon l'adresse IP, qui empêche le robot de voir toutes les versions.