Schema Markup para Site HTML: Guia Prático com Código

2026-04-01 — Equipe Htmly

Schema markup é o recurso que faz seu site aparecer com estrelas, perguntas respondidas e informações extras nos resultados do Google. Dados estruturados ainda são subutilizados pela maioria dos sites brasileiros — e quem não implementa está perdendo cliques para concorrentes que aparecem com resultados mais completos e visualmente atraentes.

Neste guia, você vai aprender o que são dados estruturados, por que o Google os valoriza e como adicionar os 4 tipos mais úteis ao seu site HTML. Cada seção inclui código JSON-LD pronto para copiar e adaptar. Se preferir gerar o código automaticamente, use nosso Gerador de Schema Markup e pule direto para a implementação.

O que são dados estruturados

Dados estruturados são trechos de código que você adiciona ao HTML do seu site para explicar ao Google (e outros mecanismos de busca) o que o conteúdo da página realmente significa. Em vez de o robô tentar adivinhar que sua página é sobre um restaurante, um produto ou um artigo, você declara isso explicitamente usando um vocabulário padronizado chamado Schema.org.

O Schema.org é mantido em conjunto por Google, Microsoft, Yahoo e Yandex. Ele define centenas de tipos de entidades — de pessoas e organizações a receitas, eventos e avaliações.

O formato recomendado pelo Google para implementar schema markup é o JSON-LD (JavaScript Object Notation for Linked Data). Ele fica dentro de uma tag <script type="application/ld+json"> no HTML da página, separado do conteúdo visível. Isso torna a implementação limpa: você não precisa alterar a estrutura do HTML existente.

Vale esclarecer a diferença: meta tags como <meta name="description"> e Open Graph (og:title, og:image) servem para controlar como a página aparece em previews de redes sociais e na descrição dos resultados de busca. Dados estruturados vão além — eles informam o tipo de conteúdo, suas propriedades e relações, permitindo que o Google gere rich snippets, painéis de conhecimento e outros formatos visuais especiais.

Por que o Google ama dados estruturados

O Google investe pesado em entender o conteúdo das páginas. Dados estruturados facilitam esse trabalho e, em troca, o Google recompensa com mais visibilidade. Os benefícios concretos incluem:

Rich snippets — resultados de busca enriquecidos com estrelas de avaliação, faixa de preço, disponibilidade de produto, perguntas e respostas expandidas, horários de funcionamento e muito mais. Esses elementos visuais extras aumentam significativamente a taxa de cliques (CTR).

Knowledge Graph — para negócios locais e organizações, dados estruturados alimentam o painel lateral que aparece quando alguém pesquisa o nome da empresa. Telefone, endereço, horário de funcionamento e avaliações aparecem diretamente no Google.

Elegibilidade para recursos especiais — carrosséis de receitas, listas de FAQs expandidas, breadcrumbs nos resultados e até posições no Google AI Overviews dependem de dados estruturados bem implementados.

Estudos de mercado indicam que rich snippets podem aumentar o CTR em 20% a 30% comparado a resultados comuns. Para sites que competem por palavras-chave disputadas, essa diferença pode significar centenas de visitas extras por mês.

Se você ainda não colocou seu site no Google ou quer melhorar seu posicionamento, confira nosso guia sobre como colocar site no Google — dados estruturados são uma das etapas mais importantes desse processo.

Os 4 tipos mais úteis para sites simples

Existem centenas de tipos de schema, mas para a maioria dos sites HTML — especialmente landing pages, sites profissionais e blogs — quatro tipos cobrem praticamente todas as necessidades.

LocalBusiness — para profissionais e negócios locais

Se você é nutricionista, dentista, advogado, dono de restaurante ou qualquer profissional com atendimento presencial, o schema LocalBusiness é obrigatório. Ele faz seu negócio aparecer com endereço, telefone, horário de funcionamento e até avaliações direto nos resultados do Google.

Veja um exemplo completo para uma nutricionista. Se você está montando um site para nutricionista, este é o schema ideal:

{
  "@context": "https://schema.org",
  "@type": "Dietitian",
  "name": "Dra. Ana Silva - Nutricionista",
  "description": "Nutricionista clínica especializada em emagrecimento saudável e reeducação alimentar em São Paulo.",
  "url": "https://www.anasilvanutri.com.br",
  "telephone": "+55-11-99876-5432",
  "email": "[email protected]",
  "image": "https://www.anasilvanutri.com.br/images/dra-ana-silva.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Rua Augusta, 1200, Sala 45",
    "addressLocality": "São Paulo",
    "addressRegion": "SP",
    "postalCode": "01304-001",
    "addressCountry": "BR"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -23.5536,
    "longitude": -46.6573
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "08:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "08:00",
      "closes": "12:00"
    }
  ],
  "priceRange": "$$",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "reviewCount": "87"
  }
}

