# Avis clients : 1 boutique équipée sur 4 muette pour l'IA
> Mesuré sur 457 fiches Shopify françaises : 24,5 % des boutiques équipées d'une app d'avis n'exposent aucune note sans JavaScript. Google voit, ChatGPT non.
- Canonical HTML: https://verityscore.io/fr/blog/avis-clients-invisibles-moteurs-ia/
- Markdown alternate: https://verityscore.io/fr/blog/avis-clients-invisibles-moteurs-ia.md
- Language: fr
- Content type: blog
- Published: 2026-08-13
- Updated: 2026-08-14
- Tags: avis-clients, aggregaterating, schema-org, json-ld, javascript, shopify, judge-me, ai-overviews, chatgpt, claude
## Le problème en 60 mots

Le 22 juillet 2026, Google a lancé les Aperçus IA en France. Depuis, tout le monde optimise pour Google. Or Google est précisément le moteur qui voit déjà vos avis clients, parce qu'il exécute le JavaScript de vos widgets. Les autres ne l'exécutent pas. Nous avons mesuré 457 fiches produit Shopify françaises : parmi les boutiques équipées d'une application d'avis, **une sur quatre n'expose aucune note sans JavaScript**.

### Ce que nous avons mesuré

Le 13 août 2026, lecture d'une fiche produit sur 480 boutiques Shopify françaises (clientes d'agences référencées dans le répertoire partenaires Shopify), en HTTP simple, sans exécution de JavaScript. C'est ce que voit un robot qui ne rend pas les pages.

| Mesure | Résultat |
|---|---|
| Boutiques interrogées | 480 |
| Fiches produit résolues et analysées | 457 |
| Chargent une application d'avis sur la fiche | 249 / 457 (54,5 %) |
| **Parmi ces 249 : aucune trace d'avis sans JavaScript** | **61 (24,5 %)** |
| Parmi ces 249 : note lisible sous une forme quelconque | 188 (75,5 %) |
| Parmi ces 249 : `AggregateRating` rattaché au `Product` | 27 (10,8 %) |

**Méthode** : une fiche produit par boutique, résolue via `/products.json` puis le sitemap produits à défaut. Requêtes en HTTP simple avec le user-agent `VerityScoreBot/1.0`, sans exécution de JavaScript. Recherche de la note et du nombre d'avis sous quatre formes : JSON-LD `aggregateRating`, microdonnées `itemprop`, attributs de widget (`data-number-of-reviews`, `data-average-rating`), et texte visible du type « 128 avis » ou « 4,6 / 5 ». Détection des applications d'avis par leurs marqueurs propres : domaine de CDN et conteneur de widget dans le DOM servi.

**Limites, et elles comptent.** Échantillon français de boutiques accompagnées par une agence, donc probablement mieux entretenues que la moyenne.

Une seule fiche par boutique, souvent un produit récent qui peut légitimement n'avoir aucun avis : dans ce cas l'absence de note est correcte, pas une erreur. C'est pourquoi la ligne qui compte n'est pas « 24,5 % n'ont pas d'avis » mais « 24,5 % chargent une application d'avis sans qu'aucune note n'apparaisse dans le HTML ».

23 boutiques sur 480 sont sorties de l'analyse faute de fiche produit résolue : `/products.json` désactivé, sitemap produits absent, ou réponse non-200. Ce sont typiquement des boutiques qui filtrent les robots ou servent un front découplé, donc plutôt moins lisibles que la moyenne. **Leur exclusion rend nos taux optimistes, pas l'inverse.**

Enfin, nous avons interrogé chaque boutique avec un user-agent identifiable, pas en usurpant celui d'un robot IA. Une boutique qui sert un HTML différent selon le user-agent apparaîtrait donc ici sous son visage « robot inconnu ». Nous republierons cette mesure sur le même corpus en février 2027.

