Exemplo de schema Product para Shopify de moda
Exemplos JSON-LD Product e ProductGroup prontos para copiar para Shopify de moda — cobre variantes de tamanho e cor, offers, breadcrumbs, e as regras de AggregateRating que decidem se os motores de busca por IA realmente citam sua página de produto.
Páginas de produto de moda no Shopify são citadas por motores IA shopping
com base em quão precisamente o JSON-LD descreve a paisagem de
variantes. Um comprador perguntando «camisa de linho que veste fiel
ao tamanho em médio» no ChatGPT, Perplexity ou Gemini precisa que a IA
reconheça que a variante específica existe, está em estoque, tem preço,
e é descrita distintamente das irmãs L e XL. Schema Product genérico
sem detalhe de variante força a IA a adivinhar; ProductGroup com
hasVariant lhe dá os dados para citar com confiança.
Este exemplo entrega dois blocos JSON-LD prontos para copiar: um
ProductGroup para a matriz de variantes, e um BreadcrumbList para
contexto de categoria. Ambos calibrados para passar Google Rich Results
Test limpamente e refletir o conteúdo visível da página (a regra que
motores IA realmente aplicam na prática).
Quando usar Product vs ProductGroup
| Caso de uso | Schema | Por quê |
|---|---|---|
| Item de SKU único (um tamanho, uma cor) | Product | Sem matriz de variantes — adicionar ProductGroup é exagero. |
| Moda com variantes só de tamanho | ProductGroup + variesBy: size | Queries IA shopping são condicionadas por tamanho. |
| Moda com variantes só de cor | ProductGroup + variesBy: color | Queries IA são condicionadas por cor. |
| Moda com matriz tamanho × cor | ProductGroup + ambos variesBy | Produto cartesiano de variantes; cada hasVariant é o SKU único. |
| Bundle / kit (múltiplos pais) | Product por item + isRelatedTo customizado | ProductGroup descreve variantes de um produto, não bundles multi-produto. |
Templates Liquid padrão do Shopify emitem Product independente da
contagem de variantes. O upgrade para ProductGroup para qualquer loja
de moda com múltiplos tamanhos é uma edição de tema única (ou um app
Shopify que faz automaticamente); o ganho de citação IA shopping vale o
esforço.
ProductGroup JSON-LD (moda com variantes)
Cole em um template de página de produto, substituindo os valores
placeholder. O exemplo mostra um subconjunto de 2 variantes; em produção
você terá uma entrada hasVariant por SKU real.
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"name": "Linen Relaxed Shirt",
"description": "A breathable linen shirt in three colors, sizes XS–XL. 100% European linen, pre-washed for softness.",
"brand": {
"@type": "Brand",
"name": "Example Apparel"
},
"productGroupID": "linen-shirt-001",
"variesBy": ["https://schema.org/size", "https://schema.org/color"],
"hasVariant": [
{
"@type": "Product",
"sku": "LINEN-SHIRT-WHITE-M",
"name": "Linen Relaxed Shirt — White / M",
"color": "White",
"size": "M",
"material": "Linen",
"image": "https://example.com/products/linen-shirt-white.jpg",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/linen-shirt?variant=white-m",
"priceCurrency": "USD",
"price": "79.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
},
{
"@type": "Product",
"sku": "LINEN-SHIRT-BLACK-S",
"name": "Linen Relaxed Shirt — Black / S",
"color": "Black",
"size": "S",
"material": "Linen",
"image": "https://example.com/products/linen-shirt-black.jpg",
"offers": {
"@type": "Offer",
"url": "https://example.com/products/linen-shirt?variant=black-s",
"priceCurrency": "USD",
"price": "79.00",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
}
]
} BreadcrumbList JSON-LD
Combine o ProductGroup com um BreadcrumbList para que motores IA
entendam a hierarquia de categoria onde seu produto vive. As URLs do
breadcrumb devem coincidir exatamente com o breadcrumb visível.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Shirts",
"item": "https://example.com/collections/shirts"
},
{
"@type": "ListItem",
"position": 3,
"name": "Linen Relaxed Shirt",
"item": "https://example.com/products/linen-shirt"
}
]
} Erros comuns (por frequência)
-
Marcar variantes que não são visíveis nem selecionáveis na página. Schema deve refletir realidade visível. Se sua página mostra só S / M / L mas o JSON-LD declara XS a XXL, motores IA acabarão tentando citar uma variante 404 e penalizando a loja.
-
Usar AggregateRating sem widget de reviews. Ou exiba as reviews visivelmente (app Shopify Reviews), ou remova o campo schema. Não fabrique.
-
Inconsistência de currency, preço ou disponibilidade entre schema e página visível. Comprador vê
$79mas schema declara89.00— motores IA pegam o número do schema, citam, e o comprador se sente enganado. Pior: Google flaca o schema como pouco confiável. -
Reutilizar o mesmo
skuentre variantes. Shopify gera SKUs únicos mas merchants frequentemente sobrescrevem. SKUs duplicados emhasVariantfazem motores IA mesclarem variantes incorretamente. -
Misturar
ProductGroupeProductde modo que nomes específicos de variante se percam. Se emitir ambos para o mesmo item, garanta que a instânciaProducté o pai (sem detalhe de variante) eProductGroup.hasVariantcontém as variantes. Não emitaProductpara cada variante fora do grupo. -
Adicionar claims médicas ou não suportadas às descrições de moda. «Corretora de postura» / «melhora a circulação» / «tecido antibacteriano previne doenças de pele» — são claims regulamentados na maioria dos mercados e disparam penalização IA mesmo quando legalmente OK. Fique com descrições de caimento e material.
-
Apontar URLs do schema para URLs de variante não canônicas. Se a página usa uma URL canônica do produto (ex.:
/products/linen-shirt) e variantes são selecionadas por query-param (?variant=white-m),hasVariant[].offers.urldeve ainda apontar para a URL específica da variante — é onde compradores (e agentes IA) aterrissam.
Como verificar
- Cole a URL do produto deployada no
Google Rich Results Test
. Os itens Product e BreadcrumbList devem validar. - Passe o checklist de validação acima campo por campo.
- Abra a página em janela anônima e verifique que H1 do produto visível, preço, disponibilidade e breadcrumb todos coincidem com o que o schema declara.
- Re-execute o gerador de Schema se mudar a estrutura do produto (nova cor, tamanho removido) e redeploye.
O JSON-LD é um sinal na pilha IA shopping. Combine com o modelo llms.txt moda para o lado de mapa de conteúdo, e verifique com o Analisador Robots que GPTBot pode alcançar a página de produto.
Lista de validação
Nome do produto no schema coincide com o H1 visível
O campo `name` do ProductGroup coincide exatamente com o H1 da página de produto (maiúsculas + pontuação). Motores IA penalizam desencontros como sinal de baixa confiança.
Cada variante tem um SKU único
Nenhum valor `hasVariant[].sku` colide. Shopify auto-gera SKUs mas merchants frequentemente sobrescrevem — SKUs duplicados no schema fazem motores IA mesclarem variantes incorretamente.
Nomes de variante identificam tamanho / cor / material
Cada `hasVariant[].name` lê como label real de produto (ex.: «Linen Relaxed Shirt — White / M»), não placeholder. Respostas IA shopping citam este campo diretamente.
productGroupID estável entre deploys
O `productGroupID` deve ser um identificador interno estável (Shopify product GID ou slug customizado), não UUID aleatório de build-time. Motores IA usam para deduplicar o mesmo produto entre recarregamentos.
Cada Offer tem currency + price + availability + URL
O bloco `offers` de cada variante tem `priceCurrency`, `price`, `availability`, `url`. Currency ausente é a razão nº 1 pela qual Google Rich Results Test degrada um resultado Product.
AggregateRating só presente se reviews reais visíveis
Se emitir `aggregateRating`, a mesma avaliação + contagem de reviews deve ser visível na página. Motores IA comparam schema com conteúdo visível; ratings fabricados disparam downweighting.
BreadcrumbList coincide com breadcrumb visível
A cadeia de URLs `itemListElement` coincide exatamente com o breadcrumb visível da página (mesmo caminho, mesmos rótulos). Discrepâncias confundem motores IA que usam contexto de breadcrumb para entender categoria.
Rich Results Test não retorna erros críticos
Após deploy, cole a URL do produto em https://search.google.com/test/rich-results — os itens Product e BreadcrumbList devem validar sem erros críticos.
Abrir no gerador de Schema
Pré-preenchido com placeholders de moda para nome de produto, descrição, marca, preço, disponibilidade e ratings. Substitua placeholders por dados reais e baixe um bloco JSON-LD pronto para Shopify.
Perguntas frequentes
Um produto Shopify de moda deve usar Product ou ProductGroup?
Use `Product` para um item simples sem variantes. Use `ProductGroup` sempre que existirem variantes de tamanho, cor ou material — permite que motores IA citem a variante certa para uma query específica («camisa de linho tamanho M») em vez de confundi-las. Templates Liquid padrão do Shopify emitem apenas `Product`; o upgrade para `ProductGroup` é manual mas vale a pena para qualquer loja de moda com múltiplos tamanhos.
Posso emitir AggregateRating sem reviews visíveis na página?
Não. Schema deve refletir conteúdo visível. Se emitir `aggregateRating: 4.7 from 32 reviews` mas a página não tem widget de reviews, motores IA e Google flagam como pouco confiável. Renderize as reviews visivelmente (apps Shopify como Judge.me ou Shopify Reviews nativo) ou remova o campo schema.
Cada variante de cor deve ser uma entrada hasVariant separada?
Sim quando a variante tem SKU, cor, tamanho, imagem, preço ou disponibilidade distintos. Motores IA shopping respondendo «a camisa de linho preta ainda está em estoque» precisam que cada variante seja um nó Product endereçável separadamente com seu próprio `offers.availability`. Só cor → um `hasVariant` por cor; só tamanho → um por tamanho; tamanho+cor → produto cartesiano.
O schema ProductGroup substitui os feeds de produto do Shopify?
Não. O JSON-LD na página complementa os feeds (o `/products.json` auto-gerado do Shopify, Google Merchant feed, Meta Catalog). Motores IA shopping crawlam páginas diretamente *e* lêem feeds — ambos sinais importam. Não largue um pelo outro.
Recursos relacionados
Modelo llms.txt Shopify de moda
Combine este schema Product com um mapa de conteúdo llms.txt — ambos sinais trabalham juntos para citação IA shopping.
Modelo llms.txt Shopify de beleza
Vertical irmã — os mesmos princípios JSON-LD aplicam ao schema Product de beleza, mas com campos de contexto de ingredientes em vez de tamanho/cor.
Modelo llms.txt Shopify de eletrônicos
Vertical irmã — para eletrônicos usar ProductGroup com campos de número de modelo + compatibilidade em vez de variantes tamanho/cor.
Shopify AI Visibility Optimizer
A pilha completa de visibilidade IA — schema, mapa de conteúdo, política crawler, monitoramento de citações.
llms.txt para Shopify — guia completo
Contexto sobre o sinal de mapa-de-conteúdo que combina com o sinal schema neste exemplo.