Para um site para restaurante, basta trocar o @type para "Restaurant" e adaptar os campos:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Restaurante Sabor da Terra",
  "description": "Comida caseira brasileira no centro de Belo Horizonte. Almoço executivo e buffet por quilo.",
  "url": "https://www.sabordaterra.com.br",
  "telephone": "+55-31-3333-4567",
  "image": "https://www.sabordaterra.com.br/images/fachada.jpg",
  "servesCuisine": "Brasileira",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Rua da Bahia, 500",
    "addressLocality": "Belo Horizonte",
    "addressRegion": "MG",
    "postalCode": "30160-011",
    "addressCountry": "BR"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -19.9191,
    "longitude": -43.9387
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "11:00",
      "closes": "15:00"
    }
  ],
  "priceRange": "$",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "312"
  }
}

FAQ — para páginas com perguntas frequentes

O schema FAQPage faz com que suas perguntas e respostas apareçam expandidas diretamente nos resultados do Google, ocupando mais espaço visual e aumentando o CTR. Funciona para qualquer página que tenha seção de dúvidas — landing pages, páginas de produto, artigos informativos.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Quanto custa criar um site profissional?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Um site profissional simples pode ser criado gratuitamente com ferramentas de IA e hospedado a partir de R$ 12/mês. Sites mais complexos com funcionalidades customizadas podem custar entre R$ 500 e R$ 5.000 com um desenvolvedor."
      }
    },
    {
      "@type": "Question",
      "name": "Preciso saber programar para ter um site?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não. Hoje é possível gerar um site completo usando inteligência artificial como ChatGPT, Claude ou Bolt.new, e publicá-lo em plataformas de hospedagem de sites sem nenhum conhecimento técnico."
      }
    },
    {
      "@type": "Question",
      "name": "O que são rich snippets?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Rich snippets são resultados de busca enriquecidos com informações visuais extras, como estrelas de avaliação, preços, FAQs e horários de funcionamento. Eles são gerados pelo Google a partir de dados estruturados (schema markup) no HTML da página."
      }
    }
  ]
}

Cada par de pergunta e resposta vira um item expansível nos resultados de busca. O Google pode exibir até 3 ou 4 perguntas diretamente, dando ao seu site um destaque enorme na página de resultados.

Article — para blog posts e conteúdo editorial

Se você publica artigos, tutoriais ou posts de blog, o schema Article ajuda o Google a entender autoria, data de publicação e imagem principal. Isso melhora a exibição nos resultados de busca e nas abas de "Notícias" e "Discover".

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Como Criar um Site para Restaurante em 2026",
  "description": "Guia completo para criar um site profissional para restaurante com cardápio online, localização e reservas.",
  "image": "https://www.exemplo.com.br/images/site-restaurante.jpg",
  "datePublished": "2026-04-01",
  "dateModified": "2026-04-01",
  "author": {
    "@type": "Person",
    "name": "Maria Oliveira",
    "url": "https://www.exemplo.com.br/sobre"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Exemplo Blog",
    "url": "https://www.exemplo.com.br",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.exemplo.com.br/images/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.exemplo.com.br/blog/site-para-restaurante"
  }
}

Campos obrigatórios que muita gente esquece: dateModified (o Google quer saber se o conteúdo é atual), publisher com logo e mainEntityOfPage com o URL canônico. Sem esses campos, o schema pode ser considerado incompleto e o Google pode ignorar.

Product — para quem vende produtos ou serviços

O schema Product exibe preço, disponibilidade e avaliações diretamente nos resultados de busca. Indispensável para e-commerce, mas também funciona para serviços com preço definido.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Consultoria de Marketing Digital - Pacote Básico",
  "description": "Análise completa de presença digital, relatório de concorrentes e plano de ação para 3 meses.",
  "image": "https://www.agenciadigital.com.br/images/consultoria-marketing.jpg",
  "brand": {
    "@type": "Organization",
    "name": "Agência Digital XYZ"
  },
  "offers": {
    "@type": "Offer",
    "price": "1500.00",
    "priceCurrency": "BRL",
    "availability": "https://schema.org/InStock",
    "url": "https://www.agenciadigital.com.br/consultoria",
    "validThrough": "2026-12-31"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "45"
  }
}