Un exemple mesuré rend le mécanisme concret. Une boutique de parfums de l'échantillon sert dans son HTML `data-number-of-reviews="13960"` et une note de 4,65, mais ne publie aucun `aggregateRating` dans son JSON-LD. Près de 14 000 avis existent, sont comptés côté serveur, et ne sont pas déclarés dans le format que les moteurs attendent.

## Pourquoi Google n'est pas le sujet

C'est le contre-pied de la période. L'arrivée des Aperçus IA en France a mis Google au centre de toutes les discussions, alors que Google est le moteur qui a le moins besoin de votre aide sur ce point précis.

Google documente un traitement en trois temps : exploration, rendu, indexation. Le rendu passe par « un Chromium sans interface qui exécute le JavaScript » ([Google Search Central](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)). Votre widget d'avis s'exécute, la note apparaît, Google la voit. Google nuance tout de même : la page peut attendre dans la file de rendu « quelques secondes, mais cela peut prendre plus longtemps », et la documentation recommande le rendu côté serveur en rappelant que tous les robots n'exécutent pas le JavaScript.

Les robots des moteurs IA sont exactement ces robots-là. L'analyse conjointe de [Vercel et MERJ](https://vercel.com/blog/the-rise-of-the-ai-crawler) ne trouve aucune trace d'exécution de JavaScript chez GPTBot, ClaudeBot, PerplexityBot, Bytespider ou meta-externalagent. Ces robots téléchargent parfois les fichiers JavaScript, entre 11 % et 24 % des requêtes selon le robot, mais ne les exécutent pas. Ils lisent le HTML tel qu'il sort de votre serveur. Le constat converge avec des mesures indépendantes plus récentes ([SearchOptimo, juin 2026](https://searchoptimo.com/blog/do-ai-crawlers-render-javascript)), et Anthropic recommande explicitement de ne pas compter sur le JavaScript pour que son robot lise une page.

D'où la situation asymétrique que personne ne regarde :

| Moteur | Exécute le JavaScript | Voit une note affichée par widget seul | Statut de la preuve |
|---|---|---|---|
| Google (recherche, Aperçus IA, Mode IA) | Oui, Chromium sans interface | Oui, après rendu différé | Documenté par Google |
| ChatGPT (GPTBot) | Non | Non | Mesuré |
| Claude (ClaudeBot) | Non | Non | Mesuré |
| Perplexity (PerplexityBot) | Non | Non | Mesuré |
| ChatGPT et Claude, autres robots | Non attendu | Non attendu | Déduit, non mesuré |

Trois précisions honnêtes sur ce tableau, parce qu'il porte toute la thèse.

La mesure Vercel/MERJ couvre `GPTBot`, `ClaudeBot`, `PerplexityBot`, `Bytespider` et `meta-externalagent`. Elle ne couvre **pas** `OAI-SearchBot`, `ChatGPT-User`, `Claude-SearchBot` ni `Claude-User`, dont certains n'existaient pas à la date de l'étude. Nous les rangeons dans la même colonne par cohérence d'infrastructure, pas sur preuve directe.

Côté Google, « Oui » mérite un astérisque : le rendu passe par une file d'attente. Sur un produit dont la note bouge, Google peut lire une valeur périmée plutôt que l'absence de valeur.

Enfin, la documentation d'OpenAI décrit ses robots et leurs rôles mais ne dit rien du JavaScript. Anthropic, lui, recommande explicitement de ne pas compter dessus. L'absence d'exécution est donc établie par la mesure côté OpenAI, et par la documentation côté Anthropic.

## Ce que Google dit vraiment des Aperçus IA

