Introdução

Quer que os motores de pesquisa e os assistentes de IA entendam as suas páginas e mostrem as respostas certas. Mesmo assim, muitas equipas colam snippets ao acaso, publicam markup com erros e perguntam porque nada muda. Em 2023, a Google limitou os rich results de FAQ e HowTo. As táticas fracas deixaram de funcionar. O que funciona agora é um plano claro que descreve as suas entidades, fornece dados fiáveis à pesquisa e suporta respostas de IA.

Neste guia, aprende como o schema markup funciona, como o implementar em JSON‑LD limpo, como validar e monitorizar e como ligá‑lo a um grafo de conhecimento de entidades que melhora resultados em todo o site. Recebe também modelos prontos, um plano de escala para equipas grandes e uma forma de medição que vai para além do CTR, para acompanhar cobertura de entidades e inclusão em IA.

Isto é importante para o seu negócio: dados claros reduzem desperdício de rastreio, desbloqueiam melhorias elegíveis e ajudam os sistemas de IA a citar a sua marca. Com estas práticas, publica markup melhor, mais depressa, e cria uma vantagem duradoura.

Fundamentos de schema markup

Schema markup é dado estruturado que descreve o que está numa página. Use JSON‑LD: é mais simples de manter e funciona bem com stacks modernos. Microdata e RDFa funcionam, mas misturam apresentação e dados e aumentam o risco em redesigns.

Termos-chave

  1. Entidade. Pessoa, produto, artigo, organização, evento, local.
  2. Tipo. Classe do Schema.org que corresponde à entidade.
  3. Propriedade. Atributo desse tipo.
  4. Identificador. URL estável que controla. Coloque em @id.
  5. sameAs. Lista de URLs fiáveis que confirmam a identidade.

Veja a Introdução aos dados estruturados, explore Schema.org e teste com o Rich Results Test e o Validator.

Quando o schema ajuda

  1. Elegibilidade a rich results (Product, Article, Breadcrumb, Sitelinks Search Box, Event, JobPosting).
  2. Fatos claros e verificáveis para assistentes de IA.
  3. Camada de dados durável que sobrevive a refontes.

Ligação interna: Fundamentos de Schema Markup.

Implementação e validação

Implemente em passos pequenos. Controle o código no repositório ou num tag manager com versionamento. Evite copiar e colar disperso.

Fluxo base

  1. Escolha o tipo principal da página (Article, Product).
  2. Escreva JSON‑LD com campos que consegue manter corretos.
  3. Adicione um @id estável (ex.: https://exemplo.pt/ids/objeto).
  4. Adicione sameAs para perfis de autoridade.
  5. Valide com o Rich Results Test e o Validator do Schema.org.
  6. Publique em pré‑produção e verifique o render e a unicidade.
  7. Lance em produção com feature flag e acompanhe a Search Console.

Exemplo JSON‑LD para Article

{
  "@context": "https://schema.org",
  "@type": "Article",
  "@id": "https://example.com/ids/article-123",
  "mainEntityOfPage": "https://example.com/blog/how-to-use-schema",
  "headline": "How to Use Schema Markup the Right Way",
  "description": "A practical walkthrough with templates and QA steps.",
  "image": [
    "https://example.com/images/schema-cover.jpg"
  ],
  "datePublished": "2025-01-15",
  "dateModified": "2025-01-15",
  "author": {
    "@type": "Person",
    "@id": "https://example.com/ids/author-ana",
    "name": "Ana Silva",
    "sameAs": [
      "https://www.linkedin.com/in/ana-silva-seo/"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "@id": "https://example.com/ids/org",
    "name": "Example Media",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/images/logo.png"
    }
  }
}

Dicas de validação

  1. Teste o JSON bruto no Validator.
  2. No Rich Results Test, verifique o URL ao vivo (separador de renderização).
  3. Confirme na Inspeção de URL que a Google vê o mesmo markup.
  4. Guarde capturas dos testes na pull request.

Ligação interna: Implementação e validação.

Modelação de entidades e grafo de conhecimento

Os rich results ajudam. Os ganhos duradouros resultam de um modelo de entidades coerente. Dê um @id estável a cada entidade importante. Relacione páginas com about e mentions.

Modelo inicial

  1. Organization com logo, nome e URLs (sitewide).
  2. WebSite com SearchAction para pesquisa interna.
  3. Person para autores e direção.
  4. Product ou Service para as suas ofertas.
  5. Place ou LocalBusiness para escritórios e lojas.

Exemplo JSON‑LD para Organization e WebSite

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/ids/org",
      "name": "Example Co",
      "url": "https://example.com/",
      "logo": {
        "@type": "ImageObject",
        "url": "https://example.com/images/logo.png"
      },
      "sameAs": [
        "https://www.linkedin.com/company/example/",
        "https://twitter.com/example"
      ]
    },
    {
      "@type": "WebSite",
      "@id": "https://example.com/ids/website",
      "url": "https://example.com/",
      "name": "Example Co",
      "potentialAction": {
        "@type": "SearchAction",
        "target": "https://example.com/search?q={search_term_string}",
        "query-input": "required name=search_term_string"
      }
    }
  ]
}

AEO e pesquisa por IA

AI Overviews e motores de respostas recompensam factos claros e fontes fiáveis. O schema não garante citação, mas aumenta a probabilidade.

Boas práticas: resumos precisos no topo da página, campos JSON‑LD consistentes, ligações a páginas de entidade e sameAs, bios e informação da organização atualizadas, dados originais publicados.

Ligação interna: AEO e pesquisa por IA.

