Hospedagem de Sites Profissional e de Alta Performance

Como Usar Dados Estruturados (Schema.org) no WordPress

Table of Contents

Como Usar Dados Estruturados (Schema.org) no WordPress

Ganhe elegibilidade para rich results, aumente o CTR e ajude o Google a entender seu conteúdo. Implementação segura com JSON‑LD, plugins e snippets.

1) Conceitos rápidos

  • Schema.org: vocabulário para descrever conteúdo (artigos, produtos, FAQ, empresa, etc.).
  • JSON‑LD: formato recomendado; fica no <head> (ou no <body>) sem alterar HTML visível.
  • Consistência: tudo que está no JSON‑LD deve existir na página (mesmo título, preço, imagem, autor, nota, etc.).
  • Sem duplicação: evite schemas conflitantes gerados por mais de um plugin.

2) Três caminhos para implementar

  1. Plugins SEO (fácil): Rank Math, Yoast, SEOPress adicionam Article/Organization/Breadcrumbs automaticamente.
  2. Plugins dedicados: Schema Pro, WooCommerce (Product/Offer/Review), plugins de FAQ/HowTo em blocos.
  3. Snippets no tema (avançado): total controle com JSON‑LD via wp_head ou blocos Gutenberg.

3) Pacote básico para quase todo site

3.1 Organization (ou LocalBusiness)

&lt;script type="application/ld+json"&gt;{
 "@context": "https://schema.org",
 "@type": "Organization",
 "name": "Server Express",
 "url": "https://example.com",
 "logo": "https://example.com/logo.png",
 "sameAs": ["https://facebook.com/...", "https://instagram.com/..."]
}&lt;/script&gt;

3.2 WebSite + SearchAction

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"WebSite",
 "url":"https://example.com",
 "name":"Server Express",
 "potentialAction":{
   "@type":"SearchAction",
   "target":"https://example.com/?s={search_term_string}",
   "query-input":"required name=search_term_string"
 }
}&lt;/script&gt;

3.3 BreadcrumbList

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"BreadcrumbList",
 "itemListElement":[
  {"@type":"ListItem","position":1,"name":"Início","item":"https://example.com/"},
  {"@type":"ListItem","position":2,"name":"Blog","item":"https://example.com/blog/"},
  {"@type":"ListItem","position":3,"name":"Post atual"}
 ]}&lt;/script&gt;

4) Article/BlogPosting (posts do WordPress)

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"BlogPosting",
 "mainEntityOfPage":{"@type":"WebPage","@id":"https://example.com/blog/meu-artigo/"},
 "headline":"Título do post",
 "image":["https://example.com/uploads/capa.webp"],
 "datePublished":"2025-08-14",
 "dateModified":"2025-08-14",
 "author":{"@type":"Person","name":"Seu Nome"},
 "publisher":{"@type":"Organization","name":"Server Express","logo":{"@type":"ImageObject","url":"https://example.com/logo.png"}},
 "description":"Resumo objetivo do artigo (até ~160 caracteres)."
}&lt;/script&gt;

Dica: mantenha headline, imagem e datas idênticas às do post.

5) FAQPage e HowTo (ganham rich results)

5.1 FAQPage

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"FAQPage",
 "mainEntity":[
  {"@type":"Question","name":"Como ativar dados estruturados no WP?",
   "acceptedAnswer":{"@type":"Answer","text":"Use um plugin SEO ou insira JSON-LD via wp_head()."}},
  {"@type":"Question","name":"Preciso de AMP?",
   "acceptedAnswer":{"@type":"Answer","text":"Não. JSON-LD funciona em qualquer página."}}
 ]}&lt;/script&gt;

5.2 HowTo (tutoriais passo a passo)

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"HowTo",
 "name":"Como limpar cache no WordPress",
 "image":"https://example.com/uploads/howto.webp",
 "totalTime":"PT5M",
 "step":[
   {"@type":"HowToStep","name":"Acessar painel","text":"Entre em Configurações do plugin de cache."},
   {"@type":"HowToStep","name":"Limpar cache","text":"Clique em Limpar/Purge e confirme."}
 ]}&lt;/script&gt;

6) Product/Offer/Review (WooCommerce)

WooCommerce já gera schema básico. Se precisar customizar (preço, disponibilidade, avaliações), ajuste com filtros.

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"Product",
 "name":"Hospedagem WordPress 1GB",
 "image":["https://example.com/uploads/plan-1gb.webp"],
 "description":"Plano com SSL, PHP atualizado e antivírus.",
 "sku":"WP-1GB",
 "brand":{"@type":"Brand","name":"Server Express"},
 "offers":{
   "@type":"Offer",
   "priceCurrency":"BRL",
   "price":"49.99",
   "availability":"https://schema.org/InStock",
   "url":"https://example.com/planos/1gb/"
 },
 "aggregateRating":{"@type":"AggregateRating","ratingValue":"4.8","reviewCount":"152"}
}&lt;/script&gt;

7) LocalBusiness (empresa local)

&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"LocalBusiness",
 "name":"Server Express",
 "image":"https://example.com/logo.png",
 "url":"https://example.com",
 "telephone":"+55 61 98467-7496",
 "address":{"@type":"PostalAddress","streetAddress":"Av. Exemplo, 100","addressLocality":"Brasília","addressRegion":"DF","postalCode":"70000-000","addressCountry":"BR"},
 "openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"18:00"}],
 "sameAs":["https://facebook.com/...","https://instagram.com/..."]
}&lt;/script&gt;