Note que o campo price deve ser numérico (sem "R$") e priceCurrency define a moeda. O availability usa URLs padronizadas do Schema.org — os valores mais comuns são InStock, OutOfStock e PreOrder.

Onde colar no HTML

O bloco JSON-LD deve ficar dentro da tag <head> do seu HTML, antes do </head>. Envolva o JSON com a tag de script apropriada:

<head>
  <meta charset="UTF-8">
  <title>Minha Página</title>
  <meta name="description" content="Descrição da página">

  <!-- Schema Markup - Dados Estruturados -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "LocalBusiness",
    "name": "Meu Negócio"
  }
  </script>

  <!-- Pode ter múltiplos blocos na mesma página -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": []
  }
  </script>
</head>

Sim, você pode ter vários blocos JSON-LD na mesma página. Uma landing page de restaurante, por exemplo, pode combinar LocalBusiness + FAQPage para aparecer com informações do negócio e perguntas expandidas ao mesmo tempo.

Se você usa o Htmly para hospedagem de sites, o schema pode ser adicionado diretamente no editor — basta colar o bloco <script> no <head> do seu HTML.

Como testar

Antes de considerar o trabalho feito, teste se o schema está válido e se o Google vai reconhecê-lo. Existem duas ferramentas essenciais:

1. Rich Results Test (Teste de Resultados Ricos)

Acesse search.google.com/test/rich-results e cole a URL da sua página ou o código HTML diretamente. A ferramenta mostra:

  • Se o schema foi detectado corretamente
  • Quais tipos de rich results a página está elegível
  • Avisos e erros em campos obrigatórios

2. Schema Markup Validator

Acesse validator.schema.org para uma validação mais técnica. Ele verifica se o JSON-LD segue a especificação do Schema.org, independente do que o Google suporta.

O passo a passo recomendado: primeiro valide a sintaxe JSON usando um Validador de JSON para garantir que não há erros de formatação. Depois use o Formatador de JSON para organizar o código de forma legível. Por fim, teste no Rich Results Test para confirmar elegibilidade.

Erros comuns

Estes são os problemas que mais aparecem na implementação de schema markup, especialmente em sites feitos manualmente ou com IA:

JSON inválido — uma vírgula extra após o último item de um array ou aspas tipográficas (as "curvas" que editores de texto como Word inserem automaticamente) quebram o JSON inteiro. O Google simplesmente ignora o bloco. Sempre valide a sintaxe antes de publicar.

Campos obrigatórios faltando — cada tipo de schema tem campos mínimos. Um Article sem datePublished ou um Product sem offers pode ser ignorado pelo Google. Consulte a documentação em developers.google.com/search/docs/appearance/structured-data para saber quais campos são obrigatórios para cada tipo.

URLs relativas em vez de absolutas — campos como url, image e logo devem usar URLs completas (https://www.seusite.com.br/imagem.jpg), não caminhos relativos (/imagem.jpg). URLs relativas podem não ser resolvidas corretamente pelo Google.

Schema que não corresponde ao conteúdo real — adicionar schema de Product com preço e avaliação em uma página que não mostra essas informações ao usuário é considerado spam de dados estruturados. O Google pode penalizar o site. O schema deve refletir exatamente o que o visitante vê na página.

Usar Microdata em vez de JSON-LD — Microdata (atributos itemprop, itemscope no HTML) ainda funciona, mas o Google recomenda oficialmente JSON-LD. Além de ser mais fácil de implementar, JSON-LD não polui a estrutura do HTML e é mais simples de manter e depurar.

Conclusão

Dados estruturados são uma das formas mais diretas de melhorar a aparência do seu site nos resultados de busca. Com os quatro tipos abordados neste guia — LocalBusiness, FAQ, Article e Product — você cobre a grande maioria dos cenários para sites profissionais, blogs e pequenos negócios.

O processo é simples: escolha o tipo correto, preencha os campos com dados reais do seu negócio, cole no <head> do HTML e teste com as ferramentas do Google.

Se você não quer digitar JSON manualmente, use o Gerador de Schema Markup do Htmly — basta preencher os campos em um formulário e o código JSON-LD é gerado automaticamente, pronto para colar no seu site. É gratuito e não exige cadastro.

Publique seu site em segundos

Crie seu HTML (na mão ou com IA) e coloque no ar agora — sem servidor, sem complicação.

Comece grátis