Schema markup ajuda LLMs a entenderem e citarem conteúdo, principalmente nos tipos: Article (autoria + dateModified), FAQPage (chunks de pergunta-resposta extraíveis), HowTo (passos sequenciais), Person estendido com sameAs (sinal E-E-A-T), Organization com sameAs e logo, Speakable (voice search), BreadcrumbList (contexto de hierarquia) e WebSite com SearchAction. Implementação padrão é via JSON-LD na <head>. O estudo do Reddit r/DigitalMarketing (1 semana atrás em maio/2026) mediu páginas com schema sendo citadas por IA 3,2× mais frequentemente que páginas sem.
A Huios é agência de marketing e desenvolvimento. Aplicamos os 8 tipos abaixo em todos os 39 posts do nosso blog. Em maio/2026, o post Modo IA do Google sumiu foi citado 2 vezes pelo AI Overview do Google em pt-BR — caso real verificável. Esse post mostra os tipos com snippets JSON-LD reais e o que estava aplicado no post citado.
Por que schema importa pra LLMs (não só pra Google clássico)
Em SEO clássico, schema markup ajuda em rich results (estrelas, FAQ expandido, breadcrumbs visuais). Em GEO, ele tem outra função: dá ao LLM entidades nomeadas (Person, Organization, Article com author identificável) que reduzem ambiguidade durante extração de chunk.
LLMs treinaram com texto + structured data. Quando você marca um parágrafo como Article.articleBody com author.Person.name = "Guilherme Fernandes" e author.sameAs = ["https://linkedin.com/in/guilhermef..."], o modelo associa o conteúdo à pessoa identificável — sinal E-E-A-T forte. Sem schema, o modelo precisa adivinhar autoria pelo HTML.
O estudo do Reddit r/DigitalMarketing comparou citações de IA em páginas com vs sem schema: 3,2× mais frequência de citação nas páginas marcadas. Não é correlação obrigatória — o estudo tem amostra limitada — mas o sinal é claro o suficiente pra justificar o trabalho.
A versão curta: schema markup é pré-requisito barato em 2026. 4-8 horas pra implementar via template, custa zero pra manter.
Os 8 tipos prioritários (com snippet JSON-LD)
Em ordem de retorno pra GEO:
1. Article — autoria + dateModified
O tipo mais importante. Marca cada post de blog com autor identificável e data de modificação:
```html
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "GEO vs SEO em 2026", "datePublished": "2026-05-06", "dateModified": "2026-05-06", "author": { "@type": "Person", "name": "Guilherme Fernandes", "url": "https://huiosweb.com.br/sobre" }, "publisher": { "@type": "Organization", "name": "Huios Web", "logo": { "@type": "ImageObject", "url": "https://huiosweb.com.br/logo.png" } }, "mainEntityOfPage": "https://huiosweb.com.br/blog/geo-vs-seo" } </script>```
Pontos críticos: dateModified atualizado em refresh trimestral, author.Person com URL pra página /sobre que tenha biografia.
2. FAQPage — chunks de pergunta/resposta extraíveis
LLMs extraem chunks. FAQPage entrega pergunta + resposta auto-contida no formato perfeito:
```html
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "GEO vai substituir o SEO?", "acceptedAnswer": { "@type": "Answer", "text": "Não. SEO continua sendo a base técnica que LLMs usam pra descobrir conteúdo. GEO adiciona uma camada: estruturar conteúdo pra ser extraído como chunk citável. Em 2026, fazer um sem o outro é trabalho incompleto." } }, { "@type": "Question", "name": "Quanto tempo até GEO dar resultado?", "acceptedAnswer": { "@type": "Answer", "text": "Em SERP frágil, 4-12 semanas. Em SERP madura com competidores fortes, 6+ meses." } } ] } </script>```
Resposta ideal: 50-150 palavras, auto-contida (lê sem precisar de contexto). Detalhe sobre estrutura answer-first em Como ser citado pelo ChatGPT em 2026.
3. HowTo — passos sequenciais
Pra tutoriais (configurar X, ativar Y), HowTo dá rich result e ajuda LLMs:
```html
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "HowTo", "name": "Como ativar o Modo IA do Google", "step": [ { "@type": "HowToStep", "name": "Cheque o Search Labs", "text": "No app do Google ou Chrome mobile, toque no ícone de frasco no canto superior direito.", "url": "https://huiosweb.com.br/blog/modo-ia-google-brasil#search-labs" }, { "@type": "HowToStep", "name": "Confirme login", "text": "Verifique que está logado em conta Google." } ] } </script>```
A Huios ainda não aplica HowTo de forma consistente — pendência declarada no GEO checklist 2026.
4. Person estendido com sameAs (sinal E-E-A-T)
Person sem sameAs é metade do trabalho. O atributo sameAs linka pra perfis externos verificáveis:
```json { "@type": "Person", "name": "Guilherme Fernandes", "url": "https://huiosweb.com.br/sobre", "sameAs": [ "https://www.linkedin.com/in/guilhermedevfernandes", "https://github.com/guilhermedevfernandes-cmd", "https://x.com/huiosweb" ], "jobTitle": "Founder, Desenvolvedor Sênior", "worksFor": { "@type": "Organization", "name": "Huios Web" } } ```
LLMs usam sameAs pra resolver entidade ("essa pessoa é X no LinkedIn, Y no GitHub — autor coerente, sinal real"). Sem sameAs, é só nome no HTML.
5. Organization com sameAs e logo
Mesmo princípio do Person, mas pra empresa:
```json { "@type": "Organization", "name": "Huios Web", "url": "https://huiosweb.com.br", "logo": "https://huiosweb.com.br/logo.png", "sameAs": [ "https://www.instagram.com/huiosweb", "https://www.linkedin.com/company/huios" ], "founder": { "@type": "Person", "name": "Guilherme Fernandes" }, "foundingDate": "2023", "address": { "@type": "PostalAddress", "addressLocality": "Pelotas", "addressRegion": "RS", "addressCountry": "BR" } } ```
address ajuda LLMs em queries locais ("agência marketing Pelotas"). Logo aparece em rich results.
6. Speakable — voice search e AI Assistant
Marca os parágrafos answer-first pra Google Assistant e voice AI:
```html
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "speakable": { "@type": "SpeakableSpecification", "cssSelector": [".answer-first", "h1", ".faq-answer"] } } </script>```
Em 2026, adoção do Speakable pelos AI Assistants é parcial mas crescente. Custo é baixo (1 atributo extra), retorno marginal — vale aplicar.
7. BreadcrumbList — contexto de hierarquia
Mostra ao LLM (e ao usuário em rich result) onde a página está na hierarquia:
```json { "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Blog", "item": "https://huiosweb.com.br/blog" }, { "@type": "ListItem", "position": 2, "name": "SEO", "item": "https://huiosweb.com.br/blog?categoria=seo" }, { "@type": "ListItem", "position": 3, "name": "Schema markup para IA", "item": "https://huiosweb.com.br/blog/schema-markup-para-ia" } ] } ```
Crawlers usam pra entender contexto tópico do post.
8. WebSite com SearchAction
Aplicado uma vez no root do site. Permite que Google e LLMs entendam que tem busca interna:
```json { "@type": "WebSite", "url": "https://huiosweb.com.br", "potentialAction": { "@type": "SearchAction", "target": { "@type": "EntryPoint", "urlTemplate": "https://huiosweb.com.br/buscar?q={search_term_string}" }, "query-input": "required name=search_term_string" } } ```
Não é prioritário pra GEO, mas é trabalho de 5 minutos.
Tipos que NÃO ajudam GEO (mas ajudam SEO)
Schema é grande — 800+ tipos no schema.org. Boa parte é específica de rich results e não ajuda LLM citar:
- Product — útil pra ecommerce (preço, disponibilidade), não pra LLM
- Recipe — específica pra culinária
- LocalBusiness — pra negócio local em Maps, não em LLM
- Event — eventos calendarizados
- VideoObject — útil pra YouTube/Schema mas não traz citação direta de LLM
Aplicar Product em post de blog é desperdício — confunde Google e não move a agulha em GEO. Prioridade: comece pelos 8 acima, adicione específicos só quando o tipo de página exigir.
Como validar schema (ferramentas)
Antes de publicar, valide:
- Google Rich Results Test — confirma que o Google parseia o JSON-LD e mostra preview de rich result quando aplicável
- Schema.org Validator — valida sintaxe e propriedades obrigatórias
- DevTools Application tab → Storage → Application — inspeciona JSON-LD da página em runtime
view-source:no browser — confirma que o JSON-LD está renderizado pelo SSR (não só client-side)
Erro comum: schema renderizado só client-side (depois de hydration). Crawler do Google é forte com JS, mas nem todo bot de IA é. Renderizar via Server-Side é o seguro.
Caso Huios: schema do post citado pelo AI Overview
O post modo-ia-do-google-sumiu foi citado 2× pelo AI Overview em maio/2026. Quais schemas estavam aplicados:
- ✅ Article com author Person + dateModified
- ✅ BreadcrumbList (Blog → SEO → Modo IA do Google sumiu)
- ✅ FAQPage automático (parser da seção
## Perguntas frequentesem runtime) - 🟡 Person com nome e URL, mas
sameAsainda parcial — pendência - ❌ HowTo ausente (post tem passo-a-passo de Search Labs que se beneficiaria)
- ❌ Speakable ausente
Conclusão honesta: nem todos os tipos estavam aplicados. Os essenciais (Article + FAQPage + BreadcrumbList) estavam — o que sugere que o conjunto mínimo do qual a gente fala já dá retorno em SERP frágil. Acrescentar Person sameAs completo + HowTo + Speakable é trabalho pendente que vai virar pendência declarada na próxima iteração.
Implementação no Next.js (lib/seo/jsonld.ts)
No projeto Huios (Next.js 16 + Prisma), o schema é gerado por helper centralizado em lib/seo/jsonld.ts. Padrão:
```tsx // app/(marketing)/blog/[slug]/page.tsx import { buildArticleJsonLd, buildFaqJsonLd } from "@/lib/seo/jsonld";
export default async function PostPage({ params }: { params: Promise<{ slug: string }> }) { const { slug } = await params; const post = await getPostBySlug(slug);
return ( <> <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(buildArticleJsonLd(post)) }} /> <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(buildFaqJsonLd(post)) }} /> <article>{/* render markdown */}</article> </> ); } ```
Pontos importantes:
dangerouslySetInnerHTMLé o padrão recomendado pelo Next.js docs (alternativa ao<Script>que injeta tarde demais).- Server Component (default em Next.js 16 App Router) garante SSR — schema chega no HTML antes do JS executar.
- Helper centralizado evita duplicação entre páginas.
Em WordPress, plugins como Rank Math ou Yoast cobrem Article + FAQPage automaticamente. HowTo e Person estendido geralmente exigem custom code.
Erros comuns
1. Schema duplicado. Dois Article na mesma página confunde Google. Validar com Rich Results Test antes de publicar.
2. Person sem sameAs. É metade do trabalho. LLM precisa do link externo verificável.
3. FAQPage com 1 pergunta só. Não vira chunk extraível útil. Mínimo 3 perguntas pra schema FAQ valer a pena.
4. dateModified não atualizado. Refresh trimestral é o ritmo. Se dateModified mostra 2 anos atrás, LLM trata como stale.
5. Schema só client-side. Renderizado depois de hydration. Crawler de IA pode pular. Usar SSR.
6. Inventar dados estruturados. Marcar aggregateRating em página que não tem reviews reais é violação dos termos do Google. Penalidade vira manual action.
Perguntas frequentes
Schema markup é obrigatório pra ChatGPT citar?
Não obrigatório, mas significativamente útil. O estudo do Reddit r/DigitalMarketing mediu páginas com schema sendo citadas 3,2× mais. Em SERP competitiva, faz diferença. Em SERP frágil (KW emergente), seu post pode ser citado mesmo sem schema completo — mas com schema, mais cedo.
Microdata, RDFa ou JSON-LD: qual usar pra GEO?
JSON-LD. É o formato recomendado pelo Google e pelo Schema.org. Microdata e RDFa são legados — funcionam mas dão mais trabalho de manter. Em 2026, JSON-LD em <script type="application/ld+json"> no <head> é o padrão.
Posso ter mais de um tipo de schema na mesma página?
Sim, e deveria. Article + FAQPage + BreadcrumbList em todo post é o conjunto mínimo Huios. Cada tipo no seu próprio <script type="application/ld+json"> ou agregado via @graph em um único bloco. Validar sempre antes de publicar.
Schema afeta ranking SEO clássico?
Indiretamente. Schema não é fator de ranking direto, mas habilita rich results (estrelas, FAQ expandido) que aumentam CTR. CTR maior é sinal de qualidade pra Google. Em GEO, o impacto é mais direto: mediu-se 3,2× mais citações.
Como gerar schema automaticamente em Next.js / WordPress?
Em Next.js: helper centralizado em lib/seo/jsonld.ts com função por tipo (buildArticleJsonLd, buildFaqJsonLd). Renderiza via dangerouslySetInnerHTML em Server Component. Em WordPress: Rank Math ou Yoast cobrem Article + FAQPage automaticamente. HowTo e Person estendido geralmente exigem custom (PHP filter ou plugin extra).
Speakable schema ainda é relevante em 2026?
Marginalmente. Adoção pelos AI Assistants é parcial. Custo é baixo (1 atributo extra) e retorno é incremental. Vale aplicar em posts answer-first; não é prioridade alta.
Próximos passos
Pra implementar os 8 tipos no seu site, GEO checklist 2026 traz a Fase 1 (sitemap + robots + schema) e Fase 2 (estrutura answer-first) com priorização.
Pra entender a base teórica do GEO e quando schema importa mais, Generative Engine Optimization (GEO): guia completo tem o quadro inteiro.
Pra técnicas de citação no ChatGPT especificamente (que se beneficiam de schema), leia Como ser citado pelo ChatGPT em 2026. Pra criar llms.txt complementar ao schema, llms.txt: o que é, como criar e validar cobre o padrão de Jeremy Howard.
Atualizado em maio de 2026. Próxima revisão prevista: agosto de 2026 ou quando schema.org publicar tipos novos relacionados a IA.
Publicado em 08 de maio de 2026 · Por Equipe Huios



