Structure correcte d’un jeu hreflang à 21 langues
Chaque page contient 22 balises link[rel=alternate hreflang=...] dans son head : une par langue plus x-default. La valeur de x-default pointe vers la version française, qui est la langue de référence du site. Les codes langue suivent la norme BCP 47 : ’fr’ pour le français, ’en’ pour l’anglais, ’pt-BR’ pour le portugais brésilien, ’zh-Hans’ pour le chinois simplifié.
Le respect de la norme BCP 47 est vérifié via une liste de référence des 21 codes langue utilisés dans le projet. Un code non présent dans cette liste (ex : ’cn’ au lieu de ’zh-Hans’) génère une erreur bloquante. Cette validation est effectuée au moment de la génération, pas après coup.
Vérification des URLs référencées
Chaque URL présente dans un jeu hreflang doit être accessible (HTTP 200) et pointer vers la version canonique de la page. Le pipeline vérifie ces deux conditions sur un échantillon de 100 pages après chaque déploiement. Cette vérification post-déploiement est complémentaire à la validation pré-déploiement : elle capte les erreurs dues à des problèmes d’infrastructure (URL déployée mais non accessible).
Une URL hreflang qui retourne une redirection (301 ou 302) est considérée comme une erreur : l’URL référencée doit être l’URL finale, pas une URL qui redirige. Cette erreur est fréquente lors des migrations d’URLs : les anciennes URLs sont redirigées mais restent présentes dans les balises hreflang de certaines pages.
Réciprocité du graphe hreflang
La réciprocité est une propriété essentielle du graphe hreflang : si la page française référence la page anglaise, la page anglaise doit référencer la page française. Le pipeline vérifie cette réciprocité en construisant le graphe complet des références hreflang et en identifiant les arêtes manquantes.
Les erreurs de réciprocité apparaissent généralement quand une page est disponible dans certaines langues mais pas toutes. Si une page n’a pas de version en arabe, elle ne doit pas apparaître dans le jeu hreflang des autres pages comme cible en arabe. Le système de génération s’assure que x-default et la liste des langues disponibles sont cohérents avec les pages réellement générées.
Questions fréquentes
Google prend-il en compte les balises hreflang dans les sitemaps ou uniquement dans le HTML ?
Les deux méthodes sont acceptées. Nous utilisons la méthode HTML (balises dans le head) car elle est plus facile à maintenir en cohérence avec le contenu de chaque page. La méthode sitemap est utile pour les sites qui ne contrôlent pas le HTML servi, comme certaines plateformes SaaS.
Bing supporte-t-il les balises hreflang de la même façon que Google ?
Bing supporte les balises hreflang mais son traitement est moins documenté. Les observations terrain montrent que Bing respecte les balises hreflang pour le ciblage géographique mais avec un délai de prise en compte plus long que Google. Nous maintenons les mêmes balises pour les deux moteurs.