← Voltar ao blog
AEOScanaris Team · 5 min de leitura · October 04, 2026

Dados estruturados (schema.org): porque a IA cita uns sites e outros não

O que são os dados estruturados

Uma máquina que lê o teu site vê texto, mas nem sempre percebe o que é cada coisa. Os dados estruturados põem-lhe etiquetas: isto é um produto, isto é o seu preço, isto é uma pergunta frequente, este é o autor. O vocabulário padrão chama-se schema.org e é usado tanto pelos motores de busca como pelos modelos de IA. Este guia explica porque ajudam a que te citem, que tipos pôr em cada página com exemplos completos, os erros que tiram credibilidade e como verificar que estão bem.

JSON-LD, a forma fácil

Há várias maneiras de escrever schema, mas a recomendada é JSON-LD: um bloco de script em formato JSON que colocas no cabeçalho ou no corpo da página. Não muda nada do que o utilizador vê e fica separado do HTML visível, por isso é fácil de gerar e rever. Se usas Cursor, Bolt ou Lovable, pedir à tua IA que gere o JSON-LD de uma página concreta é questão de um prompt. A alternativa, os microdados embutidos nas etiquetas HTML, funciona igual mas é mais difícil de manter.

Porque ajuda a que te citem

Quando um modelo tem de resumir a tua página, o schema reduz a ambiguidade. Em vez de inferir que um número é um preço, sabe. Em vez de adivinhar quem escreveu o artigo, lê. Em vez de deduzir que "Scanaris" é uma empresa e não uma pessoa, tem-no declarado. Menos adivinhar significa mais confiança, e mais confiança significa mais probabilidade de ser usado como fonte. Além disso, o schema liga o teu site ao resto da internet: o campo sameAs aponta para os teus perfis e o modelo percebe que tudo fala da mesma entidade.

Que tipos acrescentar e com que propriedades

  • Organization na home: nome, logótipo, URL, descrição numa frase e sameAs com os teus perfis públicos.
  • SoftwareApplication (ou Product) na página de produto ou preços: nome, descrição, categoria, sistema operativo ou plataforma, e offers com preço e moeda.
  • FAQPage onde houver perguntas e respostas reais e visíveis.
  • Article ou BlogPosting nos posts, com autor, data de publicação e de modificação.
  • BreadcrumbList para dar contexto de onde encaixa cada página.
  • WebSite na home, com o nome do site, que ajuda a que apareça corretamente nos resultados.

Não os acrescentes todos só porque sim. Marca apenas o que está mesmo na página.

Um exemplo completo para uma app

É assim que fica o bloco da home de um produto de software, com a organização e a aplicação num mesmo grafo:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://oteudominio.com/#org",
      "name": "O Teu Produto",
      "url": "https://oteudominio.com",
      "logo": "https://oteudominio.com/logo.png",
      "description": "O Teu Produto é um [o que é] para [quem] que [o que consegue].",
      "sameAs": [
        "https://github.com/oteuproduto",
        "https://www.linkedin.com/company/oteuproduto",
        "https://x.com/oteuproduto"
      ]
    },
    {
      "@type": "SoftwareApplication",
      "name": "O Teu Produto",
      "applicationCategory": "DeveloperApplication",
      "operatingSystem": "Web",
      "url": "https://oteudominio.com",
      "description": "O Teu Produto é um [o que é] para [quem] que [o que consegue].",
      "publisher": { "@id": "https://oteudominio.com/#org" },
      "offers": {
        "@type": "Offer",
        "price": "24",
        "priceCurrency": "EUR",
        "url": "https://oteudominio.com/pricing"
      }
    }
  ]
}
</script>

Repara que a descrição é a mesma frase nos dois blocos, e devia ser a mesma que aparece na home, na meta descrição e no llms.txt. Essa repetição exata é o que os modelos acabam por citar.

E um para as perguntas frequentes

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "O Teu Produto modifica o meu site?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Não. Faz verificações só de leitura sobre informação pública."
      }
    }
  ]
}
</script>

Cada pergunta do JSON tem de existir, com o mesmo texto, na parte visível da página.

Os erros mais comuns

  • Marcar o que não se vê. Perguntas frequentes que não aparecem na página, avaliações inventadas, um preço no JSON diferente do da página. Tira credibilidade e pode trazer-te uma ação manual do Google.
  • Dados desatualizados. Mudas o preço na página e esqueces-te do schema. Gera o JSON-LD a partir da mesma fonte de dados que a página, não à mão.
  • Nome inconsistente. "O Teu Produto" na home, "OTeuProduto" no schema, "o-teu-produto" nos perfis. Escolhe uma grafia e usa-a em todo o lado.
  • Tipo errado. Um Product físico para um serviço web, ou um Article numa página de preços.
  • JSON inválido. Uma vírgula a mais e o bloco inteiro é ignorado em silêncio.

Onde o pôr consoante a tua framework

Em Next.js, um elemento script com type="application/ld+json" no layout ou na página, com o JSON serializado a partir de um objeto. Em Nuxt, com useHead e um script do mesmo tipo. Numa SPA de Vite, no index.html se o bloco for estático, ou injetado no prerender se variar por página. O importante é que chegue no HTML inicial: um JSON-LD que só existe depois de executar JavaScript não é lido pelos bots que não renderizam.

Como verificar que está bem

Pede a tua página com curl e procura o bloco:

curl -s https://oteudominio.com/ | grep -o 'application/ld+json' | wc -l

Se der zero, não chega no HTML. Depois valida o conteúdo com a ferramenta de resultados enriquecidos do Google ou com o validador do schema.org, que te assinalam erros de sintaxe e propriedades desconhecidas. E lê-o tu: diz o mesmo que a página? Se não, um dos dois está a mentir.

O Scanaris revê o teu schema

O pilar de visibilidade para IA do Scanaris deteta se tens dados estruturados, de que tipo, se chegam no HTML sem JavaScript e se fazem sentido para a página, e dá-te um fix prompt com o JSON-LD sugerido para colar na tua IA. É uma verificação só de leitura sobre o HTML público do teu site. Faz parte do guia de AEO e da revisão de SEO e AEO na mesma página.

Perguntas frequentes

O Google penaliza schema incorreto?

O schema com erros de sintaxe é simplesmente ignorado. O schema enganador (marcar avaliações ou perguntas que não existem) pode receber uma ação manual que te tira os resultados enriquecidos. Marca só o visível.

JSON-LD ou microdados?

JSON-LD. É o que o Google e o schema.org recomendam, gera-se a partir de dados sem tocar no HTML visível e é muito mais fácil de manter.

É preciso em todas as páginas?

Nas públicas que queres que se percebam: home, produto, preços, blog, perguntas frequentes. O painel privado não precisa porque ninguém externo o lê.

Como está o teu site?

Passa-lhe o Scanaris e verifica em 30 segundos, grátis.

Analisar o meu site

Verificações relacionadas