Como corrigir rich snippets inválidos no Schema do WordPress
O que é rich snippets schema inválido?
Rich snippets schema inválido acontece quando o WordPress entrega a marcação estruturada (JSON-LD) na página, porém o Google a considera incompleta ou malformada e descarta a elegibilidade para resultado rico. A documentação do Rank Math é explícita: ter o Schema certo importa mais do que apenas ter Schema, e uma marcação errada ou incompleta faz o Google não considerar a página para rich results. Diferente de schema ausente, aqui o código está presente e até pode parecer correto no editor, mas falha na validação oficial do Rich Results Test por um campo obrigatório faltando, um tipo de dado trocado ou aninhamento errado das propriedades.
Como identificar
- No Rich Results Test (search.google.com/test/rich-results) aparece a mensagem ‘Campo obrigatório ausente’ ou ‘Missing field’ apontando uma propriedade do Schema
- Na aba Code Validation do Schema Generator do Rank Math, ao clicar em ‘Test with Google’, o resultado mostra erros em vermelho em vez de ‘Página elegível para resultados avançados’
- No Google Search Console, em Aprimoramentos, o item do tipo de schema aparece com status ‘Inválido’ e contador de itens com erro
- O snippet rico (estrelas, FAQ, breadcrumb, preço) some da SERP mesmo dias depois da publicação, exibindo só o resultado azul padrão
- O validator.schema.org acusa ‘A value for the X property is required’ ou ‘X is not a known property of type Y’
Como prevenir
- Escolha o tipo de schema que casa com o conteúdo (Article para post, Product para produto, FAQPage só com pares reais de pergunta e resposta) antes de publicar
- Rode o Rich Results Test em toda página nova ou alterada e só publique quando o resultado indicar elegibilidade, sem campos obrigatórios faltando
- Mantenha uma única fonte de schema por tipo, desativando a marcação do tema quando o Rank Math já cobre aquele tipo, para evitar blocos duplicados
- Acompanhe o relatório de Aprimoramentos do Search Console semanalmente para pegar itens marcados como Inválido logo após cada deploy
- Ao usar variáveis do Schema Generator, confira que os custom fields referenciados existem e estão preenchidos antes de salvar o post
Causa
- Propriedade obrigatória do tipo de schema está ausente, por exemplo Article sem 'headline' ou 'image', Product sem 'offers' ou 'review', e o Rich Results Test bloqueia por 'Missing field'.
- Tipo de schema errado para o conteúdo, como aplicar Article numa página de produto WooCommerce ou FAQPage num post sem pares pergunta e resposta reais, gerando incompatibilidade entre dado e tipo.
- Tipo de dado trocado numa propriedade, por exemplo um texto onde o Google espera número (ratingValue) ou uma data fora do formato ISO 8601 em datePublished, o que dispara 'data type mismatch'.
- Schema duplicado porque o tema (Astra, Divi, GeneratePress) emite a própria marcação ao mesmo tempo que o Rank Math, criando dois blocos JSON-LD do mesmo tipo na página e confundindo o parser do Google.
- Variável do Schema Generator do Rank Math não resolveu, deixando o placeholder literal (%title%, %customfield(preco)%) no JSON-LD final porque o custom field referenciado está vazio ou tem nome errado.
- Google ainda não recrawleou a URL após a correção, então o snippet permanece ausente por atraso de reindexação mesmo com o schema já válido.
Como resolver
- Identifique o erro exato no Rich Results Test: Antes de mexer no código, descubra qual propriedade o Google reprova. Cole a URL pública da página no teste oficial e leia a mensagem em vermelho, que nomeia o campo e o tipo de schema com problema.
https://search.google.com/test/rich-results - Abra o Schema Generator do post no Rank Math: No editor do post, abra o painel do Rank Math pela engrenagem na barra lateral do Gutenberg, vá até a aba Schema e clique em Schema Generator. Use o caminho do menu abaixo para confirmar que está no tipo de schema correto para o conteúdo da página.
Rank Math (barra lateral) -> aba Schema -> Schema Generator -> Custom Schema - Preencha a propriedade obrigatória que faltava: Dentro do Schema Builder, clique em Add Property e insira o campo que o teste apontou como ausente. Se o valor vier de um custom field, garanta que a variável referencia um campo que de fato existe e está preenchido, senão o placeholder fica literal no JSON-LD.
Schema Builder -> Add Property -> headline -> %title% Schema Builder -> Add Property -> image -> %post_thumbnail% - Revalide pela aba Code Validation antes de salvar: Ainda no Schema Builder, salve o post como rascunho, abra a aba Code Validation, confira o JSON-LD gerado e clique em Test with Google. Repita até o resultado mostrar a página elegível, sem erros em vermelho.
Schema Builder -> aba Code Validation -> Test with Google - Remova o schema duplicado do tema: Se o teste acusar dois blocos do mesmo tipo, desative a emissão de schema no tema para deixar só a do Rank Math. Em temas como Astra, faça isso nas opções de Schema Markup do tema; mantenha apenas uma fonte de marcação por tipo.
Aparência -> Personalizar -> Schema Markup (tema) -> desativar Rank Math -> Titles & Meta -> [tipo de post] -> Schema Type - Force o recrawl da URL no Search Console: Com o schema já válido, peça ao Google para reprocessar a página. Cole a URL na inspeção de URL do Search Console e clique em Solicitar indexação; o rich snippet pode levar dias para voltar à SERP após o novo crawl.
Google Search Console -> Inspeção de URL -> Solicitar indexação
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Como configurar cache no WordPress",
"image": ["https://exemplo.com/wp-content/uploads/capa.jpg"],
"datePublished": "2026-06-17T08:00:00-03:00",
"author": { "@type": "Person", "name": "Equipe FULL" },
"publisher": {
"@type": "Organization",
"name": "FULL Services",
"logo": { "@type": "ImageObject", "url": "https://exemplo.com/logo.png" }
}
}
</script>














