Schema Markup no WordPress: Guia Completo de Dados Estruturados
Schema markup no WordPress é um conjunto de dados estruturados inseridos no HTML da página que ajudam os mecanismos de busca a entender o contexto do conteúdo, não apenas as palavras. O resultado prático…
Schema markup no WordPress é um conjunto de dados estruturados inseridos no HTML da página que ajudam os mecanismos de busca a entender o contexto do conteúdo, não apenas as palavras. O resultado prático são os famosos rich snippets: estrelas de avaliação, perguntas frequentes expansíveis, preços de produto e breadcrumbs diretamente na SERP. Depois de configurar mais de 300 sites em WordPress aqui na Weboption, posso afirmar com segurança: schema bem implementado é um dos poucos fatores de SEO que melhora CTR de forma mensurável, independentemente de posição.
O que é Schema Markup e por que ele importa para o SEO
Schema markup é um vocabulário padronizado de dados estruturados criado em 2011 por Google, Bing, Yahoo e Yandex, publicado em Schema.org. Ele não influencia diretamente o ranking, mas aumenta a visibilidade dos resultados. Um estudo da Advanced Web Ranking de 2024 mostrou que snippets enriquecidos com dados estruturados têm CTR médio 30% maior do que resultados orgânicos sem marcação.
O mecanismo é simples: o Google lê o HTML da sua página, mas ele interpreta texto. Quando você escreve “R$ 297,00”, o Google vê uma sequência de caracteres. Quando você marca esse valor com schema do tipo Product e propriedade price, ele sabe que é um preço de produto. Essa diferença muda o que aparece na busca.
Para sites WordPress, a boa notícia é que não falta ferramenta. A má notícia é que excesso de plugin ou configuração errada gera marcação duplicada, e o Google simplesmente ignora as duas versões.
JSON-LD: o formato correto para implementar dados estruturados
Existem três formatos para inserir schema: Microdata, RDFa e JSON-LD. O Google recomenda JSON-LD e a razão é prática: ele fica em um bloco <script> separado do HTML, o que facilita manutenção e não polui a estrutura visual da página.
Um exemplo mínimo de Article em JSON-LD:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema Markup no WordPress: Guia Completo",
"author": {
"@type": "Person",
"name": "Daniel Paz"
},
"datePublished": "2026-06-29",
"publisher": {
"@type": "Organization",
"name": "Weboption",
"logo": {
"@type": "ImageObject",
"url": "https://weboption.com.br/logo.png"
}
}
}
</script>
Esse bloco vai no <head> ou no final do <body>. Em WordPress, você insere via plugin, via função no functions.php do tema ou via bloco customizado. Cada abordagem tem seu lugar, e vou detalhar as três nas próximas seções.
Um detalhe importante: JSON-LD suporta entidades aninhadas. Você pode ter um Article que referencia um Person como autor, que por sua vez tem um url apontando para a página de perfil. O Google processa essas relações e monta um grafo de conhecimento sobre o site.