8) WordPress: como inserir JSON‑LD via código

8.1 Inserir no <head> (tema/child theme)

&lt;?php
// functions.php
add_action('wp_head', function () {
  if (is_single()) {
    $title = esc_js(get_the_title());
    $url   = esc_url(get_permalink());
    $img   = esc_url(get_the_post_thumbnail_url(null, 'full'));
    $dateP = get_the_date('c');
    $dateM = get_the_modified_date('c');
    ?&gt;
&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"BlogPosting",
 "mainEntityOfPage":{"@type":"WebPage","@id":"&lt;?= $url ?&gt;"},
 "headline":"&lt;?= $title ?&gt;",
 "image":["&lt;?= $img ?&gt;"],
 "datePublished":"&lt;?= $dateP ?&gt;",
 "dateModified":"&lt;?= $dateM ?&gt;",
 "author":{"@type":"Person","name":"&lt;?= esc_js(get_the_author()) ?&gt;"}
}&lt;/script&gt;
&lt;?php
  }
});

8.2 Bloquinho Gutenberg (FAQ/HowTo) sem plugin

&lt;!-- Insira um bloco HTML personalizado e cole o JSON-LD da seção 5 --&gt;

8.3 Evitar duplicação com plugins

  • Se Rank Math/Yoast já emitem Article/Organization, NÃO duplique via código.
  • Desative módulos redundantes: ex. FAQ do tema + FAQ do plugin → deixe só um.

9) Preencher schema com ACF/CPT (dinâmico)

&lt;?php
// Ex.: CPT "servico" com campos ACF: preco, moeda, imagem
add_action('wp_head', function(){
  if (!is_singular('servico')) return;
  $url = get_permalink();
  $nome = get_the_title();
  $img = get_the_post_thumbnail_url(null,'full');
  $preco = get_field('preco');
  $moeda = get_field('moeda') ?: 'BRL';
  ?&gt;
&lt;script type="application/ld+json"&gt;{
 "@context":"https://schema.org",
 "@type":"Service",
 "name":"&lt;?= esc_js($nome) ?&gt;",
 "image":"&lt;?= esc_url($img) ?&gt;",
 "url":"&lt;?= esc_url($url) ?&gt;",
 "offers":{"@type":"Offer","priceCurrency":"&lt;?= esc_js($moeda) ?&gt;","price":"&lt;?= esc_js($preco) ?&gt;"}
}&lt;/script&gt;
&lt;?php
});

10) Boas práticas e erros comuns

  • Validação: teste cada página no Rich Results Test. Corrija erros/avisos.
  • Correspondência: título, preço, autor, imagem e avaliações do schema devem existir no HTML.
  • Atualização: mantenha datas de modificação corretas e imagens ≥ 1200 px para artigos.
  • Granularidade: só use FAQ/HowTo se o conteúdo for realmente perguntas passo a passo.
  • Reviews: evite self‑serving reviews em Organization (não elegíveis).
  • Internacionalização: reflita idioma/região no conteúdo e no schema quando aplicável.

11) Workflow recomendado (rápido)

  1. Ativar schema base no plugin SEO (Organization, WebSite, Breadcrumbs).
  2. Revisar Article/BlogPosting automático por post.
  3. Adicionar FAQ/HowTo em posts que pedem rich results.
  4. E‑commerce: checar Product/Offer/Review do WooCommerce (ajustar se necessário).
  5. Validar amostras de páginas e monitorar Search Console → “Aparência da pesquisa”.

12) Checklist rápido

  • Organization + WebSite + BreadcrumbList presentes.
  • Posts com Article/BlogPosting correto (headline, image, dates, author).
  • FAQ/HowTo somente quando fizer sentido e corresponder ao conteúdo.
  • WooCommerce com preço, moeda, disponibilidade e avaliações consistentes.
  • Sem duplicação entre plugins/tema/snippets.
  • Validação sem erros e com avisos mínimos.

Perguntas Frequentes (FAQ)

Preciso usar microdados ou RDFa?

Não. O recomendado é JSON‑LD, mais limpo e fácil de manter. Posso ter vários blocos de JSON‑LD na mesma página?

Sim, desde que sejam consistentes e não conflitem (ex.: Article + Breadcrumb + Organization). Meu tema e meu plugin geram Article. O que faço?

Desative a saída de um deles. Duplicação pode causar erros e perda de elegibilidade. FAQ dá rich result imediato?

Não é garantido. O Google decide com base em qualidade, histórico e utilidade. Como monitorar impacto?

Use o Search Console: relatórios de “Aprimoramentos” e “Aparência da Pesquisa”, além de CTR/posições por página. Posso automatizar com ACF?

Sim, preencha campos e gere o JSON‑LD dinamicamente conforme o CPT (ver seção 9).

Tags

schema.org, dados estruturados, json-ld, wordpress, rank math, yoast, rich results, faq, howto, product schema, localbusiness, breadcrumbs, website, article, woocommerce, search console

“É necessário construir frases curtas. Toda otimização dividirá em, no mínimo, duas frases.”

O QUE NOSSOS CLIENTES ESTÃO DIZENDO?

Velocidade e Confiabilidade, para o seu Site Decolar!

Fale conosco

Negócio Digital Color White