Il faut être précis ici, parce que le marché raconte l'inverse. Google écrit noir sur blanc qu'il n'y a **aucune donnée structurée particulière à ajouter** pour apparaître dans les Aperçus IA ou le Mode IA : « Vous n'avez pas besoin de créer de nouveaux fichiers lisibles par machine, de fichiers texte IA ou de balisage pour apparaître dans ces fonctionnalités » ([Google Search Central](https://developers.google.com/search/docs/appearance/ai-features)).

Donc non, publier un `AggregateRating` ne vous fera pas entrer dans un Aperçu IA. Vendre cela serait faux.

Ce que le balisage fait réellement, et qui suffit largement à justifier le travail :

1. **Il conditionne l'extrait d'avis dans les résultats Google.** Pour afficher des étoiles, Google demande de « baliser une évaluation agrégée avec schema.org/AggregateRating », avec au moins `ratingCount` ou `reviewCount`, et exige que le contenu d'avis soit visible pour l'utilisateur sur la page ([Google Search Central](https://developers.google.com/search/docs/appearance/structured-data/review-snippet)).
2. **Il rend la note lisible par les moteurs qui n'exécutent pas le JavaScript.** C'est l'objet de cet article.

Deux bénéfices concrets, aucun des deux n'étant « apparaître dans les Aperçus IA ». La distinction est ce qui sépare un conseil vérifiable d'un argument de vente.

## Les cinq niveaux de lisibilité

Derrière un affichage identique à l'écran (des étoiles sous le titre du produit), notre mesure fait apparaître cinq situations. Les effectifs sont exclusifs et somment aux 249 boutiques équipées.

| Ce que contient le HTML servi | Boutiques | Part |
|---|---|---|
| 1. `AggregateRating` rattaché au `Product` | 27 | 10,8 % |
| 2. Note structurée, mais pas rattachée au `Product` | 10 | 4,0 % |
| 3. Attribut propriétaire du widget seulement | 130 | 52,2 % |
| 4. Texte visible seul | 21 | 8,4 % |
| 5. Aucune trace sans JavaScript | 61 | 24,5 % |

**Niveau 1, le standard (10,8 %).** La note est rattachée au `Product`, en JSON-LD ou en microdonnées. Google accepte les deux, ainsi que RDFa : il précise que les trois formats « conviennent également », JSON-LD étant seulement le plus simple à maintenir ([Google Search Central](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)). C'est la forme la plus sûre pour tout moteur qui parse la page.

**Niveau 2, la note orpheline (4,0 %).** Un `aggregateRating` existe, mais sur une autre entité que le produit, typiquement l'`Organization`. Ces boutiques croient être au niveau 1. Elles n'y sont pas : une note d'entreprise n'est pas éligible aux étoiles d'une fiche produit.

**Niveau 3, l'attribut propriétaire (52,2 %).** La note vit dans un attribut du conteneur de widget, typiquement `data-number-of-reviews="128"` chez Judge.me. Le HTML la contient, donc un robot qui ne rend pas le JavaScript peut la lire s'il sait où regarder. Mais rien n'est normalisé, et Google ne s'en sert pas pour les extraits d'avis. C'est le cas le plus fréquent, et c'est un demi-signal.

**Niveau 4, le texte seul (8,4 %).** Ni balisage ni attribut, mais « 128 avis » et « 4,6 / 5 » sont écrits dans le HTML rendu côté serveur. C'est moins bien qu'un balisage pour Google, et paradoxalement plutôt bon pour un moteur conversationnel, qui lit le texte.

**Niveau 5, le silence (24,5 %).** Le HTML servi contient un conteneur de widget vide. Ni note, ni compteur, ni texte. Le JavaScript remplit tout au chargement. Pour Google, aucun problème. Pour ChatGPT et Claude, cette boutique n'a pas d'avis du tout.

### Une réserve importante sur le niveau 1

Le JSON-LD est la meilleure garantie pour les moteurs qui indexent, pas une garantie universelle. En navigation directe, ChatGPT et Claude lisent souvent le texte visible plutôt que le balisage : notre propre mesure d'extraction par moteur donne 0 % pour Claude et 37,5 % pour ChatGPT quand le prix n'existe qu'en JSON-LD ([voir le détail](/fr/blog/schema-org-citations-chatgpt-mythe/)).

La règle sûre n'est donc pas « du JSON-LD » mais **les deux à la fois** : la note écrite en clair dans le HTML rendu côté serveur, et un `AggregateRating` rattaché au `Product`. Le niveau 1 sans texte visible reste un pari.

<figure>
  <picture>
    <source media="(max-width: 640px)" srcset="/diagrams/avis-lisibilite-moteurs-mobile-fr.svg" type="image/svg+xml" />
    <img src="/diagrams/avis-lisibilite-moteurs-fr.svg" alt="Niveaux de lisibilité des avis clients : AggregateRating rattaché au Product lu par tous les moteurs, attribut propriétaire lu par Google sans garantie ailleurs, widget JavaScript seul invisible pour ChatGPT, Claude et Perplexity mais visible par Google" width="800" height="420" loading="lazy" decoding="async" style="width:100%;height:auto;" />
  </picture>
  <figcaption style="text-align:center;font-size:0.875rem;color:#6B6B76;margin-top:0.5rem;">Figure 1 : le même affichage à l'écran recouvre plusieurs niveaux de lisibilité machine. Seul le premier est un standard reconnu.</figcaption>
</figure>

### Le silence se concentre sur trois applications

C'est le résultat le plus contre-intuitif de la mesure. Les boutiques totalement muettes ne sont pas réparties au hasard : elles dépendent de l'application installée.

| Application | Boutiques | Au standard (niveau 1) | Muettes sans JavaScript (niveau 5) |
|---|---|---|---|
| Judge.me | 154 | 13 (8,4 %) | **0 (0 %)** |
| Trustpilot | 50 | 6 (12,0 %) | 26 (52,0 %) |
| Loox | 31 | 5 (16,1 %) | 13 (41,9 %) |
| Yotpo | 24 | 5 (20,8 %) | 14 (58,3 %) |
| Autres éditeurs regroupés | 33 | — | — |

**Judge.me n'est jamais muet.** Sur 154 boutiques, aucune n'est au niveau 5 : l'application écrit systématiquement son compteur dans un attribut du HTML servi. C'est un demi-signal, pas le standard, mais un robot qui lit le HTML brut trouve toujours quelque chose. Yotpo, Trustpilot et Loox laissent au contraire entre 42 % et 58 % de leurs boutiques totalement silencieuses.

Deux réserves. Les éditeurs sous 20 observations sont regroupés : à ces effectifs, un « 0 % » se lit comme du bruit, pas comme un classement. Et **Trustpilot est un cas à part** : c'est une plateforme d'avis d'entreprise, pas une application d'avis produit. Une note Trustpilot correctement implémentée porte sur l'`Organization`, et n'est donc pas censée produire un `AggregateRating` de fiche produit. Sa ligne mesure une réalité, pas une faute.

## La vérification, en trois minutes

**Étape 1. Ouvrez le code source, pas l'inspecteur.** C'est le seul piège sérieux de cette procédure. `Ctrl+U` (`Cmd+Option+U` sur Mac) affiche le HTML tel que le serveur l'a envoyé. L'inspecteur d'éléments, lui, montre le DOM après exécution du JavaScript : vos avis y apparaissent toujours, et vous concluez à tort que tout va bien.

**Étape 2. Cherchez `aggregateRating`.** Avec `Ctrl+F` dans le code source. Présent avec un `ratingValue`, et rattaché à un bloc `Product` : vous êtes au niveau 1, rien à faire. Présent mais rattaché à `Organization` : vous êtes au niveau 2, la note ne compte pas pour la fiche. Absent : passez à l'étape 3.

**Étape 3. Cherchez votre nombre d'avis en clair.** Si la page affiche « 128 avis », cherchez `128`. Trouvé dans un attribut du type `data-number-of-reviews` : niveau 3. Trouvé seulement dans le texte : niveau 4. Introuvable alors que la page l'affiche : **niveau 5, et c'est le cas à corriger en priorité.**

Pour la correction, l'ordre compte, et le raccourci évident ne fonctionne pas :

1. **N'attendez pas tout de l'option « rich snippets » de votre application.** C'est le réflexe naturel et il est souvent inopérant : chez Judge.me, Loox et Yotpo, le balisage produit par cette option est lui-même injecté en JavaScript, donc invisible pour les moteurs dont il est question ici. Seul Okendo documente publiquement une injection côté serveur, et Stamped la propose en collage manuel dans le thème. Activez l'option, puis **vérifiez au code source** : si `aggregateRating` n'apparaît pas, l'option n'a rien changé pour vous.
2. **Le correctif fiable passe par le thème.** Si votre thème publie déjà un JSON-LD `Product` (c'est le cas de la plupart des thèmes Shopify récents), ajoutez-y le champ `aggregateRating` alimenté par les métachamps de votre application d'avis. C'est la seule voie qui garantit un rendu côté serveur.
3. **Servez aussi la note en texte.** Le balisage sert Google ; le texte rendu côté serveur sert les moteurs conversationnels. Les deux ensemble couvrent tous les cas.
4. **Ne balisez jamais une note que la page n'affiche pas.** Google exige que le contenu d'avis soit visible pour l'utilisateur. Un `AggregateRating` sans avis affichés est une infraction aux règles, pas une optimisation.

Sur les blocs multiples : plusieurs blocs `Product` sur une même page ne sont pas un problème en soi, Google les réconcilie par `@id`. Ce qui pose problème, ce sont deux blocs qui **déclarent des valeurs différentes**. La procédure complète de correction, app par app, est détaillée dans notre fiche [AggregateRating](/fr/kb/aggregate-rating/).

Vérifiez ensuite avec le test des résultats enrichis de Google, puis rechargez votre fiche avec JavaScript désactivé dans le navigateur. Ce que vous lisez alors est une bonne approximation de ce que reçoit un robot qui ne rend pas les pages. La réserve : certains serveurs varient leur réponse selon le user-agent, donc le rendu exact vu par `GPTBot` peut différer. Pour lever le doute, rejouez la requête avec son user-agent :

```
curl -A "GPTBot" -sL "https://votre-boutique.com/products/votre-produit" | grep -c aggregateRating
```

## Ce que la mesure dit du reste de la fiche

Les avis sont le trou le plus large, mais la même lecture donne l'état des autres signaux. Sur les 457 fiches, en HTML brut :

| Signal | Présent |
|---|---|
| JSON-LD `Product` | 86,9 % |
| Prix | 67,4 % |
| Disponibilité | 66,7 % |
| Marque | 85,6 % |
| SKU | 35,7 % |
| GTIN | 10,9 % |
| Livraison structurée | 4,6 % |
| Politique de retour structurée | 4,6 % |
| `AggregateRating` en JSON-LD rattaché au `Product` | 6,1 % |

Deux points méritent attention. Le prix manque dans 32,6 % des cas, mais la cause diffère de celle des avis : 60 fiches n'ont aucun JSON-LD `Product`, et 89 en ont un sans prix. Le prix reste presque toujours lisible dans le texte de la page, puisque les thèmes Shopify le rendent côté serveur. C'est une perte de précision, pas une disparition. Et 4,4 % des fiches contiennent au moins un bloc JSON-LD que le parseur rejette : un bloc invalide vaut un bloc absent.

Livraison et retours structurés, à moins de 5 %, restent l'angle mort du marché français. Ce sont pourtant deux critères de décision d'achat que les moteurs conversationnels citent volontiers quand ils les trouvent.

## Ce qu'il faut retenir

Le 22 juillet a déplacé l'attention vers Google. C'est logique et ce n'est pas là que se joue votre lisibilité machine, parce que Google exécute déjà le JavaScript de vos widgets. Le décalage est ailleurs : pour un quart des boutiques équipées d'une application d'avis, les moteurs qui lisent le HTML brut ne voient aucune note. Ces moteurs sont ceux où se déroulent aujourd'hui les conversations d'achat assisté.

La correction ne demande ni refonte ni budget, mais elle demande de viser le bon endroit : un champ ajouté au JSON-LD du thème, plutôt qu'un réglage d'application qui produit lui aussi du JavaScript. Ce qui manque, en général, c'est simplement d'avoir regardé le bon HTML.

Une dernière mise en garde sur la lecture de ces chiffres. Ils décrivent une population, pas un produit. À l'échelle d'une boutique, le résultat dépend du mode d'intégration retenu, pas du nom de l'application : nos [trois tests boutique par boutique du 23 juillet](/fr/blog/optimiser-site-shopify-geo/) donnaient trois résultats différents pour des applications identiques.

*Kamil Kaderbay, fondateur de Verity Score. Mesure réalisée le 13 août 2026, méthode et limites détaillées plus haut. Prochaine mesure sur le même corpus : février 2027.*

---

## Articles connexes

- [AggregateRating : la note que les moteurs IA lisent vraiment](/fr/kb/aggregate-rating/)
- [Le mythe schema.org = citations ChatGPT](/fr/blog/schema-org-citations-chatgpt-mythe/)
- [Améliorer la visibilité IA de son site Shopify](/fr/blog/optimiser-site-shopify-geo/)
- [Robots IA bloqués : la procédure de vérification](/fr/blog/verifier-robots-ia-bloques-boutique/)

---

**Vous voulez savoir ce que les moteurs lisent de vos fiches ?** L'app Shopify Verity Score lit vos pages produit sans exécuter le JavaScript, comme les robots de ChatGPT et de Claude, et liste les signaux manquants. [Installer Verity Score depuis le Shopify App Store →](https://apps.shopify.com/verity-score)
## FAQ

### Comment savoir si mes avis sont lisibles par les moteurs IA ?

Ouvrez votre fiche produit et affichez le code source avec Ctrl+U (Cmd+Option+U sur Mac). Attention : utilisez bien le code source, pas l'inspecteur d'éléments, qui montre le DOM après exécution du JavaScript et donne donc une fausse impression. Cherchez ensuite aggregateRating avec Ctrl+F. Si le terme n'apparaît pas, votre note n'est pas dans le format standard. Cherchez aussi votre nombre d'avis en clair : s'il est absent du code source alors qu'il s'affiche sur la page, c'est que le widget l'injecte en JavaScript.

### Google voit-il mes avis s'ils sont affichés par un widget JavaScript ?

Oui, dans la plupart des cas. Google documente un processus en trois temps : exploration, rendu par un Chromium sans interface qui exécute le JavaScript, puis indexation. Google précise toutefois que le rendu passe par une file d'attente et n'est pas instantané, et recommande le rendu côté serveur en rappelant que tous les robots n'exécutent pas le JavaScript. Pour afficher un extrait d'avis dans ses résultats, Google demande en revanche un balisage AggregateRating explicite.

### Les robots de ChatGPT et de Claude exécutent-ils le JavaScript ?

Non. L'analyse conjointe de Vercel et MERJ, portant sur plusieurs centaines de millions de requêtes de robots, ne trouve aucune trace d'exécution de JavaScript chez GPTBot, ClaudeBot, PerplexityBot, Bytespider ou meta-externalagent. Ces robots téléchargent parfois les fichiers JavaScript sans les exécuter. Ils lisent le HTML tel qu'il sort du serveur. La documentation d'OpenAI décrit ses robots et leurs rôles mais ne dit rien de l'exécution du JavaScript.

### Faut-il ajouter du schema.org pour apparaître dans les Aperçus IA de Google ?

Non, et c'est une confusion fréquente. Google écrit explicitement qu'aucune donnée structurée particulière n'est nécessaire pour apparaître dans les Aperçus IA ou le Mode IA. L'AggregateRating ne sert pas à cela : il sert à obtenir un extrait d'avis dans les résultats classiques, et il rend votre note lisible par les moteurs qui n'exécutent pas le JavaScript. Ce sont deux bénéfices réels, mais ce ne sont pas des bénéfices d'Aperçus IA.

### Mon application d'avis ne publie pas d'AggregateRating, que faire ?

Attention au raccourci : activer l'option rich snippets de l'application ne suffit souvent pas. Chez Judge.me, Loox et Yotpo, le balisage produit par cette option est lui-même injecté en JavaScript, donc invisible pour les moteurs qui ne rendent pas la page. Seul Okendo documente publiquement une injection côté serveur, et Stamped la propose en collage manuel dans le thème. Activez l'option, puis vérifiez au code source : si aggregateRating n'apparaît pas, passez par le thème en ajoutant le champ au JSON-LD Product existant, alimenté par les métachamps de l'application.

### Est-ce grave d'avoir la note dans un attribut data- plutôt qu'en balisage ?

C'est mieux que rien et moins bien que le standard. Un attribut comme data-number-of-reviews est servi dans le HTML, donc un robot qui ne rend pas le JavaScript peut le lire s'il sait où regarder. Mais ce n'est pas un format normalisé : rien ne garantit qu'un moteur l'interprète, et Google ne s'en sert pas pour les extraits d'avis. Sur notre échantillon c'est pourtant le cas le plus répandu, 52,2 % des boutiques équipées, et c'est ce qui explique que Judge.me ne soit jamais totalement muet.

### Mon AggregateRating est sur l'Organization et pas sur le produit, est-ce équivalent ?

Non. Une note rattachée à l'Organization décrit votre entreprise, pas l'article affiché : elle ne rend pas la fiche éligible aux étoiles produit. Sur notre échantillon, 4 % des boutiques équipées sont dans ce cas et croient être conformes. C'est aussi pourquoi une note Trustpilot, qui porte par nature sur l'entreprise, n'a pas vocation à produire un AggregateRating de fiche produit.

### Combien de boutiques ont un prix lisible sans JavaScript ?

Sur les 457 fiches mesurées, 67,4 % exposent un prix dans leur JSON-LD et 66,7 % une disponibilité. Le tiers restant se partage entre les fiches sans JSON-LD Product du tout (60 fiches) et celles qui publient un Product sans prix (89 fiches). Contrairement aux avis, le prix reste presque toujours lisible dans le texte de la page, puisque les thèmes Shopify le rendent côté serveur.

### Cette mesure vaut-elle pour les boutiques hors Shopify ?

Le mécanisme est le même partout : ce qui n'est écrit que par du JavaScript est invisible pour un robot qui ne l'exécute pas. Les chiffres, eux, sont propres à cet échantillon de boutiques Shopify françaises. Sur une pile où le prix lui-même est rendu côté client, le trou est plus large que les seuls avis.

## Sources

- [Google : lancement des Aperçus IA et du Mode IA en France (22 juillet 2026)](https://blog.google/intl/fr-fr/nouveautes-produits/explorez-obtenez-des-reponses/recherche-ia-apercus-mode/) (official)
- [Google Search Central : notions de base du SEO JavaScript, exploration puis rendu puis indexation](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics) (official)
- [Google Search Central : fonctionnalités IA et votre site, aucune donnée structurée spécifique requise](https://developers.google.com/search/docs/appearance/ai-features) (official)
- [Google Search Central : données structurées d'extrait d'avis, AggregateRating requis](https://developers.google.com/search/docs/appearance/structured-data/review-snippet) (official)
- [Google Search Central : JSON-LD, microdonnées et RDFa acceptés à égalité](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data) (official)
- [Vercel et MERJ : les robots IA n'exécutent pas le JavaScript (17 décembre 2024)](https://vercel.com/blog/the-rise-of-the-ai-crawler) (industry)
- [SearchOptimo : les robots IA rendent-ils le JavaScript, mesure 2026 (juin 2026)](https://searchoptimo.com/blog/do-ai-crawlers-render-javascript) (industry)
- [OpenAI : documentation des robots GPTBot, OAI-SearchBot et ChatGPT-User](https://developers.openai.com/api/docs/bots) (official)
- [Anthropic : comportement du crawler et recommandation sur le JavaScript](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) (official)

