Vérificateur hreflang
Pointe-le sur une page en ligne pour extraire les alternates hreflang du HTML, valider les codes de locale, lire le x-default et la self-reference, et échantillonner les liens retour.
Ce vérificateur hreflang pointe sur une seule page en ligne et lit le cluster de SEO international à peu près comme le ferait un moteur de recherche. Il récupère les alternates hreflang du HTML, contrôle chaque code de langue et de région, lit le x-default et la self-reference, et aligne les canonical pour que tu voies quelles URL le set prétend vraiment équivalentes. Ensuite il va plus loin qu'un simple scan de balises : il visite une poignée de ces alternates et vérifie s'ils prennent la peine de renvoyer le lien retour, la panne à sens unique qui s'installe en douce après une mise à jour de plugin de locale ou une migration de contenu. Tu choisis l'intention d'audit et le nombre d'alternates à échantillonner, et tu obtiens un résumé scoré, un tableau des alternates, les résultats des liens retour, des notes de cluster, une liste de correctifs priorisés et un rapport copiable. Il ne lit que les alternates HTML, alors confirme à part toute config sitemap ou en-tête.
Les requêtes passent par le service de lookup PeopleAreGeek. Nous ne journalisons rien.
Audit de cluster SEO international
Le hreflang casse en silence. C'est pour ça que je m'en méfie plus que de n'importe quel autre signal de SEO international. Un plugin de locale se met à jour, quelqu'un rate une migration, un template oublie de renvoyer le lien retour, et voilà que Google sert la mauvaise langue à la moitié de tes marchés alors que tout a l'air normal. Pointe ça sur une page en ligne. Je récupère ses alternates hreflang, je vérifie au passage les codes de langue et de région, je lis le x-default et la self-reference, j'aligne les canonical, et puis je vais réellement visiter quelques-uns de ces alternates pour voir s'ils prennent la peine de renvoyer le lien. Franchement, je préfère attraper la dérive ici plutôt que d'en entendre parler dans la Search Console trois semaines trop tard.
Pour le contrôle des liens retour, je ne récupère qu'une poignée d'alternates. Un gros cluster mettrait sinon ton navigateur à genoux. Une mise en garde qui mérite d'être dite tout haut : le hreflang peut aussi vivre dans ton sitemap ou dans tes en-têtes HTTP. Moi, je lis les alternates HTML que renvoient les pages, et rien d'autre.
Ce qu'un vrai contrôle hreflang devrait régler
Le vérificateur hreflang ne traite pas le hreflang comme un badge de traduction qu'on colle sur une page. Ce n'en est pas un. C'est une promesse sur les URL qui sont équivalentes les unes aux autres. Ton article en français, celui en anglais, une page de sélecteur de pays, chacun peut être parfaitement nickel de son côté. Les annotations ne commencent à servir à quelque chose que lorsque chaque URL du set pointe bien vers les bons alternates, et que tout le set survit à tes redirections, à la mise à jour du plugin de locale et à ta dernière migration de contenu. Personne ne te prévient pour cette dernière partie. C'est pourtant là que j'ai vu les pires dégâts.
Donc je commence par les balises du head sur l'URL que tu me donnes. Ensuite les codes de langue, les URL cibles, la self-reference, la présence ou non d'un x-default, le canonical. Le contrôle d'échantillon des liens retour va plus loin. J'ouvre quelques-uns des alternates et je vérifie s'ils renvoient bien le lien vers ton point de départ, c'est la panne que je croise sans arrêt. Quelqu'un met un template à jour, le déploie, et les autres locales continuent tranquillement de pointer vers une version plus ancienne du cluster. Pas d'erreur. Pas d'alerte. Juste une pourriture lente que tu ne remarqueras pas avant un mois.
Codes, canonical et liens retour ont des rôles différents
On confond ces trois-là tout le temps, alors laisse-moi les démêler. Le code de langue indique quelle langue, ou quelle paire langue-région, une URL dessert. Le canonical indique quelle URL tu veux réellement voir indexée pour cette page. Un lien retour, c'est juste la preuve que les autres versions savent que celle-ci existe. Techniquement, ils ont le droit de ne pas être d'accord entre eux. Mais quand ça arrive, en général, tu as un problème sur les bras. Une cible hreflang qui se canonicalise vers une page sans rapport, ou qui redirige via un host que tu as tué il y a deux ans, ou qui tout simplement ne renvoie jamais : répare le cluster avant de reprocher à ton traducteur tes positions.
- Self-reference garde la page que tu as contrôlée à l'intérieur de son propre set d'alternates, au lieu de la laisser faire bande à part.
- x-default rattrape tous ceux que tu n'as jamais ciblés explicitement et les envoie vers un repli neutre, ou un sélecteur.
- L'alignement du canonical, c'est ce qui empêche un alternate de s'effondrer en douce vers une autre URL.
- Les liens retour, c'est comme ça que tu repères les relations à sens unique qui s'installent entre les templates de langue quand personne ne regarde.
- La revue des codes signale les libellés purement régionaux et ceux qui sont mal formés avant que l'un d'eux ne te coûte quelque chose.
Un workflow concret pour les pages multilingues
- N'audite pas toutes les pages. Prends plutôt une vraie URL par famille de template. Un article, un produit, une catégorie, peut-être une landing page. Si le template est propre, le reste suit généralement.
- Oublie le score une seconde et lis juste le tableau des alternates. La seule question qui compte vraiment : chaque cible est-elle vraiment la même page, ou est-ce qu'une home s'est glissée là-dedans.
- Lance l'échantillon de liens retour juste après les lancements, après les migrations, à chaque fois que tu touches ne serait-ce qu'un peu au plugin de locale. C'est là que ça casse.
- Les alternates ont l'air bancals ? Sors le canonical de la source et celui de la cible. Les écarts à ce niveau expliquent le plus souvent l'essentiel.
- Choisis une seule méthode d'implémentation et tiens-t'y. Sinon ton HTML, ton sitemap et tes annotations d'en-tête dérivent lentement les uns des autres et tu ne le verras pas avant que ça aille mal.
Questions fréquentes
Une balise hreflang manquante est-elle toujours un problème de SEO ?
Non. Une page qui n'existe que dans une seule langue n'a pas besoin de hreflang, et lui en coller un te file juste une chose de plus à casser. Ça commence à compter quand le même contenu vit sur plusieurs versions localisées et que tu as besoin que les moteurs de recherche les lisent comme des alternatives plutôt que comme des doublons.
Le x-default doit-il toujours exister ?
Pas toujours. Il gagne sa place quand tu as un repli neutre en langue, ou un sélecteur de pays, ou simplement un endroit sensé où envoyer les gens qui tombent en dehors des locales que tu cibles. Mais quel que soit l'endroit où tu le diriges, assure-toi qu'un vrai visiteur qui y atterrit ne se retrouve pas perdu.
Ce vérificateur peut-il prouver que chaque signal international est correct ?
Non, et franchement je ne ferais confiance à rien qui jurerait le pouvoir. Je lis le cluster d'alternates HTML et j'échantillonne quelques liens retour. C'est tout le job. Il te reste à confirmer que les pages sont vraiment équivalentes, à vérifier toute config sitemap ou en-tête, à garder un œil sur tes liens internes. Et puis à aller voir ce que la Search Console te raconte réellement.
Quelle est l'erreur hreflang la plus courante ?
Les balises retour manquantes, et de loin. Chaque page d'un cluster doit pointer vers toutes les autres, elle-même comprise, avec des valeurs hreflang concordantes. Tu lies dans un sens, tu oublies le sens inverse, et les moteurs de recherche ignorent purement et simplement toute l'annotation.