Hreflang Cleaner
Documentation
Comment installer, configurer et vérifier Hreflang Cleaner. Écrit pour être lu aussi bien par un référenceur que par quelqu'un qui n'a jamais entendu le mot « hreflang ».
En bref
- Une balise
hreflangdit aux moteurs de recherche : « cette page existe aussi dans cette langue, à cette adresse ». - Shopify Markets les génère tout seul, en croisant tous vos marchés avec toutes vos langues — y compris des combinaisons qui n'existent pas commercialement.
- Hreflang Cleaner les remplace par la liste exacte que vous cochez. Rien de plus, rien de moins.
À quoi ça sert
Votre boutique parle plusieurs langues et vend dans plusieurs pays. Pour qu'un moteur de recherche envoie un Belge francophone sur votre version francophone et un Américain sur votre version anglophone, chaque page doit déclarer où se trouvent ses équivalents. C'est le rôle des balises hreflang : invisibles pour vos visiteurs, elles vivent dans le <head> du code de la page.
Le problème
Shopify Markets remplit ces balises automatiquement, en croisant tous vos marchés avec toutes vos langues publiées. Un marché « Émirats arabes unis » servi en anglais se voit ainsi annoncer une version fr-ae que vous n'avez jamais voulue. Les moteurs de recherche explorent ces adresses, les indexent, et votre signal utile se dilue dans le bruit. Sur un catalogue de plusieurs milliers de produits, cela se compte en dizaines de milliers d'URL parasites.
La solution
- Vous cochez, dans une grille marché × langue, les seules paires qui ont un sens pour votre activité.
- L'app calcule l'adresse correspondante pour chaque page et la stocke dans un metafield Shopify.
- Un block ajouté à votre thème lit ces metafields et écrit les balises dans le
<head>. - Une synchronisation quotidienne garde l'ensemble à jour, que vous ayez 20 ou 200 000 pages.
Mise en route
La configuration se fait une fois, en trois étapes, dans l'onglet Configuration. Le tableau de bord ne s'ouvre qu'à la fin : c'est volontaire, des balises à moitié configurées font plus de dégâts que pas de balises du tout.
- Désactiver les hreflang automatiques de Shopify. Dans votre admin : Boutique en ligne → Préférences → Partage sur les réseaux sociaux et SEO → décochez Balises hreflang automatiques. Sans cette étape, les balises de Shopify et celles de l'app coexistent : les moteurs de recherche voient deux jeux contradictoires et n'en retiennent aucun. Shopify n'expose aucune API pour lire ce réglage, d'où la case de confirmation.
- Cocher vos paires marché × langue puis enregistrer. Un aperçu en direct montre les balises exactes qui seront publiées, avant que quoi que ce soit ne parte.
- Activer le block dans votre thème. Le bouton de l'étape 3 ouvre l'éditeur de thème au bon endroit : basculez « Hreflang Cleaner » sur Activé, puis enregistrez.
Il reste à cliquer Finaliser et synchroniser. Le premier calcul complet démarre en arrière-plan : quelques secondes sur une petite boutique, quelques heures sur 200 000 ressources. Le tableau de bord affiche la progression, et vous pouvez fermer l'onglet entre-temps.
Choisir ses paires
C'est la seule décision qui demande un peu de réflexion. Chaque case cochée publie une balise. La bonne question n'est pas « est-ce techniquement possible » mais « est-ce que je veux qu'un moteur de recherche envoie ce public sur cette version de ma boutique ».
Trois règles suffisent
- Une paire par langue réellement servie sur un marché. Si votre marché Allemagne ne vend qu'en allemand, ne cochez que l'allemand — même si votre boutique propose cinq langues.
- N'inventez pas de public. Une version espagnole d'un marché japonais que personne ne visite n'a pas besoin d'être annoncée.
- Une seule paire en
x-default. C'est la version servie aux visiteurs dont ni la langue ni le pays ne correspondent à ce que vous avez coché. En général votre marché et votre langue principaux.
Les codes
L'app pré-remplit le code de chaque case (fr, fr-be, de-ch…) à partir de vos marchés Shopify. Vous pouvez le corriger à la main. Deux points de vigilance, tous deux signalés par l'aperçu : un code doit être soit une langue seule (fr), soit une langue plus un pays réel (fr-ca) — en-EU ou en-UK n'existent pas et sont ignorés ; et deux cases ne doivent jamais porter le même code, sinon une seule des deux adresses est retenue, au hasard.
Vérifier que c'est bon
Le mode test, en haut de l'onglet Configuration, publie vos balises sous forme de commentaires HTML : visibles dans le code source de la page, invisibles pour les moteurs de recherche. C'est la façon de regarder le résultat sans toucher à votre référencement.
- Activez le mode test, puis attendez une à deux minutes que le cache de Shopify se rafraîchisse.
- Ouvrez une page produit de votre boutique, affichez le code source (Ctrl+U, ou Cmd+U sur Mac) et cherchez « hreflang ».
- Comparez avec l'aperçu de l'étape 2 : ce doit être identique.
- Désactivez le mode test pour publier vos balises pour de vrai.
Ensuite, le tableau de bord suffit : il affiche les balises publiées, le nombre de paires actives, l'état du block sur votre thème, l'état des hreflang natifs et la date de la dernière synchronisation. Un contrôle automatique quotidien lit quelques pages de votre boutique et lève une alerte s'il détecte des balises en double ou un block désactivé.
Au quotidien
Une fois configurée, l'app n'a plus besoin de vous. Voici les seuls cas où elle vous demande quelque chose.
- Vous ajoutez ou modifiez un produit, une page, un article : rien à faire, la synchronisation quotidienne le prend en charge sous 24 heures. Le bouton Relancer la synchronisation du tableau de bord force le passage immédiatement si vous êtes pressé.
- Vous ajoutez un marché ou une langue dans Shopify : l'app ne coche rien à votre place, justement parce que toutes les combinaisons ne se valent pas. Retournez à l'étape 2, cochez les nouvelles paires pertinentes, enregistrez.
- Vous publiez un nouveau thème : Shopify ne reporte pas les blocks d'app d'un thème à l'autre. L'app le détecte tout de suite et vous demande de réactiver le block.
- Vous supprimez un produit ou une collection : les metafields correspondants sont nettoyés immédiatement.
Si quelque chose cloche
- « Balises hreflang en double ». Les hreflang automatiques de Shopify sont (re)devenus actifs. Reprenez l'étape 1 — c'est de loin le cas le plus fréquent.
- « Block désactivé ». Le block a été retiré dans l'éditeur de thème, ou vous venez de publier un nouveau thème. Réactivez-le depuis l'étape 3.
- Aucune balise dans le code source. Vérifiez dans cet ordre : block activé, au moins une paire enregistrée, mode test désactivé — puis attendez deux minutes.
- « Aucun marché trouvé » ou « aucune web presence ». La configuration ne peut pas aboutir tant que Shopify Markets n'est pas configuré (Paramètres → Markets). L'app vous laisse accéder au tableau de bord en attendant, mais elle ne publiera rien avant.
- Votre domaine est encore en
.myshopify.com. Les balises pointeraient vers ce domaine technique. Branchez votre vrai domaine avant de publier. - Les adresses de l'aperçu ne correspondent pas à votre boutique. Les marchés concernés n'ont probablement pas de web presence dédiée (mention « URL synthétique »). Configurez-la dans Paramètres → Markets, puis rechargez l'étape 2.
Si votre cas n'est pas dans cette liste, la FAQ couvre les questions plus précises, et le canal de support indiqué sur la fiche de l'app répond sous 24 heures ouvrées.
Ce que l'app touche
- Elle écrit un metafield
hreflang.urlssur vos produits, collections, pages, articles et blogs, plus un metafieldhreflang.configau niveau de la boutique pour les pages sans ressource propre (accueil, panier, recherche, politiques). - Elle lit vos marchés, vos langues, vos thèmes et vos traductions.
- Elle ne touche pas à vos fichiers de thème, ni à vos produits, ni à vos prix, ni à vos commandes.
- Elle ne voit aucune donnée client : ni commandes, ni contacts. Ni les autorisations demandées à l'installation ni le code de l'app ne le permettent.