OUTIL GRATUIT · GÉNÉRATEUR DE SCHEMA PRODUIT

Générateur de schema produit

Décrivez un produit : vous obtenez les données structurées Product et Offer en JSON-LD, vérifiées pendant la saisie selon les règles des fiches de marchand de Google — prix supérieur à zéro, devise présente, date de validité non expirée — et le bloc visible qui porte les mêmes valeurs sur la page.

GratuitInstantanéSans inscriptionRien n'est envoyé

Aussi enEnglish繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)

Product + Offer · générateur
Le produit

Obligatoire. Google conseille plusieurs formats de la même photo : 1x1, 4x3 et 16x9.

Un seul nom de marque.

Les chiffres sous le code-barres : 8, 12, 13 ou 14. La forme URL n'est pas acceptée.

L'offre

Des chiffres et un point : 89.90, pas 89,90 € ni 1 299,00. Règle de schema.org ; sur la page, gardez l'écriture française.

AAAA-MM-JJ. Une date déjà passée peut empêcher toute la fiche de s'afficher.

Livraison et retours (facultatif)

L'URL de la politique balisée sous Organization, que Google préfère à une copie dans chaque Offer.

Note globale (facultatif)

Uniquement les notes de vos acheteurs, sur votre site. Jamais la moyenne d'une place de marché.

Laissé vide, Google suppose une échelle sur 5.

