🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir o erro de schema markup no SEOPress

Time Full Services Time Full Services
Tipo SEO Tecnico
Nome do erro Schema markup inválido no SEOPress EN: SEOPress invalid schema markup
Severidade Atenção
Descrição O erro de schema markup no SEOPress acontece quando o JSON-LD gerado pelo módulo Structured Data Types fica sem uma propriedade obrigatoria, recebe um campo dinâmico vazio ou e duplicado por outro plugin, e o Google deixa de usar a marcacao.

O que é erro de schema markup no SEOPress?

Schema markup no SEOPress e o JSON-LD que o plugin injeta no cabeçalho da página pelo módulo Structured Data Types, descrevendo o conteúdo (Article, FAQ, Product, LocalBusiness) para os buscadores. O erro de schema invalido aparece quando esse JSON-LD não segue o vocabulario do schema.org: falta uma propriedade que o Google marca como obrigatoria, um campo dinâmico aponta para um valor que não existe no post, ou duas marcacoes do mesmo tipo são emitidas na mesma URL. Quando isso ocorre, o Google ignora a marcacao e a página perde o rich result, mesmo que o conteúdo esteja correto.

Como identificar

  • No Google Search Console, em Aprimoramentos, aparece a mensagem ‘Campo obrigatório ausente’ ou ‘Campo X ausente (opcional)’ para a URL.
  • No Rich Results Test (search.google.com/test/rich-results) o item aparece com ‘Erro’ em vermelho e a propriedade faltante listada abaixo do tipo.
  • No Schema.org Validator (validator.schema.org) o mesmo tipo de schema aparece duas vezes para a URL, sinalizando marcacao duplicada.
  • A página perde o rich snippet (estrelas, FAQ sanfonada, breadcrumb) que antes exibia na SERP.
  • Após editar um schema automático em SEO -> Schemas, a alteração não reflete no código-fonte da página porque o cache não foi limpo.

Como prevenir

  • Mantenha apenas um gerador de schema ativo por site: escolha SEOPress ou outro plugin de SEO, nunca os dois emitindo o mesmo tipo.
  • Em lojas WooCommerce, desative o JSON-LD padrão do WooCommerce assim que ativar o schema Product do SEOPress.
  • Antes de publicar um tipo de schema novo, valide um post de amostra no Rich Results Test e so depois aplique o schema automático ao tipo de post inteiro.
  • Garanta que todo post que recebe schema Article tenha imagem destacada e autor definidos, para não gerar propriedade obrigatoria vazia.
  • Acompanhe o relatório de Aprimoramentos do Search Console periodicamente para pegar erros novos antes que afetem o rich result.

Causa

  • Uma propriedade obrigatoria do tipo escolhido não foi preenchida: por exemplo, um schema Article sem image ou sem author, ou um Product sem offers. Sem o valor obrigatório o Google não usa a marcacao.
  • Um campo dinâmico do schema automático aponta para um dado que aquele post não tem (a imagem destacada esta vazia, ou a variavel mapeada não retorna valor), entao a propriedade sai como string vazia no JSON-LD.
  • Schema duplicado: o tema, o WooCommerce (JSON-LD padrão do Product) ou outro plugin de SEO como o Rank Math emite o mesmo tipo na mesma URL, e os dois blocos conflitam no Rich Results Test.
  • O JSON-LD padrão do WooCommerce continua ativo junto com o schema Product do SEOPress, gerando dois Product incompletos na página de produto.
  • Um schema manual aplicado em SEO -> Schemas com condicao 'Show this schema if is' ampla demais (todo o site) sobrepoe o schema correto de tipos especificos de post.
  • O cache de página ou de objeto servindo uma versão antiga da URL, exibindo o JSON-LD anterior ao ajuste feito no metabox Structured Data Types.

