FERRAMENTA GRÁTIS · GERADOR DE SCHEMA DE PRODUTO
Gerador de schema de produto
Descreva um produto e receba os dados estruturados de produto em JSON-LD — Product com Offer — conferidos contra as regras da listagem do comerciante enquanto você digita: preço à vista acima de zero, moeda BRL, ponto como separador decimal e uma data de validade que ainda não venceu. Junto vem o bloco visível da página, com os mesmos valores. Grátis e no seu navegador.
Também emEnglish繁體中文日本語한국어EspañolFrançaisDeutschPortuguês (Brasil)
Obrigatório. O Google sugere a mesma foto em várias proporções: 1x1, 4x3 e 16x9.
No máximo um nome de marca.
Só dígitos: 8, 12, 13 ou 14. O EAN-13 registrado pela GS1 Brasil começa com 789 ou 790. A forma de URL não é aceita.
Número com ponto decimal: 1299.90. Sem R$ e sem ponto de milhar — "1.299" seria lido como pouco mais de um real.
Uma data que já passou pode fazer as informações do produto nem aparecerem.
A URL do nó de política que você marcou na Organization. O Google prefere isso a uma cópia dentro de cada Offer.
Só notas que a sua própria loja coletou de compradores. Nunca a nota do seu anúncio no marketplace.
Em branco, o Google assume uma escala de 5 pontos.
Tudo roda nesta página. Nenhum nome, preço ou URL de imagem sai do seu navegador.
Fontes: Google Search Central — dados estruturados das informações do produto do comerciante; Ajuda do Google Merchant Center — Parcelas [installment] e Preço [price]; schema.org — price e PriceComponentTypeEnumeration; legislação no Planalto — Lei 10.962/2004, Decreto 5.903/2006, Lei 13.455/2017, Código de Defesa do Consumidor e Decreto 7.962/2013; GS1 Brasil sobre os prefixos 789 e 790. Tudo conferido em 26 de setembro de 2026. Não é aconselhamento jurídico.
Como gerar o schema de produto
Três propriedades obrigatórias no produto, duas na oferta e um punhado de regras que decidem se a listagem aparece. O gerador confere cada uma enquanto você digita e escreve o bloco visível a partir dos mesmos valores.
- Dê nome ao produto e adicione as imagens. name e image são obrigatórios na listagem do comerciante. A mesma foto em várias proporções vale mais que uma só, e toda URL precisa ser rastreável e indexável.
- Preencha a oferta com o preço à vista. Um preço maior que zero, com ponto decimal e sem R$, e o código BRL. É isso que transforma um Product em algo que o Google pode listar como à venda. Parcelas ficam fora do price.
- Defina a disponibilidade e a validade do preço. availability e itemCondition saem com os nomes curtos, que o Google aceita. Deixe priceValidUntil em branco em vez de esquecer uma data vencida nele.
- Aponte para as políticas em vez de copiá-las. Marque frete e devolução uma vez, na Organization, e referencie esses nós aqui pelo @id. O Google recomenda a política global em vez de uma cópia em cada oferta.
- Cole as duas saídas. O JSON-LD vai na página do produto. O bloco visível, com rótulos em português, traz exatamente o preço, a disponibilidade e os códigos que a marcação declara — que é a regra que a marcação precisa cumprir de qualquer jeito.
Três propriedades no produto, duas na oferta
Um gerador de schema de produto transforma os dados de um produto em JSON-LD Product e Offer — os dados estruturados que o Google lê para preço, disponibilidade e identificadores como o EAN. A lista do que é obrigatório é curta e vale decorar, porque quase tudo o que os geradores exigem não está nela.
| Nível | Obrigatório | O que acontece sem isso |
|---|---|---|
| Product | name, image, offers | Não há listagem do comerciante. offers precisa ser uma Offer: a AggregateOffer só serve para snippet de produto, porque a listagem do comerciante exige que você seja o vendedor. |
| Offer | price (ou priceSpecification.price) e priceCurrency | Não há o que listar. priceCurrency é obrigatório sempre que houver price, e a listagem do comerciante ainda exige preço maior que zero. |
O resto — brand, sku, gtin, description, availability, itemCondition, priceValidUntil, aggregateRating — é recomendado. Recomendado não quer dizer enfeite: a descrição o Google chama de altamente recomendável, e um identificador é o que liga a sua página ao mesmo produto no marketplace e no comparador de preços. Mas um gerador que não entrega nada enquanto você não preenche catorze campos está impondo o formulário dele, não as regras do Google.
Qual preço vai no price: o à vista, em BRL, com ponto
No Brasil, a lei já escolheu o preço principal. A Lei 10.962/2004 manda o comércio eletrônico divulgar de forma ostensiva o preço à vista, junto à imagem do produto, em fonte não inferior a doze (art. 2º, III). O Decreto 5.903/2006 completa: o preço se informa discriminando o total à vista; no parcelamento, também o total financiado, o número, a periodicidade e o valor das prestações, os juros e os encargos (art. 3º) — e informar o preço apenas em parcelas é infração (art. 9º, IV). É esse preço à vista que vai em price.
O formato é o avesso do brasileiro. As diretrizes de uso do schema.org, que o Google manda seguir, pedem ponto decimal, nenhum símbolo como separador de milhar e a moeda em priceCurrency, fora do valor:
Na página: R$ 1.299,90 à vista
No JSON-LD: "price": "1299.90", "priceCurrency": "BRL"
A armadilha é o ponto de milhar. 1.299,90 e R$ 1299 o gerador recusa; 1.299 passa — é um número válido, e vale um real e 299 milésimos.
Parcelamento não tem para onde ir no JSON-LD. Nas propriedades de preço que o Google documenta para a listagem do comerciante, priceType só aceita StrikethroughPrice, referenceQuantity é preço por unidade de medida e validForMemberTier é preço de fidelidade; nenhuma descreve prestações, e o valor Installment do schema.org fica fora da lista. O 10x sem juros o Google lê no Merchant Center: o atributo [installment] vale no Brasil para anúncios do Shopping e listagens gratuitas, em todas as categorias, não tem propriedade schema.org correspondente e precisa bater com o parcelamento da página de destino. No feed, 10 parcelas de R$ 129,99 viram 10:129.99 BRL; entrada não é aceita na América Latina, e [price] segue sendo o pagamento à vista.
Desconto no Pix ou no boleto também não tem propriedade própria. A Lei 13.455/2017 autoriza preço diferente por prazo ou forma de pagamento, desde que o desconto esteja visível (art. 5º-A da Lei 10.962): marque em price o preço que a página apresenta como o preço do produto e deixe o desconto no texto. Para o Brasil, o Merchant Center pede o mesmo — preço com impostos incluídos e igual ao da página de destino.
E duas regras do Google que o gerador trata como erro: zero não é preço, então um "sob consulta" gravado como 0 desqualifica a oferta; e um priceValidUntil no passado pode fazer as informações do produto nem aparecerem. Em promoção, o preço atual fica em price, o original vai numa UnitPriceSpecification com priceType igual a StrikethroughPrice, e o preço ativo nunca leva priceType.
EAN, marketplace e a nota que não é sua
O gtin liga a sua página ao mesmo produto em qualquer outro lugar. O EAN-13 do código de barras é um GTIN de 13 dígitos, e os prefixos que a GS1 Brasil atribui são 789 e 790 — que indicam onde o código foi registrado, não onde o produto foi fabricado.
- Só dígitos. O Google aceita o GTIN numérico, de 8, 12, 13 ou 14 dígitos, nunca em forma de URL. O gerador escreve a propriedade genérica
gtin; se preferir a mais específica, que o Google recomenda, troque porgtin13. - Código de fonte oficial. A GS1 Brasil avisa que código comprado de fonte não autorizada pode estar duplicado e ser rejeitado por varejistas e marketplaces.
- A nota do marketplace fica no marketplace. O Google manda não coletar avaliações nem classificações de outros sites: a média do seu anúncio no Mercado Livre, na Shopee ou na Amazon é da página deles. No seu site, só as notas dos compradores da sua loja, com
ratingCount— média sem contagem não é nota agregada. - Vírgula só na tela. O leitor vê 4,7; o JSON-LD quer
4.7, e o gerador recusa a vírgula.
Para roupa e calçado, um detalhe pouco usado: a documentação do Google lista WearableSizeSystemBR, o sistema de tamanhos do Brasil, entre os valores de sizeSystem. Não está neste formulário, mas cabe no mesmo nó Product. As regras de quais notas você pode marcar estão no gerador de schema de avaliação.
Frete e devolução: uma política na Organization, com os 7 dias do CDC
shippingDetails e hasMerchantReturnPolicy aparecem como obrigatórios em muito conselho por aí. Na documentação do Google, são recomendados — e o Google prefere uma política global na Organization, referenciada na oferta só pelo @id, deixando a cópia dentro da Offer para o produto que foge da regra geral. É o que os dois campos deste formulário geram.
A devolução tem piso em lei. O Código de Defesa do Consumidor dá 7 dias para desistir de uma compra feita fora do estabelecimento comercial, contados do recebimento do produto, com devolução imediata do que foi pago (art. 49), e o Decreto 7.962/2013 obriga a loja online a informar com clareza como exercer esse direito de arrependimento (art. 5º). Na marcação da Organization, fica assim:
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"@id": "https://www.exemplo.com.br/trocas-e-devolucoes#politica",
"applicableCountry": "BR",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 7
}
applicableCountry e returnPolicyCategory são obrigatórias; com prazo finito, merchantReturnDays também, e o Google conta os dias a partir da entrega. Se a loja dá 30 dias, escreva 30 — abaixo de 7, o markup descreveria menos que o direito de arrependimento. O frete tem a mesma contrapartida: o Decreto 7.962/2013 exige que o site mostre em destaque despesas adicionais como a entrega, as formas de pagamento e o prazo (art. 2º), e a marcação só repete isso para as máquinas. Loja física com retirada é outro nó: veja o gerador de schema de empresa local.
Perguntas frequentes
O que é um gerador de schema de produto?
Um gerador de schema de produto transforma os dados de um produto em JSON-LD Product e Offer — os dados estruturados que o Google lê para preço, disponibilidade e identificadores como o EAN. Este confere as regras da listagem do comerciante enquanto você digita e escreve, a partir dos mesmos valores, o bloco visível do produto.
Quais campos são obrigatórios nos dados estruturados de produto?
No produto: name, image e offers. Na oferta: price e priceCurrency — e, para a listagem do comerciante, o preço precisa ser maior que zero. offers tem de ser uma Offer, não uma AggregateOffer, porque a listagem do comerciante pressupõe que você é o vendedor. Marca, GTIN e descrição são recomendados.
Dá para colocar o parcelamento, tipo 10x sem juros, no schema?
Não de um jeito que o Google leia. Nenhuma das propriedades de preço que ele documenta para a listagem do comerciante descreve prestações. O parcelamento vai no texto da página e, se você usa o Merchant Center, no atributo [installment], disponível no Brasil para anúncios do Shopping e listagens gratuitas. O price continua sendo o preço à vista.
Como escrevo o preço em reais no JSON-LD?
Como número com ponto decimal e sem separador de milhar: 1299.90, com priceCurrency BRL. Nada de R$ 1.299,90 dentro do price. Cuidado com o ponto de milhar: 1.299 é um número válido, mas vale pouco mais de um real. Na página, o preço continua escrito do jeito brasileiro.
Por que o produto não aparece com preço no Google se o schema está válido?
A causa mais comum é um priceValidUntil com data passada: o Google avisa que, nesse caso, as informações do produto podem não ser exibidas. Preço zero, priceCurrency ausente ou imagem bloqueada para rastreamento têm o mesmo efeito, mesmo com o JSON-LD tecnicamente válido.
Posso usar as avaliações do meu anúncio no Mercado Livre no schema do meu site?
Não. As diretrizes do Google dizem para não coletar avaliações nem classificações de outros sites, e a média do marketplace pertence à página do marketplace. No seu site, marque só as notas que os seus próprios compradores deram, com a contagem, sem avaliações falsas e sem incentivo escondido.
Preciso marcar frete e devolução em cada produto?
Não. Os dois são recomendados, não obrigatórios, e o Google prefere uma política global na marcação Organization, referenciada em cada oferta pelo @id. Na devolução, lembre do piso do Código de Defesa do Consumidor para compra online: 7 dias de arrependimento, contados do recebimento.
Dez mil páginas de produto. Quais o Google realmente tem?
Checar o seu próprio domínio não custa nada: cada página com o status HTTP ao vivo e se o Google a indexou, impressões e posições contra a janela anterior, e o tráfego por origem com os mecanismos de IA contados à parte. Um comando, de dentro do seu agente.
$ npm i -g @clize/clize && clize install $ clize seo check --domain sualoja.com.br[ Agent SEO da Clize → ]