Já viu aqueles resultados no Google em que uma ficha de produto mostra logo as estrelas, o preço e "Em stock" por baixo do título? Isso é um rich result, e é isso que um schema.org Product bem implementado ativa. Os sites que beneficiam disso veem o CTR subir entre 15 e 40% na mesma posição, face a um resultado sem rich result.
Em 2026, a implementação via JSON-LD é o método oficial e recomendado pela Google. Aqui está a versão completa, testável e pronta para produção.
Há três formatos para adicionar schema.org a uma página web: Microdata (diretamente no HTML), RDFa (atributos HTML5) e JSON-LD (bloco de dados estruturados separado).
A Google recomenda JSON-LD desde 2015, e em 2026 tornou-se o padrão de facto. Razões:
Separação entre dados e apresentação: o JSON-LD fica num <script type="application/ld+json"> no <head>, independentemente do HTML visível
Mais simples de gerar: um único bloco JSON por página, fácil de manter
Sem conflito com o seu tema: não é preciso alterar a estrutura HTML dos templates
Melhor compatibilidade com frameworks modernos (Next.js, Nuxt, etc.)
O Microdata continua a ser lido pela Google, mas já não é recomendado para novas implementações.
priceCurrency em ISO 4217: "EUR", "USD", "GBP"… não "€", "$" ou "£". Erro frequente que faz falhar o rich result.
price em string, não em número: "149.00" e não 149.00. A Google aceita ambos em 2026, mas as guidelines recomendam string.
availability em URL schema.org completa:
https://schema.org/InStock → em stock
https://schema.org/OutOfStock → esgotado
https://schema.org/PreOrder → pré-encomenda
https://schema.org/BackOrder → encomenda especial com prazo
priceValidUntil (opcional mas recomendado): data de fim de validade do preço no formato ISO 8601 ("2026-12-31"). A Google valoriza isto para detetar preços desatualizados.
reviewCount: mínimo 1, mas a Google recomenda 3+ para mostrar
As reviews correspondentes têm de estar visíveis na página — falsear o AggregateRating com reviews inexistentes pode levar a penalização manual
Dica: se tiver poucas reviews, mostre-as na página com um widget (Yotpo, Judge.me, Trustpilot) e obtenha o count + rating médio a partir da respetiva API para o JSON-LD.
Desde 2023, a Shopify gera automaticamente um schema Product nas páginas de produto se usar um tema oficial. Problema: o schema por defeito é muitas vezes incompleto (sem AggregateRating, sem brand).
Para um schema completo:
Edite o seu tema: Online Store → Themes → Edit code
Abra snippets/product-structured-data.liquid ou sections/main-product.liquid
Adicione os campos em falta ou substitua por um template personalizado
Alternativa: instale uma app como SEO JSON-LD Schema ou Smart SEO, que gere o schema em todo o catálogo de forma autónoma.
Atenção: gerar o JSON-LD do lado do cliente (via useEffect) não funciona para SEO — a Google faz o scrape em server-render. Garanta que o JSON-LD está mesmo no HTML inicial devolvido pelo servidor.
Contradições entre a página visível e o JSON-LD. Se a página mostra "Em stock" mas o JSON-LD diz OutOfStock, a Google ignora o JSON-LD. Sincronize ambos com a mesma fonte de dados.
Preço diferente no JSON-LD e na página. Mesma lógica: a Google deteta a divergência e ignora o rich result.
Vários Product no mesmo <script>. Apenas um @type: Product por script. Se tiver variantes, use @type: ProductGroup com hasVariant: [...] para as ligar.
Imagens inacessíveis. As URLs das imagens têm de ser públicas (não atrás de login). Teste cada URL com curl para confirmar que devolve um 200.
AggregateRating inventado. Colocar 4.9 estrelas numa ficha sem reviews visíveis pode levar a penalização manual, com risco real.
Se o seu produto tiver vários tamanhos ou cores, há 2 abordagens:
Abordagem 1: um único schema Product (o pai)
Mais simples, adequada a 90% dos casos. O schema pai descreve o produto genérico, e a página gere as variantes através do seletor. O preço mostrado é o preço por defeito, a availability é InStock se pelo menos uma variante estiver disponível.
Abordagem 2: ProductGroup com hasVariant
Mais precisa, mas mais complexa. Recomendada se as variantes tiverem preços muito diferentes ou disponibilidades divergentes (esgotado no tamanho 44 mas não no 42). A Google suporta ProductGroup desde 2022.
Entre 1 e 4 semanas após a publicação do schema correto. A Google tem de voltar a rastrear a página e ativar a elegibilidade do lado do algoritmo. Pode acelerar o processo ao submeter a URL em Search Console → URL Inspection → Request Indexing.
Não diretamente. O schema não é um sinal de ranking. Ativa os rich results (estrelas, preço, disponibilidade nas SERP), que aumentam o CTR, o que pode melhorar o ranking indiretamente através do sinal de engagement.
Opcional. Adicionar Review individuais no JSON-LD pode ativar mais rich features, mas torna o código mais pesado. Em catálogos com mais de 5 000 fichas, o AggregateRating por si só é mais do que suficiente.
Não. A Google não penaliza a origem do conteúdo, penaliza a qualidade. Um JSON-LD correto numa ficha de IA com qualidade beneficia dos rich results como qualquer outra ficha.
Ambos funcionam, mas <head> é a boa prática. Coloque o JSON-LD imediatamente antes da tag de fecho </head> para garantir que é lido cedo pelos crawlers.
No Bing, sim, com um atraso maior (por vezes 2-3 meses). O DuckDuckGo usa o Bing como backend, por isso sim, indiretamente. Ambos usam o mesmo padrão schema.org, não é preciso adaptar.
No Ecomptimize, o JSON-LD Product é gerado automaticamente a partir dos dados do seu catálogo Shopify ou WooCommerce. Veja a página Shopify ou WooCommerce.