L’utilisation de la propriété « hreflang » est très utile dans un contexte international, voici quelques astuces pour bien l’utiliser.
Quand faut-il l’utiliser ?
La balise « xreflang » n’est utile que dans un contexte international. Si votre site s’adresse uniquement à un public français, vous n’avez pas besoin de lire ce qui suit !
Elle s’utilise dans deux cas suivants:
- Vous couvrez plusieurs langues
- Vous couvrez plusieurs pays qui parlent la même langue (Ex : France, Belgique,…)
Et vous avez des pages (ou sites spécifiques) pour satisfaire chaque utilisateur.
Par exemple :
Si votre site traite de la météo, vous allez créer une page avec la météo en ° Celsius pour la France et une page en ° Fahrenheit pour le Québec.
Il faut donc que Google détecte que ces deux pages ne sont pas du duplicate content et qu’il sache quelle page il doit afficher (en fonction de la localisation de l’internaute).
Où faut-il les placer ?
La balise se place dans le « Header » de chaque version de votre site.
Elle ressemble à ça :
<link rel="alternate" href="XXX" hreflang="fr-ca"/>
Chaque page doit comporter les tags pour toutes les langues / zones géographiques que vous souhaitez couvrir.
Quelle page par défaut ?
Dans la plupart des cas, vous allez gérer quelques exceptions. Pour le Québec, vous allez vouloir délivrer la page A mais pour tous les autres pays vous souhaiterais délivrer la page B.
Pour cela il vous faudra utiliser la propriété « x-default »
<link rel="alternate" href="XX" hreflang="x-default" />
Comment retrouver le code du pays ?
Le format de langue pris en compte est le suivant : ISO 639-1.
Vous trouverez l’intégralité des codes ici
Comment la générer ?
Il existe un petit outil très sympa qui permet de générer simplement le code HTML à intégrer dans vos pages :
http://www.internationalseomap.com/hreflang-tags-generator/ |
Et l’outil vous retourne le code à placer :
<link rel= »alternate » href= »www.google.fr » hreflang= »fr-fr » />
<link rel= »alternate » href= »www.google.be » hreflang= »fr-be » />
<link rel= »alternate » href= »www.google.co.uk » hreflang= »en-gb » />
Comment tester ?
Là encore il existe un outil qui vous permettra de valider l’implementation de votre tag
Vous y saisissez l’url que vous souhaitez tester et l’outil vous retourne la version du site associée à chaque région
28 commentaires
Sophie · 12/02/2015 à 10:18
Bonjour,
J’ai bien mis en place dans le header les balises, quand je fais le test sur flang, j’ai cette note : » Canonical conflict » A quoi c’est dû ?
Merci,
Sophie.
greg · 12/02/2015 à 10:50
Tu peux m’envoyer une URl ?
Jérôme · 17/02/2015 à 10:19
Salut Grégory,
Merci pour ton article et pour les outils 🙂
J’avais une question concernant l’implémentation des hreflang sur les pages.
J’ai un site A ciblant la France avec toutes les pages qui en découlent (page A1, page A2…).
J’ai un site B ciblant l’Allemagne avec également page B1, page B2…
Il y a certaines pages françaises qui n’existent pas en version allemande. Comment cela se passe pour l’implémentation des balises linguistiques ? Est-ce que l’on peut ajouter la balise uniquement sur la HP ou bien faut-il également l’ajouter sur l’ensemble des pages ?
Merci
greg · 17/02/2015 à 16:19
Comme tu implémentes une balise différente sur chaque page ( sur A1, tu pointe vers B1), tu es libre de choisir où tu veux faire la « redirection ».
Donc tu peux décider d’implementer la balise pour toutes les pages qui existent dans les 2 langues et de ne rien mettre quand ton contenu n’existe qu’en français
Jérôme · 18/02/2015 à 10:52
Merci pour ta réponse 🙂
antoine · 28/07/2015 à 12:15
Merci pour l’article!
petite question: existe-t-il un moyen de générer automatiquement les codes à placer dans la section ? Je m’explique, le site fait plus de 10000 pages et j’aimerais automatiser le processus car faire ça à la main est chronophage…
merci pour la réponse!
greg · 28/07/2015 à 15:44
Salut,
Tu peux utiliser les sitemaps pour implémenter le hreflang.
Du coup tu peux le générer automatiquement si tu as les données stockées quelque part.
Boni · 13/09/2015 à 14:45
Bonjour,
Très intéressant comme article, car je nage complètement.
A savoir, J’ai un site réparti sur deux extensions, .com et .ch avec trois langues: FR – DE – GB
1) .com -> « Monde »
http://www.boniclassic.com/fr/
http://www.boniclassic.com/de/
http://www.boniclassic.com/gb/
2) .ch -> « Suisse »
http://www.boniclassic.ch/fr/
http://www.boniclassic.ch/de/
http://www.boniclassic.ch/gb/
Aussi, j’ai fais installer manuellement des balises hreflang sur mes sites, mais apparement cela a été mal installé car j’ai ces messages sur mon site .ch : « aucune balise de renvoi »
Lorsque je teste avec l’outils que tu fournis j’ai ce message:
ID Alternate URL Language Region Notes
1. http://www.boniclassic.com/fr Reciprocal not found
2. http://www.boniclassic.ch/fr French Switzerland Hreflang attributes don’t match ( != fr)
Et là je me perds…
Merci,
Boniface
greg · 04/11/2015 à 12:12
Il faut que sur chaque page, tu reprennes toutes les balise hreflang vers les autres langues /pays couverts (même celle sur laquelle tu es).
Pour une même page d’un pays à l’autre le contenu de tes balises est identique.
Hope that help 😉
Boniface · 04/11/2015 à 12:30
Merci pour ta réponse!
J’ai mis cela en place et sa fonctionne!
Bonne après midi,
Boniface
Fabrice · 18/02/2016 à 19:40
Bonsoir Greg
Merci pour cet article (très bien référencé)
Je rencontre le même souci que Boni concernant le « reciprocal not found »
J’essaye de suivre ta recette concernant la personnalisation du paramètre href Lang, mais dans la mesure où il est implémenté dans le header, comment est-il alors possible de le modifier au cas par cas ?
Merci encore
greg · 19/02/2016 à 17:50
En fait pour chacun de tes sites tu dois donner toutes les valeurs possibles.
Si tu as 3 site : fr, es et it
Sur chacun des sites tu dois placer 3 balises (une pour chaque langue). Y compris celui sur lequel tu te trouves.
Greg
Fabrice · 20/02/2016 à 18:34
…C’est pourtant exactement ce que j’ai fait sur les deux sites, de façon bijective et avec les balises ad hoc dont je suis sûr (et qui sont les mêmes que celle que vous préconisez). Je n’arrive pas à identifier ce qui cloche encore.
Merci de votre aide 🙂
greg · 24/02/2016 à 13:15
Envoie moi les url par email, je vais jeter un oeil 😉
pauznet · 05/06/2016 à 00:12
Bonjour,
Dans http://flang.dejanseo.com.au/ j’ai cette erreur « We can’t found link on alternate location! » malgré que les balises hreflang existes pour fr et en.
Voici mon url http://www.pauznet.com/
Merci pour votre aide!
greg · 06/06/2016 à 11:37
Hello,
Le souci n’est présent que sur la HP. Car rien ne pointe vers elle. Sur les autres pages l’outil ne remonte pas d’erreurs.
J’ai l’impression que ta HP génère du duplicate content puisque tu accèdes au même contenu avec ou sans le /fr.
J’ai plutôt l’habitude d’utiliser les sous domaine ce qui évite de ce type de cas
Dany · 25/06/2016 à 01:35
Bonjour greg,
en fonction des articles que je regarde sur internet le x-default n’a pas la même signification. Certains disent qu’il doit pointer vers l’url qui permet de choisir toutes les langues et qu’il ne faut pas considéré ce tag comme étant la redirection vers la langue par défault si langue du client non supporté (ex : si non supporté rediriger vers l’anglais).
Et d’autres disent l’inverse. Je suis donc un peu perdu. J’ai cependant tester les deux et j’ai toujours la même erreur dans la search console de google à savoir :
http://puu.sh/pF26F/363ccc2892.png
http://puu.sh/pF29q/d670d1e6ad.png
Je suis ouvert à toute recommandation pour corriger cette erreur qui me bloque depuis des mois.
Merci 🙂
greg · 17/08/2016 à 08:52
Le « X default » permet de définir la page équivalente pour toutes les langues non renseignées.
Côté SEO il a peu d’impact car le transfert de popularité ne s’effectue que lorsque tu restes sur la même langue. Ce que tu ne pourras pas matérialiser avec la version X default
Pierre Aribaut · 15/03/2017 à 13:27
Pour ma part en essayant les balises hreflang, en la mettant sur la page d’accueil dans la code html les hreflang des différentes langues, quand je vais ensuite dans google webmaster tools j’ai le message « Votre site ne contient aucune balise « hreflang ». » qui persiste, est-ce qu’il faut forcer une actualisation de google, renvoyer un sitemap, attendre un délai ? J’ai vu en cherchant dans google que je ne suis pas le seul à avoir le problème.
greg · 24/03/2017 à 15:09
Hello,
Peux tu me donner l’url de ton site, je vais jeter un coup d’oeil.
Greg
Etienne Lesaffre · 29/05/2017 à 16:05
Ne pas oublier qu’il existe au total 3 méthodes pour implémenter les hreflang 🙂
Gabriel · 28/06/2017 à 12:13
bonjour GREG, ou devrais je dire le SAUVEUR !
Voila plusieurs Heures que j’essaye de comprendre le Hreflang. Et grace a ton article j’ai réussi a avancer.
Concernant le X-default je ne suis pas certain d’avoir bien compris.
Je t’explique:
j’ai un site en française. http://www.malle2Luxe.fr
Et je suis entrain de faire une extension en anglais (pour tous les pays autre que la france qui parle anglais) http://www.malle2luxe.com
Mais dans le Hreflang je ne sais pas trop se que je dois mettre fr ? ou Fr-fr ?
Et pour la version anglaise (qui est destiné au Americain et au anglais principalement) : x-default ? En ?
Merci pour tes lumières.
greg · 27/07/2017 à 12:43
Hello,
Si tu mets FR-fr, tu limites à la France, si tu mes fr c’est pour toutes les langues francophones.
Pour le x-default, tu spécifies ta version anglaise.
J’espère que ça répond à tes questions.
Grégory
Jorge Sexer · 13/12/2017 à 13:52
Bonjour Greg,
J’ai un blog que j’ai créé depuis la France mais en fait destiné à un public anglophone (UK et USA). Le blog est entièrement rédigé en anglais (j’ai une variante francaise mais avec une autre URL). Le ciblage international de la Search Console de Google me dit que mon pays cible est la France. Sur la page je ne vois pas moyen de changer le pays à UK et/ou USA. Tu sais comment faudrait-il faire? Merci!
greg · 27/12/2017 à 09:39
Hello,
Je te recommande de mettre en place le balisage hreflang. C’est la meilleure solution pour avoir une prise en compte sur tous les moteurs.
greg · 27/12/2017 à 09:52
Hello,
Selon moi la meilleurs solution consiste à utiliser la balise hreflang. Elle est génériques : tous les moteurs pourront l’utiliser.
Eric · 05/09/2018 à 14:12
Bonjour,
Quand on a un site en .com tout en français qui est vu et lu par des canadiens, belges, français et qu’il n’y a pas d’url spécifique par pays, faut il ajouter 3 balises hreflang pour toutes les pages (br, fr, ca) par exemple ou alors on n’ajoute rien et on laisse faire Google ?
Merci par avance pour la réponse
greg · 19/12/2018 à 13:53
Hello,
Si tu n’as pas d’url spécifique pour chaque langue, tu n’as pas besoin de hreflang.
Greg