Générateur de groupes hreflang
Données d’exemple — remplacez-les par les vôtres
Ajoutez une ligne pour chaque version linguistique de la même page. Le paramètre linguistique peut être détecté à partir de l’URL et chaque page peut avoir son propre x-default facultatif.
| hreflang | URL | x-default (facultatif, par écran) | Supprimer la ligne |
|---|
Définissez un modèle d’URL par langue avec {path} comme espace réservé, puis collez un chemin par ligne.
| hreflang | Modèle d’URL | x-default modèle d’url (facultatif, par écran) | Supprimer la ligne |
|---|
Collez des lignes CSV/TSV au format langue,url ou un fichier sitemap.xml contenant des entrées xhtml:link. L’analyse s’effectue entièrement dans votre navigateur.
Ajoutez une langue et une URL ci-dessus pour afficher le résultat. S’exécute entièrement dans votre navigateur : rien de ce que vous collez n’est envoyé ni stocké. Des compteurs anonymes de résultats par exécution peuvent servir à la recherche agrégée ; les URL, domaines, adresses IP et identifiants ne sont jamais inclus, et aucune statistique issue de moins de 100 exécutions n’est publiée.
Récupérez une page déjà déployée : nous lisons ses annotations hreflang en ligne, puis récupérons chaque URL alternative déclarée (jusqu’à 25) afin de vérifier les liens de retour et les autoréférences.
+ enregistre le site ou la page actuels. Utilisez ☆ à côté de tout site, page ou liste enregistré pour l’ajouter aux favoris. L’historique des vérifications récentes apparaît ci-dessous.
Créer une liste nommée
Cible remplie à partir de vos choix locaux.
Passeport du site Contexte local de ce site enregistré
Données locales
Les cibles enregistrées, les listes nommées et les résumés des vérifications récentes restent uniquement dans ce navigateur.
Évaluer cet outil
Les contrôles sont exécutés depuis notre serveur ; nous récupérons l’URL saisie et ne conservons pas les résultats. Des compteurs anonymes de résultats par exécution peuvent servir à la recherche agrégée ; les URL, domaines, adresses IP et identifiants ne sont jamais inclus, et aucune statistique issue de moins de 100 exécutions n’est publiée.
Rapport d’exemple pour l’outil
Un site anglais aux États-Unis et au Royaume-Uni, avec un repli générique en et un x-default, produit des balises head comme celles-ci :
<link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
<link rel="alternate" hreflang="en" href="https://example.com/us/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" /> …et l’exécution de ce cluster dans le validateur intégré signale :
Les codes sont normalisés automatiquement. Saisissez en-us ou en-US : le générateur émet toujours la région en majuscules (en-US), si bien qu’une erreur de casse ne devient jamais un problème.
Le en générique
enrend l’ensemble propre. Il couvre les anglophones hors des États-Unis et du Royaume-Uni qui ne correspondraient sinon à rien ; voir les variantes régionales sans repli générique.x-defaultcouvre tous les autres ; voir x-default manquant pour voir ce qui se passe sans lui.La bidirectionnalité ne se voit pas dans les balises d’une seule page ; comme ce générateur émet le même bloc complet sur chaque page de l’ensemble, chaque URL listée renvoie automatiquement aussi vers celle-ci.
Pour tester une erreur, collez
en-ukau lieu deen-gbet le validateur signale une erreur qui indique la correction ; voir la syntaxe des codes.
Comment utiliser l’outil
Ajoutez une ligne par page et une colonne par langue ou région, puis renseignez chaque URL.
Facultativement, définissez un x-default par ligne et importez un sitemap existant pour créer un cluster.
Copiez les balises head, le XML du sitemap ou les en-têtes HTTP Link ; chaque page reçoit un cluster bidirectionnel complet.
Collez un balisage publié ou vérifiez une URL pour repérer les erreurs courantes avant la mise en ligne.
Fonctionnement (et pannes de hreflang)
À utiliser lorsque vous contrôlez les modèles HTML des pages habituelles.
C’est généralement le choix le plus clair : rendez le même cluster complet dans le head de chaque page.
À utiliser lorsque les modèles sont difficiles à modifier ou que vous gérez de nombreuses variantes d’URL de façon centralisée.
Utilisez les entrées xhtml:link de manière cohérente et gardez le sitemap à la portée des robots.
À utiliser lorsque l’alternative est un fichier non HTML.
C’est l’option pratique pour les fichiers sans head HTML. Évitez de mélanger les méthodes sans raison.
hreflang indique aux moteurs de recherche quelles éditions linguistiques ou régionales d’une page existent afin que chaque internaute reçoive la bonne. Trois méthodes sont équivalentes : les balises <link rel="alternate"> dans le <head>, les entrées xhtml:link d’un sitemap XML ou les en-têtes HTTP Link, seule option pour les PDF et autres fichiers non HTML. Choisissez une méthode par page ; mélanger les méthodes crée des conflits.
Deux règles font échouer la plupart des implémentations : chaque page doit contenir une entrée autoréférente et chaque paire doit être bidirectionnelle ; si A liste B, B doit lister A en retour, sinon la paire est ignorée. Comme ce générateur émet le cluster complet sur chaque page, les deux règles sont respectées automatiquement.
Variantes régionales sans repli générique
Si vous publiez en-US et en-GB sans en générique, les internautes anglophones d’autres marchés ne correspondent à rien et Google choisit à leur place. Ajoutez une entrée en générique, qui peut pointer vers la page régionale considérée comme la version par défaut.
x-default manquant pour la page
x-default désigne la page à servir aux utilisateurs qui ne correspondent à aucune langue déclarée, généralement un sélecteur de langue ou votre version principale. C’est facultatif ; cet outil le signale seulement, mais mieux vaut l’expliciter que laisser l’algorithme choisir.
Une page autonome de sélection de langue doit elle aussi porter les annotations : placez-y le même bloc de balises head ; la ligne x-default est son autoréférence, ce qui maintient la bidirectionnalité du cluster. Dans le sitemap, une URL de sélecteur qui n’est pas une page dans une langue reçoit automatiquement sa propre entrée <url> annotée.
x-default est aussi une indication propre à chaque page : les pages d’un même cluster peuvent pointer vers des x-default différents — la page française vers un sélecteur français, la page anglaise vers un sélecteur anglais. Utilisez la colonne x-default par ligne ; si les pages diffèrent, la sortie passe à un bloc par page et chaque sélecteur différent reçoit sa propre entrée de sitemap annotée.
http/https mélangés et barres finales incohérentes
Les URL hreflang doivent correspondre exactement à l’URL canonical. Si une partie des entrées utilise http:// ou omet la barre finale vers laquelle votre site redirige, ces alternatives passent par des redirections que Google écarte souvent. Utilisez la forme finale et canonical de chaque URL.
Codes de langue obsolètes
Quelques codes ISO 639-1 ont été renommés mais subsistent dans d’anciens fichiers issus de systèmes de contenu : in → id (indonésien), iw → he (hébreu), ji → yi (judéo-allemand). Les moteurs tolèrent généralement les anciennes formes, mais utilisez les codes modernes.
Syntaxe des codes
Les valeurs sont langue ou langue-RÉGION : une langue ISO 639-1 de deux lettres, avec éventuellement une région ISO 3166-1 alpha-2. Le piège classique est en-uk : le code de région du Royaume-Uni est GB. Les sous-étiquettes de script comme zh-Hant / zh-Hans sont également valides. Les tirets bas (en_US) ne le sont pas. La correspondance ignore la casse ; la casse est donc cosmétique.
Parcourir les codes de langue et de région
Recherchez les codes de langue ISO 639-1 et de région ISO 3166-1 acceptés par le générateur. Les alias obsolètes apparaissent avec leur remplacement.
Langues de l’outil (188)
Régions de l’outil (249)
Méthodologie
L’outil construit le cluster à partir d’une ligne par URL et par langue, normalise les sous-étiquettes et émet le même ensemble complet, avec autoréférences, pour chaque page. Il applique ensuite des règles déterministes aux codes, URL, doublons, protocoles, barres finales, x-default et à la réciprocité. Pour une vérification publiée, il récupère l’URL fournie et jusqu’à 25 alternatives afin de comparer les liens de retour, les autoréférences et la canonicalisation. Tout se passe dans le navigateur, sauf la requête facultative de vérification publiée.
Fonctionnalités de l’outil
Générer un cluster complet et bidirectionnel pour chaque ensemble de pages, avec autoréférences.
Exporter les balises head, le XML du sitemap avec découpage automatique au-delà de 50 000 URL, les en-têtes HTTP Link et des extraits pour les frameworks web.
Normaliser les codes de langue et de région et détecter les tirets bas, les codes obsolètes et les régions invalides.
Vérifier les langues et URL en double, les protocoles mixtes, les barres finales incohérentes, les défauts de réciprocité et l’absence de x-default.
Importer des lignes CSV ou TSV ou des entrées xhtml:link d’un sitemap et exécuter toute l’analyse dans le navigateur.
Vérifier une URL publiée et jusqu’à 25 alternatives déclarées pour les liens de retour et les autoréférences.
Limites de l’outil
Il s’exécute dans le navigateur ; l’entrée collée et la génération locale n’interrogent pas une base de recherche.
La vérification d’une URL publiée dépend de son accessibilité et est limitée à 25 alternatives et à un corps décodé de 2 Mio.
Le validateur vérifie ce que vous fournissez ; il ne confirme ni l’indexation Google, ni le contenu privé, ni le choix d’une URL par un moteur.
Le découpage du sitemap s’applique à la sortie générée au-delà de 50 000 URL ; le téléchargement contient l’index et chaque partie.
Questions fréquentes pour l’outil
Où placer les balises hreflang : dans le head, le sitemap ou un en-tête HTTP ?
Les trois options sont équivalentes, mais choisissez une seule méthode par page. Utilisez des balises <link rel="alternate"> dans le head HTML, des entrées xhtml:link dans un sitemap XML ou un en-tête HTTP Link — la seule option pour les fichiers non HTML comme les PDF. Mélanger les méthodes sur une même page favorise les conflits.
Qu’est-ce que x-default et dois-je l’utiliser ?
x-default désigne la page à servir aux utilisateurs qui ne correspondent à aucune des versions locales déclarées — généralement un sélecteur de langue ou votre version principale. C’est facultatif, mais il vaut mieux le déclarer explicitement que laisser l’algorithme choisir ; il est recommandé pour la plupart des sites.
Pourquoi mes balises hreflang sont-elles ignorées ?
Presque toujours pour l’une de ces trois raisons : les annotations ne sont pas réciproques (la page A liste B, mais B ne renvoie pas vers A), une page n’a pas son entrée autoréférente, ou les URL ne correspondent pas à la forme canonique (http contre https, ou barre oblique finale redirigée par votre site) et passent par des redirections. Ce générateur produit un cluster réciproque complet avec des références à soi-même pour éviter les deux premières causes.
Les balises hreflang et canonical sont-elles en conflit ?
Elles doivent être cohérentes. Chaque version linguistique doit avoir une canonical autoréférente (qui pointe vers elle-même et non vers une autre langue), et chaque URL hreflang doit être la forme canonique de cette page. Une balise hreflang qui pointe vers une URL non canonique ou redirigée est souvent ignorée.
en-uk est-il une valeur hreflang valide ?
Non. Le code de région du Royaume-Uni est GB ; utilisez donc en-gb. Les valeurs hreflang se composent d’un code de langue ISO 639-1 et d’un code de région ISO 3166-1 alpha-2 facultatif ; en-uk est l’erreur la plus courante.
Problèmes courants et solutions
- Erreur langue code est non valide Solution : Remplacez la sous-étiquette de langue par un code ISO 639-1 valide, comme en, fr ou de.
- Erreur région code est non valide Solution : Remplacez la sous-étiquette de région par un code ISO 3166-1 alpha-2 valide en majuscules, comme US ou GB.
- Erreur hreflang utilise un trait de soulignement au lieu d’un trait d’union Solution : Remplacez le séparateur de langue par un trait d’union, par exemple en_US par en-US.
- Erreur La langue est déclarée plusieurs fois Solution : Conservez une seule URL alternative par valeur langue-région et supprimez ou fusionnez la ligne en double.
- Avertissement Une URL est attribuée à plusieurs locales Solution : Attribuez chaque URL alternative à sa langue réelle et supprimez toute seconde langue qui pointe vers la même page localisée.
- Avertissement x-default alternate est manquant Solution : Ajoutez une URL alternative x-default qui pointe vers le sélecteur de langue neutre ou vers la page par défaut la plus adaptée aux utilisateurs sans correspondance.
- Erreur Alternate URL est non valide Solution : Corrigez l’URL alternative afin d’utiliser une URL http:// ou https:// valide, sans espace ni caractère incorrect.
- Erreur L’URL alternative n’est pas absolue Solution : Développez l’URL alternative relative en URL canonique https:// complète, avec le nom d’hôte et le chemin.