Implementação de Dados Estruturados de Produto
Objetivo
Este guia orienta agências parceiras na correta implementação de dados estruturados de Produto (Product) e Oferta (Offer) em páginas de produto (PDP) das lojas Wake.
O objetivo é garantir conformidade com as diretrizes do Google, habilitar resultados enriquecidos (rich snippets), aumentar a visibilidade orgânica e reduzir erros no Search Console.
Quando aplicar
- Apenas em páginas de produto com compra possível (1 produto por URL).
- Variantes (cor, tamanho, etc.) devem refletir a seleção atual da PDP.
- O JSON-LD deve ser renderizado no HTML inicial (SSR) para preço e estoque.
É bom saber:
O JSON-LD (JavaScript Object Notation-Linked Data) é um formato de dados estruturados recomendado pelo Google para descrever o conteúdo de uma página de forma legível por máquinas.
Na prática, ele é inserido dentro da página como um bloco
<script type="application/ld+json">
que não afeta o que o usuário vê, mas dá ao Google e outros motores de busca informações organizadas sobre produtos, ofertas, artigos, eventos etc.
Campos mínimos obrigatórios
O Google exige o preenchimento correto dos seguintes campos:
- Product.name → Nome do produto.
- Product.image[] → URLs de imagens rastreáveis (formatos 1:1, 4:3, 16:9).
- Product.offers com:
- Offer.price → Preço ativo (> 0).
- Offer.priceCurrency → Código da moeda ISO 4217 (ex.: BRL).
- Offer.availability → Disponibilidade (ex.: https://schema.org/InStock).
- Offer.url → URL canônica da PDP.
Campos recomendados (prioridade alta)
Sempre que disponíveis:
- sku (SKU interno).
- gtin (8, 12, 13 ou 14).
- brand.name (marca).
- color, size, material, pattern.;
- aggregateRating e review (quando houver avaliações).
- itemCondition (novo, usado, etc.).
Preços e promoções
- Preço ativo: usar offers.price.
- Preço promocional: offers.price recebe o valor atual; adicionar UnitPriceSpecification com priceType: "StrikethroughPrice" para o preço original.
- Preço para membros: usar UnitPriceSpecification com validForMemberTier.
Frete e devolução
- shippingDetails (recomendado):;
- shippingRate (mesma moeda do preço).
- shippingDestination.addressCountry (código ISO-2, ex.: "BR").
- deliveryTime (handlingTime + transitTime).
- Política de devolução: preferir configuração global na Organization, só usar hasMerchantReturnPolicy no produto em casos específicos.
Exemplo mínimo (Wake placeholders)
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "{{ product.name }}",
"image": [
"{{ product.image_1x1_url }}",
"{{ product.image_4x3_url }}",
"{{ product.image_16x9_url }}"
],
"sku": "{{ product.sku }}",
"brand": { "@type": "Brand", "name": "{{ product.brand_name }}" },
"description": "{{ product.short_description | strip_html | truncate: 500 }}",
"offers": {
"@type": "Offer",
"url": "{{ request.canonical_url }}",
"priceCurrency": "{{ product.currency_code }}",
"price": {{ product.price }},
"availability": "https://schema.org/{{ product.availability_schema_enum }}",
"itemCondition": "https://schema.org/{{ product.item_condition_schema_enum }}"
}
}
</script>
QA e validação
- Validar cada template no Rich Results Test (https://search.google.com/test/rich-results).
- Testar URLs no Search Console → Inspeção de URL e solicitar recrawl.
- Monitorar relatórios de Snippets de produto e Informações de produtos do comerciante no Search Console.
Updated 9 days ago