Como corrigir o schema de produto do Rank Math no WooCommerce
O que é o erro de schema produto Rank Math no WooCommerce?
O schema produto do Rank Math e a marcacao JSON-LD do tipo Product que o Rank Math gera automaticamente para cada produto do WooCommerce, lendo preco, disponibilidade, SKU, imagem e avaliacoes diretamente dos campos do produto. O erro acontece quando esse JSON-LD sai incompleto ou duplicado: o Google Rich Results Test e o Search Console acusam que a marcacao Product não tem os campos obrigatorios, ou que existe mais de um bloco Product na mesma página. O resultado e que o produto perde elegibilidade para rich snippet (preco, estrelas e disponibilidade na SERP) e some dos resultados de produto do Google.
Como identificar
- No Google Rich Results Test ou no Search Console aparece o aviso ‘Either offers, review, or aggregateRating should be specified’ no item Product
- O relatório de Resultados de produtos do Search Console mostra os produtos com status ‘Invalido’ e itens em ‘Não elegivel’
- O Rich Results Test detecta dois blocos Product na mesma URL (um do Rank Math e um do WooCommerce), gerando ‘Duplicate field’ ou itens repetidos
- Páginas de categoria e a página da loja aparecem com schema Product no validador, quando deveriam ter apenas listagem
- No painel Schema do produto o Snippet aparece como ‘None’ ou com tipo diferente de Product, e o JSON-LD não traz o objeto offers
Como prevenir
- Fixe o Schema Type como Product no post type Produto antes de cadastrar a loja, para nenhum produto sair sem marcacao
- Mantenha a opção Remove Snippet Data ativa nas categorias e tags de produto desde o inicio
- Cadastre preco regular e imagem destacada em todo produto, para o objeto offers nunca sair vazio
- Após qualquer atualização do Rank Math ou do WooCommerce, rode uma URL de produto no Rich Results Test para confirmar que não surgiu schema duplicado
- Use um único plugin de SEO responsável pelo schema; rodar Rank Math e outro plugin de SEO ao mesmo tempo recria a duplicacao
Causa
- O produto não tem avaliacoes nem preco definido, entao o Rank Math monta o bloco Product sem offers e sem aggregateRating, e o Google exige pelo menos um dos três (offers, review ou aggregateRating).
- O WooCommerce mantem ativa a própria marcacao nativa pela função woocommerce_structured_data, que injeta um segundo bloco Product na página e colide com o JSON-LD do Rank Math.
- O tipo de Schema padrão do post type Produto não esta definido como Product em Titles and Meta, entao o Rank Math não gera o bloco Product correto.
- A opção Remove Snippet Data esta desligada nas Categorias de produto, fazendo o schema Product vazar para páginas de arquivo (loja, categoria, tag), o que viola a regra do Google de um produto por página.
- O produto esta sem imagem destacada ou com o campo SKU vazio, deixando o JSON-LD do Product sem campos que o Search Console reporta como ausentes.
- O módulo Schema do Rank Math foi desativado no Dashboard, entao nenhum JSON-LD Product e emitido para os produtos.
Como resolver
- Identifique o erro exato na URL do produto: Rode a URL do produto no Rich Results Test do Google e leia qual campo o validador aponta como ausente ou duplicado, antes de mexer em qualquer configuração. O aviso de offers ou review pede preco ou avaliacao; o item Product repetido indica schema duplicado.
https://search.google.com/test/rich-results - Defina o tipo de schema padrão do post type Produto: No painel do Rank Math, abra as configurações do post type Produto e fixe o tipo de schema como Product, para que todo produto novo já nasca com a marcacao correta.
Rank Math SEO -> Titles and Meta -> Products -> Schema Type -> Product - Garanta offers, review ou aggregateRating no produto: Preencha o preco regular do produto na aba Geral para gerar o objeto offers, ou ative e colete avaliacoes para gerar aggregateRating. O Google exige pelo menos um desses três campos para validar o Product.
Produtos -> editar produto -> Dados do produto -> Geral -> Preco regular - Remova o schema Product das páginas de arquivo: Ligue a opção que tira a marcacao das categorias e da loja, porque schema Product so vale em página de produto único. Isso elimina o aviso disparado pelas páginas de categoria.
Rank Math SEO -> Titles and Meta -> Product categories -> Remove Snippet Data -> Ativar - Elimine o schema duplicado do WooCommerce: Quando o validador acusa dois blocos Product, desative a marcacao nativa do WooCommerce com o filtro abaixo no functions.php do tema filho, deixando apenas o Rank Math responsável pelo JSON-LD do produto.
add_filter( 'woocommerce_structured_data_type_for_page', '__return_empty_array' ); - Revalide e limpe o cache: Limpe o cache do site e da CDN, rode de novo o Rich Results Test e peca a reindexacao da URL no Search Console para o Google reprocessar o schema corrigido.
https://search.google.com/search-console
<?php
// functions.php do tema filho — desativa a marcacao Product nativa do WooCommerce,
// deixando apenas o Rank Math responsavel pelo JSON-LD do produto.
add_filter( 'woocommerce_structured_data_type_for_page', function ( $types ) {
// remove o tipo 'product' da marcacao nativa do WooCommerce na pagina de produto
return array_diff( (array) $types, array( 'product' ) );
} );