Erreurs et avertissements
    JSON-LD — à coller dans la fiche produit
    
                
    HTML visible — les mêmes valeurs, sur la page
    
                

    Tout s'exécute dans cette page. Aucun nom de produit, prix ou URL d'image ne quitte votre navigateur.

    Sources : Google — données structurées des fiches de marchand et attribut prix de Merchant Center ; Service Public — affichage des prix et directive Omnibus ; GS1 France — obtenir un GTIN et vendre en ligne avec un GTIN/EAN ; schema.org/price. Article L112-1-1 du Code de la consommation relu sur Légifrance le 26 septembre 2026.

    Comment générer le schema produit

    Trois propriétés obligatoires sur le produit, deux sur l'offre, et quelques règles qui décident si la fiche s'affiche. Le générateur les vérifie pendant la saisie et écrit le bloc visible à partir des mêmes valeurs.

    1. Nommez le produit et ajoutez des images. name et image sont obligatoires pour une fiche de marchand. Plusieurs formats de la même photo valent mieux qu'un seul, et chaque URL doit être explorable et indexable.
    2. Renseignez l'offre au prix TTC. Un prix supérieur à zéro, écrit avec un point, et le code devise EUR. Pour un client en France, c'est le prix toutes taxes comprises, celui que la page affiche.
    3. Indiquez la disponibilité et la date du prix. availability et itemCondition sortent en noms courts, que Google accepte. Laissez priceValidUntil vide plutôt que d'y oublier une date dépassée.
    4. Pointez vers vos conditions au lieu de les recopier. Balisez une fois la livraison et les retours sous Organization, puis référencez-les ici par @id, comme Google le recommande.
    5. Collez les deux sorties. Le JSON-LD va dans la fiche produit. Le bloc visible, aux intitulés français, liste les mêmes valeurs : présentez-les à la française, prix écrit 89,90 € TTC, sans changer ce qu'elles disent.

    Trois propriétés sur le produit, deux sur l'offre

    Un générateur de schema produit transforme la fiche d'un article en données structurées Product et Offer au format JSON-LD — le balisage que Google lit pour le prix, la disponibilité et les identifiants, et qui rend une page éligible aux fiches de marchand. La liste des propriétés obligatoires est courte :

    NiveauObligatoireSans elle
    Productname, image, offersPas de fiche de marchand. offers doit être une Offer : AggregateOffer ne vaut que pour les extraits produit, car une fiche de marchand suppose que vous êtes le vendeur.
    Offerprice, priceCurrencyRien à afficher. La devise est obligatoire dès qu'un prix est donné, et ce prix doit être supérieur à zéro.

    Le reste — brand, gtin, availability, priceValidUntil, aggregateRating… — est recommandé. Deux précisions de la documentation de Google évitent des heures de débogage : seules les pages depuis lesquelles on peut acheter le produit sont éligibles, et si vous vendez en euros pour la France et en francs suisses pour la Suisse, il faut une URL par devise, pas deux prix sur la même page.

    Le prix : toutes taxes comprises, en euros, avec un point

    Sur le prix se croisent le droit de la consommation, Google et schema.org.

    • Le montant est TTC. Face à un consommateur, le prix s'exprime en euros toutes taxes comprises — règle rappelée par Service Public. Google Merchant Center range la France parmi les pays où price inclut la TVA et doit correspondre à la page de destination. Le balisage suit : price est le prix TTC affiché, pas le hors taxe de votre gestion commerciale.
    • La page écrit 89,90 €, le balisage écrit 89.90. schema.org demande un point décimal, aucun séparateur de milliers et la devise dans priceCurrency. 89,90 € et 1 299,00 sont refusés ; 89.90 avec EUR passe. Sur la page, gardez l'écriture française : même valeur, autre lecteur.
    • Zéro n'est pas un prix. Contrairement aux extraits produit, les fiches de marchand exigent un prix supérieur à zéro : un « prix sur demande » codé 0 disqualifie l'offre.
    • Une date périmée est pire que pas de date. Google l'écrit : votre fiche peut ne pas s'afficher si priceValidUntil indique une date passée. Le générateur compare la date à celle du jour et en fait une erreur.

    Le bloc visible a des intitulés en français, mais il reprend les valeurs du balisage telles quelles — 89.90, EUR, InStock, 2028-12-31. Sur la fiche, écrivez prix, disponibilité et date à la française ; seule la valeur ne doit pas bouger.

    Prix barré : en France, c'est le prix de référence légal

    Pendant une promotion, le prix actif reste dans price et l'ancien prix s'ajoute dans une UnitPriceSpecification marquée StrikethroughPrice — sans priceType sur le prix actif, comme le demande Google. Ce générateur écrit le prix actif ; le prix barré s'ajoute à la main :

    "offers": {
            "@type": "Offer",
            "price": "71.90",
            "priceCurrency": "EUR",
            "priceSpecification": {
              "@type": "UnitPriceSpecification",
              "priceType": "https://schema.org/StrikethroughPrice",
              "price": "89.90",
              "priceCurrency": "EUR"
            }
          }

    Le chiffre à barrer, lui, n'est pas libre. Depuis le 28 mai 2022, l'article L112-1-1 du Code de la consommation, issu de la transposition de la directive Omnibus, impose d'indiquer le prix antérieur : le prix le plus bas pratiqué par le professionnel à l'égard de tous les consommateurs au cours des trente derniers jours précédant l'application de la réduction de prix. En cas de réductions successives, c'est le prix d'avant la première ; les produits périssables menacés d'une altération rapide sont exclus. La valeur marquée StrikethroughPrice doit donc être ce prix de référence : Service Public rappelle que les fausses promotions exposent à deux ans d'emprisonnement et 300 000 € d'amende.

    Même logique pour le prix au kilo ou au litre, obligatoire pour la plupart des produits alimentaires, d'hygiène et d'entretien préemballés : Google le lit via referenceQuantity et juge ce mode de tarification particulièrement important dans l'UE. Le générateur ne l'écrit pas ; ajoutez-le si votre catalogue en a besoin.

    Code EAN, Gencod, GTIN : un seul numéro

    Le code EAN est un GTIN : GS1 France précise que le GTIN s'appelait anciennement EAN ou Gencod, et que ce sont les chiffres imprimés sous le code-barres. Il se place dans gtin, sous forme numérique — Google refuse la forme URL.

    • Un code en 3 ne veut pas dire « fabriqué en France ». GS1 France dispose des préfixes 300 à 379, mais GS1 rappelle que ses préfixes n'indiquent pas le pays d'origine du produit, seulement l'organisation qui a attribué le code.
    • Le même code que sur les places de marché. Selon GS1 France, Amazon, Cdiscount, Leroy Merlin ou Back Market exigent un GTIN : le reprendre dans le balisage aide Google à rapprocher votre fiche du même article vendu ailleurs.
    • Le plus spécifique, si vous le souhaitez. Google accepte la propriété générique gtin, celle qu'écrit ce générateur, mais conseille la plus précise : renommez-la gtin13 pour un EAN à treize chiffres.

    sku, votre référence interne, ne doit pas contenir d'espaces et Google conseille de s'en tenir à l'ASCII — pas d'accents. mpn est la référence fabricant.

    Livraison, retours et étoiles

    shippingDetails et hasMerchantReturnPolicy passent parfois pour obligatoires. Google les classe parmi les propriétés recommandées d'Offer et conseille de fournir des conditions de livraison et de retour globales sous Organization, la propriété de l'offre ne servant qu'aux produits qui y dérogent. D'où les deux champs facultatifs du formulaire : un simple @id vers la politique balisée une fois.

    Les étoiles sur un produit que vous vendez sont permises quand les notes viennent de vos acheteurs, sur votre site ; la restriction des avis sur soi-même vise les pages LocalBusiness et Organization. Restent interdits : regrouper des notes venues d'autres sites — la moyenne de votre boutique sur une place de marché appartient à cette place de marché — et les avis faux ou incités non signalés. Il faut aussi ratingCount ou reviewCount. Les règles complètes, avec ce que le droit français y ajoute, sont sur le générateur de schema avis.

    Questions fréquentes

    Qu'est-ce qu'un générateur de schema produit ?

    Un générateur de schema produit transforme la fiche d'un article en données structurées Product et Offer au format JSON-LD — le balisage que Google lit pour le prix, la disponibilité et les identifiants, et qui rend une page éligible aux fiches de marchand. Celui-ci vérifie ces règles pendant la saisie et écrit un bloc visible avec les mêmes valeurs.

    Le prix dans le balisage doit-il être TTC ?

    Oui, pour une boutique qui vend à des consommateurs en France. Le prix s'affiche en euros toutes taxes comprises, Google Merchant Center demande pour la France un prix TVA incluse identique à celui de la page, et le balisage décrit ce que la page affiche : price reprend donc le prix TTC.

    Faut-il écrire 89,90 ou 89.90 dans le JSON-LD ?

    89.90, avec un point, et EUR dans priceCurrency. schema.org demande un point décimal, aucun séparateur de milliers et la devise hors de la valeur : 89,90 €, 89.90 € ou 1 299,00 sont refusés par ce générateur. Sur la page, continuez d'écrire 89,90 €.

    Comment baliser un prix barré pendant une promotion ?

    Gardez le prix actif dans price et ajoutez l'ancien prix dans une UnitPriceSpecification avec priceType StrikethroughPrice. En France, ce prix barré doit être le prix de référence de l'article L112-1-1 du Code de la consommation : le prix le plus bas pratiqué au cours des trente jours précédant la réduction.

    Le code EAN est-il un GTIN ?

    Oui. GTIN est le nom actuel de ce qu'on appelait EAN ou Gencod : les chiffres sous le code-barres. Mettez-le sous forme numérique dans gtin, ou gtin13 pour un code à treize chiffres. Un code commençant par 300 à 379 vient de GS1 France, mais ce préfixe n'indique pas le pays d'origine du produit.

    Pourquoi ma fiche produit n'apparaît-elle pas alors que le balisage est valide ?

    Vérifiez d'abord priceValidUntil : Google indique que la fiche peut ne pas s'afficher si cette date est passée. Un prix à zéro, une devise absente ou une image bloquée à l'exploration ont le même effet sans rendre le JSON-LD invalide. Et seules les pages où l'on peut acheter le produit sont éligibles aux fiches de marchand.

    shippingDetails et hasMerchantReturnPolicy sont-ils obligatoires ?

    Non. Ce sont des propriétés recommandées d'Offer, et Google conseille de déclarer des conditions de livraison et de retour globales sous Organization, puis de les référencer depuis chaque offre par @id. Les propriétés de l'offre servent seulement à déroger à cette politique pour certains produits.

    clize seo check — gratuit pour votre propre domaine

    Dix mille fiches produit. Lesquelles Google a-t-il vraiment ?

    Analyser votre propre domaine ne coûte rien : chaque page avec son statut HTTP en direct et son état d'indexation, impressions et positions face à la période précédente, et le trafic par source avec les moteurs IA comptés à part. Une commande, depuis votre agent.

    $ npm i -g @clize/clize && clize install
    $ clize seo check --domain votreboutique.fr
    [ Agent SEO par Clize → ]