Como resolver

  1. Identifique o tipo e a propriedade que falham: Rode a URL no Rich Results Test do Google e anote exatamente qual tipo de schema esta em erro e qual propriedade aparece como ausente. Esse e o alvo da correção, não reescreva o schema inteiro.
    https://search.google.com/test/rich-results
  2. Confirme se ha schema duplicado: Cole a mesma URL no Schema.org Validator. Se o mesmo tipo (por exemplo Article ou Product) aparecer duas vezes, a causa e duplicacao, e a correção e remover a fonte extra, não editar o SEOPress.
    https://validator.schema.org
  3. Localize o schema no SEOPress: No painel, abra o módulo de schema para ver se a marcacao em erro vem de um schema automático (global por tipo de post) ou de um schema manual aplicado naquele post pelo metabox.
    SEO -> PRO -> Structured Data Types (schema.org)
    SEO -> Schemas
    Editar o post -> metabox Structured Data Types
  4. Preencha a propriedade obrigatoria ou corrija o campo dinâmico: Se a falha for propriedade ausente, defina um valor para ela no schema. Se for campo dinâmico vazio, troque a fonte da variavel ou cadastre o dado no post (por exemplo, defina a imagem destacada para alimentar a propriedade image).
    Defina a imagem destacada do post para preencher image
    Mapeie author para 'Manual text on each post' quando a variavel vier vazia
  5. Elimine a duplicacao na fonte: Quando o duplicado vier do WooCommerce, desative o JSON-LD padrão dele para deixar so o schema do SEOPress. Quando vier de outro plugin de SEO ativo no mesmo site, desligue a saida de schema de um dos dois para não manter dois geradores no ar.
    SEO -> PRO -> WooCommerce -> marcar 'Remove default JSON-LD structured data (WooCommerce 3+)'
  6. Limpe o cache e revalide: Salve, limpe o cache de página e de objeto e rode a URL de novo no Rich Results Test até o erro sumir. No Search Console, peca a validação da correção no relatório de Aprimoramentos e aguarde, pois pode levar dias.
    Limpar cache do plugin de cache e do CDN
    Search Console -> Aprimoramentos -> Validar correção
PHP
add_filter( 'seopress_pro_schemas_auto_article', function ( $schema ) {
    // garante a propriedade obrigatoria 'image' quando o post nao tem imagem destacada
    if ( empty( $schema['image'] ) ) {
        $schema['image'] = 'https://exemplo.com.br/wp-content/uploads/logo-fallback.png';
    }
    // garante 'author' quando a variavel dinamica retorna vazia
    if ( empty( $schema['author'] ) ) {
        $schema['author'] = array(
            '@type' => 'Person',
            'name'  => get_the_author_meta( 'display_name', get_post_field( 'post_author', get_the_ID() ) ),
        );
    }
    return $schema;
} );

Perguntas frequentes

Por que o Google diz que o schema do SEOPress esta invalido se a página abre normal?
Porque a validade do schema independe do conteúdo visivel. O JSON-LD pode estar sem uma propriedade obrigatoria ou com um campo vazio, e o Google so olha esse código. A página abre, mas a marcacao e descartada e o rich result some.
Qual a diferenca entre propriedade obrigatoria e recomendada no schema do SEOPress?
A obrigatoria precisa de valor ou o Google ignora a marcacao inteira. A recomendada melhora a apresentação, mas a ausencia dela so gera um aviso, não um erro. No Rich Results Test, obrigatoria aparece como Erro em vermelho e recomendada como Aviso.
O erro vem de schema duplicado entre SEOPress e outro plugin?
Pode vir. Se o tema, o WooCommerce ou outro plugin de SEO emitir o mesmo tipo na mesma URL, os dois blocos conflitam. Valide a URL no Schema.org Validator: se o tipo aparecer duas vezes, desative a saida de schema de uma das fontes.
Como valido o schema do SEOPress depois de corrigir?
Rode a URL no Rich Results Test do Google e no Schema.org Validator. O primeiro mostra se o tipo gera rich result e quais campos faltam. O segundo confirma se não ha duplicacao. So considere resolvido quando os dois ficarem sem erro.
Editei o schema no SEOPress mas o erro continua. O que falta?
Quase sempre e cache. O SEOPress injeta o JSON-LD no carregamento da página, entao o cache de página e de CDN servem a versão antiga. Limpe os dois e revalide. Se persistir, confirme que você editou o schema certo, automático ou manual.
Preciso saber programar para corrigir schema invalido no SEOPress?
Na maioria dos casos não. Preencher a propriedade que falta, corrigir o campo dinâmico e desativar a duplicacao são feitos pelo painel. Código so e necessário para adicionar propriedades que o painel não expoe, via filtro do plugin no functions.php.
O schema Product do WooCommerce conflita com o do SEOPress?
Sim, se os dois estiverem ativos. O WooCommerce emite um JSON-LD Product padrão e o SEOPress emite outro, gerando dois Product incompletos. Ative em SEO -> PRO -> WooCommerce a opção de remover o JSON-LD padrão do WooCommerce e mantenha so o do SEOPress.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes