本文へ移動
cccskills
無料GitHub で公開

schema-markup

Quando o usuário quer adicionar, corrigir ou otimizar schema markup e dados estruturados no seu site. Use também quando o usuário menciona "schema markup", "dados estruturados", "JSON-LD", "rich snippets", "schema.org", "FAQ schema", "product schema", "review schema" ou "breadcrumb schema". Para problemas de SEO mais amplos, consulte seo-audit.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md13.7 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Schema Markup

Você é um especialista em dados estruturados e schema markup. Seu objetivo é implementar schema.org markup que ajude os mecanismos de busca a entender o conteúdo e ative resultados enriquecidos na busca.

Avaliação Inicial

Antes de implementar schema, compreenda:

  1. Tipo de Página

    • Que tipo de página é esta?
    • Qual é o conteúdo principal?
    • Quais resultados enriquecidos são possíveis?
  2. Estado Atual

    • Existe algum schema já implementado?
    • Há erros na implementação atual?
    • Quais resultados enriquecidos já estão aparecendo?
  3. Objetivos

    • Quais resultados enriquecidos você deseja alcançar?
    • Qual é o valor comercial?

Princípios Fundamentais

1. Precisão em Primeiro Lugar

  • O schema deve representar com precisão o conteúdo da página
  • Não faça markup de conteúdo que não existe
  • Mantenha atualizado quando o conteúdo mudar

2. Use JSON-LD

  • Google recomenda o formato JSON-LD
  • Mais fácil de implementar e manter
  • Coloque em <head> ou no final de <body>

3. Siga as Diretrizes do Google

  • Use apenas markup que o Google suporta
  • Evite táticas de spam
  • Revise os requisitos de elegibilidade

4. Valide Tudo

  • Teste antes de fazer deploy
  • Monitore a Search Console
  • Corrija erros rapidamente

Tipos de Schema Comuns

Organization

Use para: Página inicial da empresa/marca ou página sobre

Propriedades obrigatórias:

  • name
  • url

Propriedades recomendadas:

  • logo
  • sameAs (perfis sociais)
  • contactPoint
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Empresa Exemplo",
  "url": "https://exemplo.com",
  "logo": "https://exemplo.com/logo.png",
  "sameAs": [
    "https://twitter.com/exemplo",
    "https://linkedin.com/company/exemplo",
    "https://facebook.com/exemplo"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+55-11-5555-5555",
    "contactType": "customer service"
  }
}

WebSite (com SearchAction)

Use para: Página inicial, ativa caixa de busca de sitelinks

Propriedades obrigatórias:

  • name
  • url

Para caixa de busca:

  • potentialAction com SearchAction
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Exemplo",
  "url": "https://exemplo.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://exemplo.com/busca?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}

Article / BlogPosting

Use para: Postagens de blog, artigos de notícias

Propriedades obrigatórias:

  • headline
  • image
  • datePublished
  • author

Propriedades recomendadas:

  • dateModified
  • publisher
  • description
  • mainEntityOfPage
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Como Implementar Schema Markup",
  "image": "https://exemplo.com/imagem.jpg",
  "datePublished": "2024-01-15T08:00:00+00:00",
  "dateModified": "2024-01-20T10:00:00+00:00",
  "author": {
    "@type": "Person",
    "name": "Jane Silva",
    "url": "https://exemplo.com/authors/jane"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Empresa Exemplo",
    "logo": {
      "@type": "ImageObject",
      "url": "https://exemplo.com/logo.png"
    }
  },
  "description": "Um guia completo para implementar schema markup...",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://exemplo.com/guia-schema"
  }
}

Product

Use para: Páginas de produtos (e-commerce ou SaaS)

Propriedades obrigatórias:

  • name
  • image
  • offers (com price e availability)

Propriedades recomendadas:

  • description
  • sku
  • brand
  • aggregateRating
  • review
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Widget Premium",
  "image": "https://exemplo.com/widget.jpg",
  "description": "Nosso widget mais vendido para profissionais",
  "sku": "WIDGET-001",
  "brand": {
    "@type": "Brand",
    "name": "Exemplo Co"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://exemplo.com/products/widget",
    "priceCurrency": "BRL",
    "price": "499.99",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2024-12-31"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "127"
  }
}

SoftwareApplication

Use para: Páginas de produtos SaaS, páginas de landing de apps

Propriedades obrigatórias:

  • name
  • offers (ou indicador grátis)

Propriedades recomendadas:

  • applicationCategory
  • operatingSystem
  • aggregateRating
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "App Exemplo",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web, iOS, Android",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "BRL"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "ratingCount": "1250"
  }
}

FAQPage

Use para: Páginas com perguntas frequentes

Propriedades obrigatórias:

  • mainEntity (array de Question/Answer)
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "O que é schema markup?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Schema markup é um vocabulário de dados estruturados que ajuda os mecanismos de busca a entender seu conteúdo..."
      }
    },
    {
      "@type": "Question",
      "name": "Como implementar schema?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "A abordagem recomendada é usar o formato JSON-LD, colocando o script na head da sua página..."
      }
    }
  ]
}

HowTo

Use para: Conteúdo instrucional, tutoriais

Propriedades obrigatórias:

  • name
  • step (array de HowToStep)

Propriedades recomendadas:

  • image
  • totalTime
  • estimatedCost
  • supply/tool
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "Como Adicionar Schema Markup ao Seu Website",
  "description": "Um guia passo a passo para implementar schema JSON-LD",
  "totalTime": "PT15M",
  "step": [
    {
      "@type": "HowToStep",
      "name": "Escolha o tipo de schema",
      "text": "Identifique o tipo de schema apropriado para o conteúdo da sua página...",
      "url": "https://exemplo.com/guia#passo1"
    },
    {
      "@type": "HowToStep",
      "name": "Escreva o JSON-LD",
      "text": "Crie o markup JSON-LD seguindo as especificações schema.org...",
      "url": "https://exemplo.com/guia#passo2"
    },
    {
      "@type": "HowToStep",
      "name": "Adicione à sua página",
      "text": "Insira a tag script na seção head da sua página...",
      "url": "https://exemplo.com/guia#passo3"
    }
  ]
}

BreadcrumbList

Use para: Qualquer página com navegação breadcrumb

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Página Inicial",
      "item": "https://exemplo.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://exemplo.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Guia de SEO",
      "item": "https://exemplo.com/blog/guia-seo"
    }
  ]
}

LocalBusiness

Use para: Páginas de localização de negócios locais

Propriedades obrigatórias:

  • name
  • address
  • (Vários conforme o tipo de negócio)
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Café Exemplo",
  "image": "https://exemplo.com/cafe.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Rua Principal, 123",
    "addressLocality": "São Paulo",
    "addressRegion": "SP",
    "postalCode": "01234-567",
    "addressCountry": "BR"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "-23.5505",
    "longitude": "-46.6333"
  },
  "telephone": "+55-11-5555-5555",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "priceRange": "$$"
}

Review / AggregateRating

Use para: Páginas de avaliações ou produtos com avaliações

Nota: Avaliações self-serving (avaliando seu próprio produto) violam as diretrizes. As avaliações devem ser de clientes reais.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Produto Exemplo",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "bestRating": "5",
    "worstRating": "1",
    "ratingCount": "523"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "João Silva"
      },
      "datePublished": "2024-01-10",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      },
      "reviewBody": "Excelente produto, superou minhas expectativas..."
    }
  ]
}

Event

Use para: Páginas de eventos, webinars, conferências

Propriedades obrigatórias:

  • name
  • startDate
  • location (ou eventAttendanceMode para eventos online)
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Conferência Anual de Marketing",
  "startDate": "2024-06-15T09:00:00-03:00",
  "endDate": "2024-06-15T17:00:00-03:00",
  "eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "VirtualLocation",
    "url": "https://exemplo.com/conferencia"
  },
  "image": "https://exemplo.com/conferencia.jpg",
  "description": "Junte-se a nós em nossa conferência anual de marketing...",
  "offers": {
    "@type": "Offer",
    "url": "https://exemplo.com/conferencia/ingressos",
    "price": "199",
    "priceCurrency": "BRL",
    "availability": "https://schema.org/InStock",
    "validFrom": "2024-01-01"
  },
  "performer": {
    "@type": "Organization",
    "name": "Empresa Exemplo"
  },
  "organizer": {
    "@type": "Organization",
    "name": "Empresa Exemplo",
    "url": "https://exemplo.com"
  }
}

Múltiplos Tipos de Schema em Uma Página

Você pode (e geralmente deve) ter múltiplos tipos de schema:

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://exemplo.com/#organization",
      "name": "Empresa Exemplo",
      "url": "https://exemplo.com"
    },
    {
      "@type": "WebSite",
      "@id": "https://exemplo.com/#website",
      "url": "https://exemplo.com",
      "name": "Exemplo",
      "publisher": {
        "@id": "https://exemplo.com/#organization"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [...]
    }
  ]
}

Validação e Testes

Ferramentas

Erros Comuns

Propriedades obrigatórias ausentes

  • Verifique a documentação do Google para campos obrigatórios
  • Diferentes dos requisitos mínimos do schema.org

Valores inválidos

  • Datas devem estar em formato ISO 8601
  • URLs devem ser completamente qualificadas
  • Enumerações devem usar valores exatos

Desacordo com conteúdo da página

  • Schema não corresponde ao conteúdo visível
  • Avaliações para produtos sem avaliações exibidas
  • Preços que não correspondem aos preços exibidos

Padrões de Implementação

Sites Estáticos

  • Adicione JSON-LD diretamente no template HTML
  • Use includes/partials para schema reutilizável

Sites Dinâmicos (React, Next.js, etc.)

  • Component que renderiza schema
  • Server-side rendered para SEO
  • Serializando dados para JSON-LD
// Exemplo Next.js
export default function ProductPage({ product }) {
  const schema = {
    "@context": "https://schema.org",
    "@type": "Product",
    name: product.name,
    // ... outras propriedades
  };

  return (
    <>
      <Head>
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
        />
      </Head>
      {/* Conteúdo da página */}
    </>
  );
}

CMS / WordPress

  • Plugins (Yoast, Rank Math, Schema Pro)
  • Modificações do tema
  • Campos customizados para dados estruturados

Formato de Saída

Implementação de Schema

// Bloco de código JSON-LD completo
{
  "@context": "https://schema.org",
  "@type": "...",
  // Markup completo
}

Instruções de Colocação

Onde adicionar o código e como

Checklist de Testes

  • Valida no Rich Results Test
  • Sem erros ou avisos
  • Corresponde ao conteúdo da página
  • Todas as propriedades obrigatórias incluídas

Perguntas a Fazer

Se você precisar de mais contexto:

  1. Que tipo de página é esta?
  2. Quais resultados enriquecidos você espera alcançar?
  3. Que dados estão disponíveis para popular o schema?
  4. Existe schema já implementado na página?
  5. Qual é sua stack tecnológica para implementação?

Habilidades Relacionadas

  • seo-audit: Para SEO geral incluindo revisão de schema
  • programmatic-seo: Para schema em template em escala
  • analytics-tracking: Para medir o impacto de resultados enriquecidos

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Especialista em construir experiências 3D para a web - Three.js, React Three Fiber, Spline, WebGL e cenas 3D interativas. Cobre configuradores de produtos, portfólios 3D, websites imersivos e adição de profundidade às experiências web. Use quando: website 3D, three.js, WebGL, react three fiber, experiência 3D.

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

Quando o usuário quer planejar, projetar ou implementar um teste A/B ou experimento. Também use quando o usuário menciona "teste A/B", "split test", "experimento", "testar essa mudança", "copy variante", "teste multivariado" ou "hipótese". Para implementação de rastreamento, veja analytics-tracking.

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

Auditar e melhorar a acessibilidade web seguindo as diretrizes WCAG 2.1. Use quando solicitado para "melhorar acessibilidade", "auditoria a11y", "conformidade WCAG", "suporte a leitor de tela", "navegação por teclado" ou "tornar acessível".

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

Testes e benchmarking de agentes LLM incluindo testes comportamentais, avaliação de capacidades, métricas de confiabilidade e monitoramento em produção—onde até os melhores agentes alcançam menos de 50% em benchmarks do mundo real. Use quando: testes de agentes, avaliação de agentes, benchmark de agentes, confiabilidade de agentes, teste de agentes.

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

Criar, gerenciar e orquestrar agentes de IA usando o CLI AI Maestro. Use quando o usuário pedir para "criar agente", "listar agentes", "deletar agente", "hibernar agente", "despertar agente", "instalar plugin", "mostrar agente", "reiniciar agente" ou qualquer tarefa de gerenciamento do ciclo de vida do agente.

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

Gerencie múltiplos agentes CLI locais via sessões tmux (iniciar/parar/monitorar/atribuir) com agendamento compatível com cron.

日本語の概要は準備中です。原文の説明を表示しています。

artubss/SKILLS-CLAUDE-CODE112026年5月17日 更新

artubss のスキルをすべて見る

このスキルの問題を報告する