Playbook de e‑commerce

Sincronize preço, stock e avaliações com o catálogo. Uma fonte de verdade.

Exemplo JSON‑LD para Product

{
  "@context": "https://schema.org",
  "@type": "Product",
  "@id": "https://example.com/ids/sku-123",
  "name": "Noise Cancelling Headphones X100",
  "image": "https://example.com/images/x100.jpg",
  "description": "Wireless headphones with active noise cancelling and 30 hour battery.",
  "sku": "X100",
  "brand": {
    "@type": "Brand",
    "name": "AudioMax"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "218"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/product/x100",
    "priceCurrency": "EUR",
    "price": "199.00",
    "itemCondition": "https://schema.org/NewCondition",
    "availability": "https://schema.org/InStock"
  }
}

Stock e preços em escala

  1. Ligue o JSON‑LD à mesma fonte que gera o preço em página.
  2. Atualize o markup quando o preço ou o stock mudarem.
  3. Meça o tempo entre a mudança no catálogo e a atualização em produção (objetivo < 1 hora em SKUs críticos).
  4. Use os relatórios Merchant listings e o guia Product.

Ligação interna: Product Schema Markup.

Local e multilingue

A visibilidade local requer NAP limpo. O multilingue precisa de URLs por idioma e etiquetas corretas.

Receita LocalBusiness

  1. Uma entidade LocalBusiness por localização.
  2. Morada coerente com o site e o Business Profile.
  3. Coordenadas geográficas quando existirem.
  4. Ligações para mapa e marcação.
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/ids/lisbon-office",
  "name": "Example Co Lisbon",
  "image": "https://example.com/images/lisbon-office.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Av. da Liberdade 10",
    "addressLocality": "Lisboa",
    "addressRegion": "Lisboa",
    "postalCode": "1250-144",
    "addressCountry": "PT"
  },
  "telephone": "+351 21 000 0000",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 38.716,
    "longitude": -9.139
  }
}

Padrão multilingue

  1. URLs únicas por idioma.
  2. inLanguage de acordo com a página.
  3. hreflang no head (o schema complementa, não substitui).
  4. Endereços e nomes na língua da página.

Ligação interna: Schema local e multilingue.

Publicações e media

Ganhe com dados Article/NewsArticle/BlogPosting claros e uma forte autoria. Mantenha datas certas. Sinalize paywall corretamente.

Dicas que contam

  1. mainEntityOfPage com o URL canónico.
  2. datePublished e dateModified atualizados.
  3. Autores como Person com ID estável.
  4. isAccessibleForFree e hasPart para conteúdos pagos.
  5. Dimensões de imagem indicadas.

Ligação interna: Article Schema Markup.

Medição e governação

Meça mais do que o CTR.

Indicadores mensais

  1. Cobertura por tipo.
  2. Atualidade dos dados.
  3. Qualidade (erros/avisos).
  4. Elegibilidade a melhorias.
  5. Força de entidade (@id, sameAs).
  6. Inclusão em IA.

QA que protege lançamentos

  1. Linter para campos obrigatórios.
  2. Bloqueie deploys quando falhar.
  3. Testes end‑to‑end para confirmar o JSON‑LD renderizado.
  4. Resultados de validação guardados na CI.

Ligação interna: Audit de schema.

Resolução de problemas e atualizações

Problemas comuns

Propriedades obrigatórias em falta, valores contraditórios, @id duplicados, markup que não corresponde ao conteúdo visível.

Desde 2023

A Google limitou FAQ e HowTo. Foque‑se em Product, Organization, LocalBusiness, Article e Breadcrumb. Mantenha‑se atualizado com a documentação oficial e teste com o Rich Results Test.

Ligação interna: Resolução de problemas e atualizações.

Ferramentas e modelos

Mantenha a stack simples e observável.

Conjunto base

Rich Results Test, Validator do Schema.org, Google Search Console, DevTools, linter, dashboard.

Modelos reutilizáveis

Crie modelos JSON que o CMS preenche com valores reais. Faça versionamento e revisão em PR. Exemplo de LocalBusiness:

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "{{ site.base }}/ids/{{ location.slug }}",
  "name": "{{ location.name }}",
  "image": "{{ location.image_url }}",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "{{ location.street }}",
    "addressLocality": "{{ location.city }}",
    "addressRegion": "{{ location.region }}",
    "postalCode": "{{ location.postcode }}",
    "addressCountry": "{{ location.country_code }}"
  },
  "telephone": "{{ location.phone }}",
  "url": "{{ location.url }}"
}

Como a AISO Hub pode ajudar

AISO Audit: análise do seu markup, modelos e validações. Backlog claro com impacto esperado.
AISO Foundation: modelo de entidades, modelos base e verificação em CI que bloqueia erros.
AISO Optimize: priorização de Product, LocalBusiness e Article e alinhamento de conteúdo para respostas de IA.
AISO Monitor: monitorização de cobertura, erros e atualidade com alertas.

Conclusão

Tem agora uma forma prática de publicar schema markup eficaz em 2025. Porque usar JSON‑LD, como implementar e validar, como ligar entidades, modelos para Article, Product, Organization, WebSite e LocalBusiness e uma medição que acompanha cobertura, qualidade e inclusão em respostas de IA.

Próximos passos: escolha um modelo, adicione IDs estáveis e sameAs, valide com o Rich Results Test e publique num pequeno conjunto de páginas. Defina uma revisão mensal. Expanda para o modelo seguinte. Para governação e escala, fale com a AISO Hub (Audit, Foundation, Optimize, Monitor).