Masquer votre prix aux moteurs de recherche
Temps de lecture : 12 minutes. Pour qui : les marchands sur le forfait Professional (ou au-delà) qui doivent tenir leurs tarifs professionnels à l'écart de Google et des autres moteurs de recherche pour les visiteurs non connectés - et pas seulement les masquer visuellement sur la boutique. Forfait : le masquage compatible moteurs de recherche est une fonctionnalité Professional et +. Le masquage visuel (ci-dessous) est disponible à partir de Starter.
Masquer un prix visuellement - le remplacer par un bouton « Demander un devis » - contrôle ce que vos acheteurs voient. Cela ne contrôle pas ce qu'un moteur de recherche lit, car le vrai chiffre reste dans le code source HTML de votre page. Le masquage compatible moteurs de recherche comble cet écart : il tient le prix hors du HTML que reçoit un visiteur non connecté (et Googlebot), si bien qu'un robot n'a rien à indexer. Ce guide détaille la marche à suivre pour n'importe quel thème Shopify, puis montre comment la vérifier avec le contrôle de fuite intégré à QuotWay.
Masquage visuel et masquage compatible moteurs de recherche
Ce sont deux choses différentes. En général, vous voudrez les deux.
| Masquage visuel (Starter et +) | Masquage compatible moteurs de recherche (Professional et +) | |
|---|---|---|
| Ce que cela fait | Remplace le prix affiché par un bouton ou un texte « Demander un devis » | Retire le prix du HTML servi aux visiteurs non connectés |
| Comment | CSS et JavaScript, après le chargement de la page | Un verrou Liquid côté serveur ({% if customer %}) - le prix n'est jamais généré pour les visiteurs non connectés |
| Masqué aux acheteurs ? | Oui | Oui |
| Masqué à Google ? | Non - le prix est toujours dans le code source, dans og:price et dans le JSON-LD |
Oui - pour le code source, les balises meta et les données structurées |
| Mise en place | Un interrupteur dans l'interface QuotWay | Une modification unique du thème (ce guide) plus le bloc QuotWay Price Gate |
Pourquoi une modification du thème est nécessaire. Une application peut ajouter du balisage à votre thème, mais elle ne peut pas retirer l'élément de prix, les balises meta ou les données structurées propres à votre thème. Seul votre thème les contrôle : tenir le prix hors du code source passe donc par une courte modification, à faire une seule fois - QuotWay vous guide, puis vérifie pour vous.
Ce que couvre le « compatible moteurs de recherche » - et ce qu'il ne peut pas couvrir
Il retire le prix de tout ce qu'un moteur de recherche affiche dans un extrait, pour les visiteurs non connectés :
- le prix visible dans le HTML de la page,
- les balises meta
og:price/product:price(utilisées dans les aperçus de liens et certains extraits), - le Product JSON-LD (
<script type="application/ld+json">) et toute microdonnéeitemprop="price".
Il ne peut pas retirer deux surfaces gérées par Shopify - aucun thème ni aucune application ne le peut :
/products.json- Shopify publie un flux JSON public de vos produits (prix compris) à l'adressevotre-boutique.com/products/<handle>.json. Seuls les catalogues B2B Shopify ou le retrait de publication du produit le masquent.- Les analyses de boutique - les analyses propres à Shopify voient les prix quel que soit votre thème.
Ce sont des résidus connus. Ce n'est pas ce que Google place dans un résultat de recherche : pour tenir les prix hors des extraits de recherche, les étapes ci-dessous suffisent.
N'utilisez pas
noindexpour masquer un prix.noindexretire toute la page produit de la recherche : vous perdez la page, pas seulement le prix. Utilisez plutôt le verrou décrit ci-dessous.
Avant de commencer
- Vous êtes sur le forfait Professional ou au-delà (ou dans l'essai de 14 jours d'un forfait payant).
- QuotWay est installé avec l'intégration d'application activée. Voir Intégration d'application et activation.
- Le masquage visuel est déjà actif pour les acheteurs que vous ciblez. Voir Masquer les prix et afficher un bouton « Demander un devis ». Ce guide ajoute la couche « moteurs de recherche » par-dessus.
- Travaillez sur une copie de votre thème. Dans l'interface Shopify → Boutique en ligne → Thèmes → ⋯ → Dupliquer, modifiez la copie, puis publiez-la une fois la vérification faite. C'est la pratique courante pour toute modification de thème.
- Une aisance de base avec le code du thème (Boutique en ligne → Thèmes → ⋯ → Modifier le code). Les modifications sont petites ; le plus difficile est de trouver le bon fichier, et ce guide y aide.
L'idée en une phrase
Entourez les trois endroits où apparaît votre prix - le prix visible, les balises meta et les données structurées - d'un {% if customer %} … {% endif %} pour qu'ils ne s'affichent que pour les clients connectés, et laissez le bloc Price Gate de QuotWay afficher un message « Connectez-vous pour voir les prix » à tous les autres. Quand un visiteur non connecté (ou un robot) charge la page, aucun prix ne figure dans le code source.
Étape 1 - Ajouter le bloc QuotWay Price Gate
Le bloc Price Gate affiche un message « Connectez-vous pour voir les prix » (dont vous pouvez changer la formulation) - et aucun prix - aux visiteurs non connectés et aux moteurs de recherche. C'est ce que voient vos visiteurs à la place du prix.
- Dans QuotWay, allez dans Bouton de devis → Tarification et, sous Masquer le prix aux moteurs de recherche, cliquez sur Ajouter le bloc de verrouillage du prix. Cela ouvre votre éditeur de thème avec le bloc prêt à être placé. (Ou ajoutez-le manuellement : Boutique en ligne → Thèmes → Personnaliser → modèle Produit → Ajouter un bloc → Applications → QuotWay Price Gate.)
- Faites glisser le bloc à l'endroit où se trouve le prix sur votre page produit.
- Ouvrez les réglages du bloc :
- Message pour les visiteurs non connectés - le texte que voient les visiteurs et les robots (par défaut : « Connectez-vous pour voir les prix »). Remplacez-le par ce que vous voulez, par exemple « Demandez un devis pour nos tarifs professionnels ».
- Afficher le prix aux clients connectés - laissez ce réglage désactivé si vous comptez entourer le prix de votre thème d'un
{% if customer %}(étape 2, méthode A). Ne l'activez que si vous masquez entièrement le bloc Prix du thème et voulez que le bloc de verrouillage affiche le prix aux clients connectés (étape 2, méthode B). - Tag client requis (facultatif) - réservez le prix aux clients connectés porteurs d'un tag (par exemple
wholesale).
- Enregistrez le thème.
Étape 2 - Masquer le prix de votre thème aux visiteurs non connectés
Choisissez une de ces méthodes. La méthode A est recommandée, car elle conserve pour les clients connectés le prix normal de votre thème, sensible aux variantes.
Méthode A - Entourer le prix du thème d'un {% if customer %} (recommandée)
Boutique en ligne → Thèmes → ⋯ → Modifier le code.
Trouvez l'endroit où votre modèle produit génère le prix. Dans la plupart des thèmes Online Store 2.0 (Dawn, Horizon et similaires), il s'agit d'un snippet de prix - cherchez
snippets/price.liquidou un blocpricedanssections/main-product.liquid(cherchez| moneydans le thème).Entourez la sortie du prix pour que seuls les clients connectés la reçoivent :
{% if customer %} {{ product.selected_or_first_available_variant.price | money }} {% endif %}(Adaptez au balisage existant de votre thème - il s'agit simplement d'ajouter
{% if customer %}et{% endif %}autour de ce qui génère le prix.)Laissez « Afficher le prix aux clients connectés » désactivé dans le bloc Price Gate (c'est désormais le thème qui gère le prix des clients connectés).
Enregistrez.
Méthode B - Masquage sans code et affichage du prix par le bloc de verrouillage
- Dans Personnaliser → Produit, masquez le bloc Prix natif de votre thème (ou réglez-le pour qu'il ne s'affiche pas).
- Dans le bloc QuotWay Price Gate, activez « Afficher le prix aux clients connectés ». Le bloc affichera le prix de la variante sélectionnée ou de la première variante aux clients connectés, et le message de verrouillage à tous les autres.
- Enregistrez. (La méthode B affiche le prix de la première variante ou de la variante sélectionnée plutôt qu'un prix pleinement réactif aux variantes - ce qui convient à la plupart des catalogues ; utilisez la méthode A si vous avez besoin d'une mise à jour du prix à chaque changement d'option.)
Étape 3 - Retirer le prix des balises meta et des données structurées
C'est l'étape qui retire réellement le prix des extraits de recherche. Le prix visible a disparu après l'étape 2, mais les thèmes émettent aussi le prix à deux endroits lisibles par la machine, que les robots consultent.
3a - Balises Open Graph et meta de prix
Dans Modifier le code, ouvrez le snippet de balises meta de votre thème - généralement
snippets/meta-tags.liquid(certains thèmes les placent dans le<head>delayout/theme.liquid). Cherchezog:priceouproduct:pricedans le thème.Entourez les balises meta de prix d'un
{% if customer %}:{% if customer %} <meta property="og:price:amount" content="{{ product.price | money_without_currency | strip_html }}"> <meta property="og:price:currency" content="{{ cart.currency.iso_code }}"> {% endif %}
3b - Données structurées produit (JSON-LD)
Trouvez l'endroit où votre thème génère le Product JSON-LD - souvent
snippets/structured-data.liquid, ou un{% render 'structured-data' %}ou un<script type="application/ld+json">en ligne danssections/main-product.liquid. Cherchezapplication/ld+jsonet"@type": "Product"dans le thème.Placez l'offre (qui porte le prix) derrière un
{% if customer %}. Comme le JSON doit rester valide (pas de virgule orpheline), le plus propre est de n'inclure le blocoffersque pour les clients connectés :{ "@context": "https://schema.org/", "@type": "Product", "name": {{ product.title | json }}{% if customer %}, "offers": { "@type": "Offer", "price": "{{ product.price | money_without_currency | strip_html }}", "priceCurrency": "{{ cart.currency.iso_code }}", "availability": "https://schema.org/InStock" }{% endif %} }Si votre thème construit le JSON-LD autrement, la règle reste la même :
priceetoffersne doivent pas s'afficher pour les visiteurs non connectés. Validez la sortie vue par un visiteur non connecté avec le test des résultats enrichis de Google : il doit montrer le produit sans prix en mode déconnecté.
3c - Microdonnées (thèmes plus anciens)
Si votre thème utilise des microdonnées en ligne, entourez aussi l'élément itemprop="price" d'un {% if customer %} :
{% if customer %}
<span itemprop="price" content="{{ product.price | money_without_currency }}">{{ product.price | money }}</span>
{% endif %}
Enregistrez le thème après chaque modification.
Étape 4 - Lancer le contrôle de fuite
QuotWay confirme votre travail en récupérant la page en tant que visiteur non connecté - exactement ce que voit Google - et en signalant tout prix encore présent dans le code source.
Dans QuotWay, allez dans Bouton de devis → Tarification → Contrôle de fuite vers les moteurs de recherche.
Saisissez (ou confirmez) le handle du produit à contrôler et cliquez sur Lancer le contrôle.
Lisez les résultats. Le contrôle porte sur cinq points :
Point contrôlé Gravité Correctif Balise meta og:priceCritique Étape 3a Prix dans le Product JSON-LD Critique Étape 3b Microdonnée itemprop="price"Critique Étape 3c Prix visible en texte Critique Étape 2 /products.jsonpublicInformation Résidu géré par Shopify (voir ci-dessous) - non corrigeable par le thème Corrigez toutes les fuites critiques signalées, puis relancez jusqu'à ce qu'il ne reste que la ligne d'information sur
/products.json. C'est votre état « compatible moteurs de recherche ».
Si le contrôle indique que la boutique est protégée par mot de passe, il ne peut pas lire la page en tant que visiteur - retirez le mot de passe de la boutique (ou contrôlez un thème publié) et relancez.
Ce qu'il reste ensuite (et pourquoi ce n'est pas grave)
/products.jsonexpose toujours le prix. Aucune modification de thème ni d'application ne le retire - seuls un catalogue B2B Shopify (qui fixe les prix par entreprise) ou le retrait de publication du produit le font. C'est un flux de données brut, pas quelque chose que Google affiche dans un résultat de recherche : vos extraits ne sont donc pas concernés.- Les analyses de boutique Shopify enregistrent toujours les prix. C'est interne à Shopify et jamais public.
Pour la plupart des marchands, tenir le prix hors du code source, des balises meta et des données structurées (étapes 1 à 3, vérifiées à l'étape 4) est exactement ce que veut dire « garder mes tarifs professionnels hors de Google ».
Vérifier par vous-même
- Afficher le code source en tant que visiteur. Ouvrez votre page produit dans une fenêtre privée, faites un clic droit → Afficher le code source de la page, et cherchez (⌘/Ctrl-F) le montant du prix. Après les étapes ci-dessus, il ne doit pas apparaître.
- Google Search Console. Utilisez Inspection d'URL → Tester l'URL en direct → Afficher la page explorée pour voir ce que Googlebot génère. Redemandez l'indexation pour que Google réexplore la page sans prix.
- Relancez le contrôle de fuite chaque fois que vous changez de thème ou de version de thème : une mise à jour peut réintroduire un élément de prix.
Pièges
- Une mise à jour de thème a réintroduit le prix. Les mises à niveau remplacent les snippets, ce qui peut annuler vos modifications
{% if customer %}. Relancez le contrôle de fuite après tout changement de thème et réappliquez les étapes 2 et 3 si nécessaire. - Le prix s'affiche encore pour vous. Si vous êtes connecté en tant que client, vous voyez le prix - c'est normal. Testez en mode déconnecté (navigation privée) pour voir ce que voient visiteurs et robots.
- Le JSON-LD est invalide après modification. Une virgule de trop casse tout le bloc. Collez la sortie vue par un visiteur dans le test des résultats enrichis pour la valider ; utilisez le verrou au niveau de
offersmontré en 3b pour éviter les virgules orphelines. - Deux prix sur la page. Si le prix de votre thème et celui du bloc de verrouillage s'affichent tous deux pour les clients connectés, vous avez appliqué à la fois la méthode A et la méthode B - désactivez « Afficher le prix aux clients connectés » (méthode A) ou masquez le bloc Prix du thème (méthode B), pas les deux.
- Thèmes sur mesure ou headless. La règle est la même : verrouillez le prix,
og:priceet le JSON-LD pour les visiteurs non connectés, là où votre framework les génère. Le contrôle de fuite fonctionne sur n'importe quelle URL de boutique Shopify.
Articles liés
- Masquer les prix et afficher un bouton « Demander un devis » - le masquage visuel et le bouton sur lesquels ceci s'appuie.
- Placement du bouton de devis - où le bouton s'affiche sur votre boutique.
- Forfaits, essai et facturation - quel forfait débloque le masquage compatible moteurs de recherche.
Besoin d'un coup de main ? L'équipe est là pour vous aider.