Os tipos de schema mais importantes para sites WordPress
Schema.org tem mais de 800 tipos documentados. Na prática, para a maioria dos sites WordPress, sete tipos cobrem 90% dos casos de uso.
Article e BlogPosting
Para posts e artigos editoriais. BlogPosting é um subtipo de Article, mais específico para conteúdo de blog. Use Article para conteúdo jornalístico ou de notícias, BlogPosting para posts de blog regulares. As propriedades essenciais são headline, author, datePublished, dateModified, image e publisher.
FAQPage
Gera accordion expansível direto na SERP, o que praticamente dobra o espaço ocupado pelo resultado. Cada par de pergunta e resposta vai como um objeto Question dentro da propriedade mainEntity. O conteúdo das respostas precisa estar visível na página, não apenas no JSON-LD.
Product
Indispensável para lojas WooCommerce. Exibe preço, disponibilidade e avaliações diretamente nos resultados. As propriedades price, priceCurrency, availability e aggregateRating são as que ativam os rich snippets de produto no Google Shopping e na busca orgânica.
LocalBusiness
Para empresas com endereço físico. Ativa o Knowledge Panel lateral com horário de funcionamento, telefone, endereço e avaliações. O subtipo correto depende do segmento: Restaurant, MedicalBusiness, LegalService e assim por diante. Usar o tipo genérico LocalBusiness funciona, mas subtipos específicos dão mais contexto ao Google.
HowTo
Para tutoriais passo a passo. Gera resultados com as etapas listadas diretamente na SERP, com imagens opcionais por etapa. Muito eficaz para conteúdo de “como fazer” que já ocupa posições de featured snippet.
BreadcrumbList
Exibe o caminho de navegação abaixo do título na SERP, no formato “Home > Categoria > Página”. Parece pequeno, mas melhora a legibilidade do resultado e comunica hierarquia de site para o Google. A maioria dos temas WordPress modernos já gera breadcrumbs visualmente. O schema complementa a marcação visual.
WebSite com SearchAction
Ativa a caixa de busca do site diretamente nos resultados do Google, quando o usuário pesquisa pelo nome da marca. Não é amplamente adotado, mas para portais e e-commerces com busca interna robusta, vale implementar.
Rank Math vs Yoast SEO: qual plugin usar para schema markup
Essa é a pergunta que mais recebo de clientes novos. A resposta direta: Rank Math tem implementação de schema mais completa na versão gratuita. Yoast exige o plano premium (R$ 490/ano em 2025) para tipos além de Article e FAQ.
O Rank Math (versão 1.0.x) oferece na versão gratuita: Article, BlogPosting, Product, Recipe, HowTo, FAQPage, LocalBusiness, Event, JobPosting, Course e VideoObject. Tudo configurável por tipo de post via interface visual. É uma vantagem real para quem está começando ou tem orçamento limitado.
O Yoast SEO (versão 23.x) gera automaticamente schema de Article para posts, WebPage para páginas e BreadcrumbList para toda a hierarquia. A implementação é sólida e confiável, mas os tipos adicionais ficam atrás do paywall. O diferencial do Yoast é o grafo interno: ele conecta automaticamente os tipos entre si, criando relações semânticas mais ricas.
Para a maioria dos projetos que tocamos na Weboption, usamos Rank Math pela flexibilidade na versão gratuita. Para clientes enterprise com múltiplos autores e necessidade de controle granular por post, às vezes indicamos Yoast Premium pela interface de revisão editorial. Os dois não devem coexistir no mesmo site jamais.
Uma terceira opção que pouca gente menciona: o plugin Schema Pro (a partir de R$ 290/ano), especializado exclusivamente em dados estruturados. Para sites que já têm Yoast para SEO geral e querem schema avançado sem migrar de plugin, Schema Pro é uma alternativa viável que não gera conflito com a marcação básica do Yoast.
Como configurar schema markup no Rank Math passo a passo
Após instalar e ativar o Rank Math, vá em Rank Math > Configurações > Geral > Dados Estruturados. Ative o schema global e defina o tipo padrão para cada post type. Para posts de blog, selecione “BlogPosting”. Para páginas institucionais, “WebPage”. Para páginas de produto WooCommerce, o plugin detecta automaticamente e aplica o tipo “Product”.
Para configurar por post individual, abra o editor Gutenberg, localize o painel do Rank Math na barra lateral direita e clique em “Schema”. Um modal abre com todos os tipos disponíveis. Selecione o tipo, preencha os campos específicos e salve. O Rank Math injeta o JSON-LD no <head> automaticamente.
Para FAQPage, o Rank Math tem integração com o bloco de FAQ do próprio plugin. Adicione o bloco “Rank Math FAQ” no editor, preencha as perguntas e respostas, e o schema é gerado automaticamente a partir do conteúdo do bloco. Não precisa inserir JSON-LD manualmente.
Para LocalBusiness, vá em Rank Math > Títulos e Metas > Local SEO. Preencha nome, endereço, telefone, horário e coordenadas geográficas. Esse schema aparece em todas as páginas do site, não apenas em uma página específica.
Implementação manual de schema no WordPress sem plugin
Às vezes plugin não é opção: o cliente tem um tema altamente customizado, o plugin conflita com algo existente ou simplesmente o escopo não justifica mais uma dependência. Nesses casos, implementação via functions.php ou via bloco customizado é o caminho.
Para inserir schema no <head> via hook WordPress:
function weboption_article_schema() {
if (! is_single() ) return;
$post = get_queried_object();
$schema = [
'@context' => 'https://schema.org',
'@type' => 'BlogPosting',
'headline' => get_the_title( $post ),
'author' => [
'@type' => 'Person',
'name' => get_the_author_meta( 'display_name', $post->post_author ),
],
'datePublished' => get_the_date( 'c', $post ),
'dateModified' => get_the_modified_date( 'c', $post ),
'image' => get_the_post_thumbnail_url( $post, 'large' ),
'publisher' => [
'@type' => 'Organization',
'name' => get_bloginfo( 'name' ),
],
];
echo '<script type="application/ld+json">'. wp_json_encode( $schema ). '</script>';
}
add_action( 'wp_head', 'weboption_article_schema' );
Essa abordagem dá controle total. Você pode adicionar campos condicionalmente, puxar dados de meta fields customizados do ACF e construir grafos complexos de entidades. O custo é manutenção manual quando o schema evolui.
Erros que vemos com frequência em schema markup no WordPress
Depois de auditar dezenas de sites, os mesmos erros aparecem. Vale nomear cada um claramente.
O mais comum: schema duplicado. Yoast e Rank Math ativos ao mesmo tempo geram dois blocos de JSON-LD para o mesmo tipo. O Google não sabe qual versão priorizar e pode ignorar ambas. A regra é simples: um plugin de schema por site.
O segundo erro frequente: FAQPage com respostas que não aparecem na página. O Google exige que o conteúdo do schema esteja visível no HTML. Se você inseriu o JSON-LD manualmente mas o texto da resposta está só no script, o rich snippet é reprovado no Rich Results Test.
Terceiro: Product schema sem aggregateRating em lojas com avaliações de clientes. As estrelas são um dos principais motivadores de clique. Se o WooCommerce já coleta avaliações e o schema não inclui o campo aggregateRating, você está deixando cliques na mesa.
Quarto: LocalBusiness com endereço diferente do que está na página de contato. O Google cruza os dados. Divergência entre schema e conteúdo visível gera erro de validação e pode prejudicar o Knowledge Panel.
Quinto: usar Article quando deveria usar BlogPosting, ou vice-versa em contexto de notícias. Não é um erro grave, mas a especificidade importa para contextos de Google News e Discover.
Como validar schema markup com o Google Rich Results Test
O Google Rich Results Test está disponível em search.google.com/test/rich-results. É a ferramenta oficial e a única que confirma quais rich snippets uma URL está elegível para exibir.
O fluxo de validação é direto: cole a URL ou o código HTML, aguarde o processamento e analise os resultados. A ferramenta mostra quais tipos de schema foram detectados, quais campos estão presentes, quais estão faltando e quais erros impedem a exibição de rich snippets.
Atenção ao diferencial entre “erro” e “aviso”. Erros bloqueiam o rich snippet. Avisos são campos recomendados que aumentam a qualidade da marcação, mas não impedem a exibição. Priorize corrigir erros primeiro.
Além do Rich Results Test, o Google Search Console tem uma seção dedicada a “Melhorias” onde aparecem todos os tipos de schema detectados no site, com relatório de páginas com erros, avisos e itens válidos. Essa visão agregada é mais útil para acompanhamento contínuo do que testar URL por URL.
Uma ferramenta complementar que usamos na Weboption é o Schema Markup Validator em validator.schema.org, mantido pela própria Schema.org. Ele valida a conformidade com a especificação, enquanto o Rich Results Test valida a elegibilidade para recursos específicos do Google. Os dois juntos cobrem o ciclo completo de validação.
Perguntas frequentes
Schema markup melhora o ranking no Google?
Não diretamente. O Google afirma que dados estruturados não são fator de ranking. O impacto real é no CTR: rich snippets aumentam a visibilidade do resultado na SERP e, por consequência, o tráfego orgânico sem mudar a posição. Em alguns nichos, um resultado na posição 3 com rich snippets recebe mais cliques do que o resultado na posição 1 sem marcação.
Posso usar Rank Math e Yoast ao mesmo tempo?
Não. Os dois plugins geram schema para os mesmos tipos de conteúdo e a marcação duplicada causa conflitos. Escolha um dos dois e desative completamente o outro. Se precisar migrar, exporte as configurações do Yoast antes de desativar.
O schema precisa estar no head ou pode estar no body?
O Google processa JSON-LD tanto no <head> quanto no <body>. A recomendação técnica é inserir no <head> para que seja processado antes do render da página, mas na prática os dois funcionam para fins de indexação.
FAQPage schema funciona em qualquer página do WordPress?
Tecnicamente sim, mas o Google aplica critérios editoriais. Páginas de FAQ precisam ter as perguntas e respostas visíveis no HTML. Além disso, o Google limita a exibição de FAQPage nos resultados para sites com alta autoridade e histórico de uso correto da marcação. Sites novos podem não ver o rich snippet imediatamente mesmo com schema correto.
Quanto tempo leva para os rich snippets aparecerem após a implementação?
Depende da frequência de rastreamento do site. Para sites com boa autoridade e rastreados regularmente, entre 1 e 4 semanas. Para sites novos ou com poucas páginas indexadas, pode levar de 1 a 3 meses. O Google precisa rastrear, processar e validar a marcação antes de exibir rich snippets.