Hreflang Cleaner

FAQ — Hreflang Cleaner

Les questions fréquentes des merchants sur le fonctionnement de Hreflang Cleaner, les limitations Shopify, et le déploiement.

Que fait Hreflang Cleaner concrètement ?
L'app injecte des balises hreflang propres dans le <head> de toutes les pages de votre boutique (homepage, produit, collection, article, blog, page, panier, recherche, politiques…), en utilisant uniquement les combinaisons marché × langue que vous avez explicitement cochées. Pour que ces balises remplacent celles de Shopify Markets (qui émet par défaut toutes les combinaisons cartésiennes, y compris des parasites comme fr-ae sur un marché Émirats anglophone), vous devez d'abord faire désactiver les hreflang natifs par le support Shopify — c'est l'étape 1 de la Configuration. Sans cette étape, les balises de l'app coexistent avec celles de Shopify et créent des doublons (le Dashboard affiche alors une alerte).
Combien coûte Hreflang Cleaner ?
29 USD par mois avec un essai gratuit de 14 jours. Un seul plan, toutes les fonctionnalités incluses quel que soit la taille de votre catalogue ou le nombre de marchés. Vous pouvez désinstaller à tout moment depuis votre admin Shopify ; l'abonnement est annulé avec la désinstallation.
Pourquoi dois-je contacter le support Shopify pour désactiver les hreflang natifs ?
Aucune API publique Shopify ne permet de désactiver les balises hreflang natives. C'est une limitation côté Shopify. Le support Shopify peut le faire pour votre store sur simple demande (l'app vous fournit le message à copier-coller). Tant que ce n'est pas fait, vous aurez des balises hreflang en double — l'app détecte ce cas et vous prévient via le health check quotidien.
Pourquoi un délai de 24h sur la synchronisation ?
L'app ne déclenche pas de re-sync en temps réel sur les créations ou éditions. Toutes les ressources (produits, collections, articles, blogs, pages) sont rattrapées par un cron quotidien (≤24h). Ce choix est volontaire : il garantit la même mécanique pour 20 ou 200 000 ressources, sans deux chemins de code différents. Les webhooks temps réel sont réservés aux événements qui ne tolèrent pas un délai de 24h : les suppressions de produits et collections (l'app purge immédiatement les metafields orphelins), la publication d'un nouveau thème (on re-vérifie l'activation du block), et les changements de locales sur votre configuration Shopify Markets. Articles, blogs et pages n'exposent pas de webhook chez Shopify, donc leur suppression est aussi rattrapée par le cron.
Comment prévisualiser sans impacter le SEO ?
Activez le Mode test dans la Configuration. Les balises hreflang sont alors émises en commentaires HTML (<!-- <link rel="alternate" ... /> -->) — aucun moteur de recherche ne les voit. Vous pouvez vérifier le rendu via l'inspecteur de votre navigateur. La propagation au front prend 1-2 minutes (cache CDN Shopify) après bascule.
Que faire si j'ajoute un marché ou une langue dans Shopify Markets ?
L'app ne re-configure pas automatiquement les balises lors d'un ajout de marché, de langue, ou de domaine — la liste de paires « cochées » est volontairement explicite (toutes les combinaisons ne font pas sens SEO). Après une modification de votre configuration Markets, revenez à l'étape 2 de la Configuration, cochez les nouvelles paires pertinentes, puis cliquez sur Enregistrer. La sync repasse automatiquement et publie les nouvelles balises sous 24h.
L'app fonctionne-t-elle sur les gros catalogues (50k, 200k produits) ?
Oui. La synchronisation utilise les bulk operations Shopify (une seule requête pour tout le catalogue) avec un rate limiter cost-based, un système de hash no-op (skip si rien n'a changé) et un checkpoint resume en cas de crash. Une sync complète sur 200k ressources prend environ 2-4h selon le plan Shopify (Standard ou Plus). Le cron quotidien tourne dans la fenêtre 24h sans accroc.
Comment savoir si le block est bien actif sur mon thème ?
Le hero du Dashboard affiche l'état du block sur votre thème publié. La publication d'un nouveau thème est détectée en temps réel via webhook : le stat passe en alerte et une bannière vous invite à réactiver le block sur le nouveau thème (Shopify ne reporte pas l'activation des app embeds entre thèmes). Une désactivation manuelle du block dans l'éditeur de thème, elle, est détectée par le health check quotidien — donc avec une latence ≤24h.
Quelles données l'app collecte-t-elle ?
L'app stocke en base : le domaine de votre boutique, un jeton d'accès Shopify (standard pour toutes les apps Shopify, requis pour appeler l'API en votre nom — révoqué automatiquement à la désinstallation), votre matrice de paires marché × langue, l'historique des syncs (durée, ressources modifiées, erreurs) et les hashes de metafields utilisés pour le skip no-op. Aucune donnée client final, aucune commande, aucune information de contact — l'app n'a ni le scope ni la logique pour les lire. La Privacy Policy complète est publiée à l'URL indiquée sur la fiche App Store.
Que se passe-t-il si je désinstalle l'app ?
À la désinstallation, Shopify retire automatiquement le theme app extension de votre thème : le block disparaît du <head> et les balises hreflang ne sont plus rendues. Les metafields écrits sur vos ressources (hreflang.urls, hreflang.config) ne sont pas effacés par Shopify et restent sur vos produits, collections, pages, articles et blogs — sans impact SEO puisque plus rien ne les lit. Vous pouvez les supprimer manuellement via l'interface Shopify Admin ou GraphQL si vous voulez un nettoyage complet. Les hreflang natifs Shopify Markets, eux, restent désactivés tant que vous ne contactez pas le support pour les réactiver.
Comment obtenir de l'aide ?
Contactez-nous via le canal de support indiqué sur la fiche App Store de Hreflang Cleaner. Nous répondons sous 24h ouvrées. Cette FAQ est aussi accessible en public sur l'URL indiquée sur la fiche — n'hésitez pas à la partager avec votre équipe ou avec un agent du support Shopify quand vous nous contactez.