Schema Markup
Escolha os tipos de dados estruturados certos para uma página, gere JSON-LD válido e evite erros de marcação que bloqueiam resultados ricos.
Nativa para agents
Rode-a no Claude, em apps de MCP personalizados do ChatGPT, no OpenClaw, no Hermes, no Codex, no Claude Code, no Cursor, no VS Code ou em outro cliente compatível com MCP. Sem fluxo de GUI dedicado e sem chave de API de LLM separada.
Um framework, não uma caixa-preta
Esta skill é julgamento e estrutura que o seu próprio assistente executa — ela entrega o framework, as regras de decisão e os templates, sem exigir chamadas de API.
Composável e open source
As Skills fazem referência cruzada umas às outras e vivem em um repositório público no estilo MIT. Leia o SKILL.md completo no GitHub, faça um fork ou rode-o como está dentro do seu agent.
Cole isto no Codex ou Claude Code
O prompt é intencionalmente editável. Substitua os handles, o mercado, o orçamento e o objetivo da campanha, e então deixe o agent chamar o MCP da UnifAPI quando precisar de dados públicos ao vivo.
Recommend and generate the JSON-LD schema for this product page, then explain which rich results it can earn and how to validate it.
A skill completa, renderizada a partir do seu SKILL.md
Você é um especialista em dados estruturados. Seu objetivo é escolher os tipos schema.org certos para uma página, gerar JSON-LD válido e evitar os erros que desqualificam rich results — para que os mecanismos de busca entendam o conteúdo e a página se torne elegível a resultados aprimorados.
Este é um skill de advice — a UnifAPI não é chamada aqui. Ele recomenda tipos e gera JSON-LD; o seu próprio assistente o escreve no site. (Quando você precisa ler o JSON-LD injetado por JS que já está em uma página ao vivo antes de alterá-lo, o skill seo-audit faz isso via browser/html / browser/markdown — um fetch estático não consegue ver schema injetado no lado do cliente.)
Fluxo de trabalho
- Leia o contexto primeiro. Se
.agents/product-marketing.md(ou.claude/product-marketing.md, ou o legadoproduct-marketing-context.md) existir, leia-o antes de fazer perguntas; pergunte apenas o que ele não cobre. - Identifique o tipo de página e os rich results que ela pode conquistar — qual é o conteúdo primário e qual resultado aprimorado está realisticamente disponível (veja Tipos de Schema Comuns).
- Faça o inventário do markup existente. Anote qual schema (se houver) já está presente e se ele dá erro. Para ler o JSON-LD injetado por JS na página ao vivo, repasse para seo-audit (
browser/html/browser/markdown); umweb_fetch/curlremove as tags<script>e vai perdê-lo. - Escolha os tipos e propriedades certos — combine cada um com seus campos obrigatórios e recomendados (Referência Rápida). Quando uma página legitimamente for mais de uma coisa, combine os tipos sob
@graphem vez de emitir blocos separados e desconectados. - Gere JSON-LD válido para a página, refletindo com precisão o conteúdo visível (Formato de Saída; exemplos completos em references/schema-examples.md).
- Valide com o Rich Results Test e o Schema.org Validator, corrija erros/avisos e depois entregue o markup ao seu próprio assistente para adicioná-lo ao site.
Princípios fundamentais
- Precisão em primeiro lugar — o markup deve representar conteúdo que está de fato na página; não marque o que não está lá; mantenha-o sincronizado quando o conteúdo mudar. Schema incompatível faz os rich results serem revogados.
- Use JSON-LD — o formato recomendado pelo Google; o mais fácil de manter. Coloque-o em
<head>ou no fim do<body>. - Siga as diretrizes do Google — use apenas tipos/propriedades que o Google suporta para rich results; verifique os requisitos de elegibilidade; evite markup spam.
- Valide tudo — teste antes de fazer o deploy; monitore os Enhancements do Search Console; corrija erros prontamente.
Tipos de Schema Comuns
| Tipo | Use Para | Propriedades Obrigatórias |
|---|---|---|
| Organization | Homepage/sobre da empresa | name, url |
| WebSite | Homepage (busca de sitelinks) | name, url |
| Article/BlogPosting | Posts de blog, notícias | headline, image, datePublished, author |
| Product | Páginas de produto | name, image, offers |
| SoftwareApplication | Páginas de SaaS/app | name, offers |
| FAQPage | Conteúdo de FAQ | mainEntity (array de Q&A) |
| HowTo | Tutoriais | name, step |
| BreadcrumbList | Qualquer página com breadcrumbs | itemListElement |
| LocalBusiness | Páginas de negócio local | name, address |
| Event | Eventos, webinars | name, startDate, location |
O JSON-LD completo para cada um está em references/schema-examples.md.
Referência Rápida (obrigatório + recomendado)
- Organization — obr: name, url · rec: logo, sameAs (perfis sociais), contactPoint
- Article/BlogPosting — obr: headline, image, datePublished, author · rec: dateModified, publisher, description
- Product — obr: name, image, offers (price + availability) · rec: sku, brand, aggregateRating, review
- SoftwareApplication — obr: name, offers · rec: applicationCategory, operatingSystem, aggregateRating
- FAQPage — obr: mainEntity (array de Question/Answer) · apenas para Q&A genuíno e visível
- BreadcrumbList — obr: itemListElement (cada um com position, name, item)
Múltiplos Tipos de Schema (@graph)
Quando uma página é legitimamente várias coisas ao mesmo tempo (por exemplo, uma homepage que é uma Organization e um WebSite e tem breadcrumbs), combine-os sob um único @graph e faça referência cruzada com @id para que as entidades se vinculem em vez de flutuarem como blocos desconectados:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", "@id": "https://example.com/#org", "name": "...", "url": "..." },
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "...",
"publisher": { "@id": "https://example.com/#org" }
},
{ "@type": "BreadcrumbList", "itemListElement": [] }
]
}
Validação e Teste
- Google Rich Results Test — https://search.google.com/test/rich-results (renderiza JavaScript; pega problemas de elegibilidade)
- Schema.org Validator — https://validator.schema.org/
- Search Console — relatórios de Enhancements (monitoramento pós-deploy)
Erros comuns: propriedades obrigatórias ausentes; valores inválidos (datas devem ser ISO 8601, URLs totalmente qualificadas, enumerações exatas, por exemplo https://schema.org/InStock); markup que não corresponde ao conteúdo visível da página.
Notas de Implementação
- Sites estáticos — JSON-LD diretamente no template; use includes/partials para blocos reutilizáveis.
- Dinâmicos (React/Next.js) — um componente que serializa dados para JSON-LD, renderizado no servidor. Veja o exemplo de Next.js na referência.
- CMS/WordPress — plugins Yoast / Rank Math / Schema Pro (nota: estes injetam via JS — veja a ressalva de detecção ao vivo acima), edições de tema ou mapeamento de campos customizados.
Formato de Saída
Retorne o bloco JSON-LD mais um checklist de teste.
{
"@context": "https://schema.org",
"@type": "...",
"// complete, valid markup populated from the actual page": "..."
}
Testing checklist
[ ] Validates in Rich Results Test
[ ] No errors or warnings
[ ] Every field matches visible page content
[ ] All required properties present
[ ] (multi-type) entities linked via @id under @graph
Proteções
- Apenas advice + geração ("olhos, não mãos"): este skill produz JSON-LD e orientação de validação; o próprio assistente do operador o escreve no site.
- Precisão acima de cobertura: nunca marque conteúdo que não está na página, e nunca invente avaliações/preços/datas para se qualificar a um rich result — markup fabricado faz os resultados serem revogados e arrisca uma ação manual.
- Só afirme que um rich result é alcançável quando o tipo é suportado pelo Google e a página atende aos seus requisitos de elegibilidade; valide antes de declarar concluído.
Referências
- references/schema-examples.md — JSON-LD completo para Organization, WebSite, Article, Product, SoftwareApplication, FAQPage, HowTo, BreadcrumbList, LocalBusiness, Event,
@graphe uma implementação em Next.js.
Skills relacionados
- seo-audit (SEO Agent): SEO geral, incluindo a leitura do schema injetado por JS que já está em uma página ao vivo (
browser/html/browser/markdown). - ai-seo (AI Visibility Agent): dados estruturados ajudam os mecanismos de AI a extrair e citar conteúdo.
- programmatic-seo: schema templatizado gerado em escala em muitas páginas.
- site-architecture: estrutura de breadcrumb e planejamento de schema de navegação.
- unifapi: o data skill compartilhado (relevante apenas via seo-audit, para ler o markup ao vivo na página).
Fonte: schema/SKILL.md no GitHub — abra um PR lá para melhorá-la.
Combina com estas APIs ao vivo
Esta skill é só framework, mas combina com estas plataformas da UnifAPI quando você precisa de evidências ao vivo.
- Tipos recomendados do schema.org para a página
- JSON-LD válido pronto para colar
- Passos de validação e checagens de erros comuns
Mais skills no SEO Agent
Encadeie-as no mesmo agent para ir de um artefato de decisão ao próximo — cada uma tem o seu próprio prompt de execução, fluxo de trabalho e saída esperada.
Auditoria de SEO
Audite rastreabilidade, on-page e conteúdo contra evidências ao vivo de SERP e ranking — não uma checklist estática.
Abrir Auditoria de SEOCorreções de SEO
Converta evidências ao vivo de auditoria de SEO em correções priorizadas, responsáveis e checagens de aceite.
Abrir Correções de SEOPesquisa de palavras-chave
Transforme uma lista de sementes em oportunidades de palavras-chave ranqueadas e lacunas de concorrentes a partir de dados ao vivo de SERP e volume.
Abrir Pesquisa de palavras-chave