Générateur hreflang — créez des balises pour sites multilingues
Sans hreflang, Google peut considérer vos pages traduites comme dupliquées et afficher la version dans la mauvaise langue dans les résultats. Convertissez un ensemble d’URLs de langue en balisage hreflang sous trois formes : balises <link>, en-tête HTTP Link et sitemap <xhtml:link>. Étapes : collez chaque URL de langue avec son code, choisissez une forme et copiez l’extrait généré. Chaque URL reçoit sa propre annotation d’autoréférence, et un repli x-default facultatif peut être ajouté. Fonctionne entièrement sur votre appareil : rien n’est envoyé. Exemple : trois versions d’une page en en, es et ja.
Comment ça marche
Le générateur analyse chaque ligne en un code de langue et une URL, puis rend le même ensemble de relations sous trois formes. La forme <link> se place dans le <head> de chaque page. La forme d’en-tête HTTP Link est envoyée dans la réponse du serveur. La forme sitemap intègre <xhtml:link> dans chaque bloc <url>. Chaque URL reçoit une annotation hreflang d’autoréférence, et l’entrée x-default facultative couvre les visiteurs dont la langue n’est pas listée.
Règles utilisées par le générateur
Ces règles proviennent de Google Search Central et de la norme BCP 47 de tags de langue.
- Chaque version linguistique doit inclure une annotation hreflang d’autoréférence qui pointe vers sa propre URL. L’omettre affaiblit le signal.
- Chaque URL doit être listée depuis toutes les versions : l’ensemble complet des alternatives apparaît sur chaque page, pas seulement dans un sens.
- Les codes de langue utilisent BCP 47 : une langue de deux lettres, éventuellement une région (en-US) et éventuellement un système d’écriture (zh-Hans). x-default est le code de repli spécial.
- x-default pointe vers la page affichée quand aucune langue listée ne correspond, par exemple une racine anglaise. Google peut l’utiliser comme repli pour toutes les langues non détectées.
- Choisissez une seule forme de diffusion par ensemble : les balises <link> dans le HTML, l’en-tête HTTP Link ou le xhtml:link dans le sitemap. Ne mélangez pas les formes pour le même ensemble, sinon les signaux peuvent se contredire.
Exemple
L’exemple liste trois versions d’une page : https://example.com/ (en), https://example.com/es/ (es) et https://example.com/ja/ (ja). Les balises <link> générées incluent les autoréférences de chaque langue, plus un x-default facultatif pointant vers la racine anglaise.
Bonnes utilisations
- Lancer un site multilingue : générez les balises <link> une fois par gabarit et vérifiez que chaque version liste l’ensemble complet.
- Après une restructuration du site, régénérez le balisage pour que le mappage des URLs reste cohérent entre les langues.
- Quand les résultats de recherche affichent la mauvaise langue, vérifiez que les autoréférences et x-default existent et que les URLs pointent vers des pages canoniques.
Frequently asked questions
Laquelle des trois formes dois-je utiliser ?
Utilisez les balises <link> si vous pouvez modifier le HTML. Utilisez l’en-tête HTTP Link quand les pages sont servies par un serveur que vous contrôlez et que le HTML est difficile à changer. Utilisez la forme sitemap si vous préférez la garder dans le sitemap XML.
Quand ajouter x-default ?
x-default indique à Google quelle version afficher quand la langue du visiteur ne correspond à aucun code listé. Ajoutez-le quand vous avez une page racine ou de repli, généralement en anglais.
Chaque URL a-t-elle besoin d’une hreflang d’autoréférence ?
Oui. Chaque version linguistique doit inclure sa propre URL dans l’ensemble, avec une hreflang d’autoréférence qui pointe vers elle-même. Google utilise l’ensemble complet pour choisir la bonne page par langue.
Quel format de code de langue est valide ?
Les codes BCP 47 : une langue de deux ou trois lettres, éventuellement une région (en-US) et éventuellement un système d’écriture (zh-Hans). La langue en minuscules, sans inventer de codes comme « en-us-en ».
Hreflang va-t-il dans <head> ou dans le sitemap ?
Les deux fonctionnent, mais utilisez une seule forme cohérente par ensemble de pages. Les balises <link> vont dans <head>, l’en-tête HTTP Link est envoyé avec la réponse et le sitemap utilise des blocs xhtml:link.
Mes URLs sont-elles envoyées quelque part ?
Non. Le générateur fonctionne entièrement dans votre navigateur et rien n’est envoyé.
Questions ou retours
Quelque chose n’est pas clair, cassé ou manquant ? Rédigez un message ci-dessous — nous lisons chaque note.