Tenten AIGEO
Voltar ao blog
AEO técnicoImplementação

Como usar @graph para conectar Organization, WebSite e WebPage e ajudar a IA a entender as entidades de todo o site

O objetivo do schema @graph não é acumular marcações, mas criar referências claras entre as entidades. Este artigo explica a convenção de nomes de @id, a direção das conexões entre Organization, WebSite e WebPage, traz um exemplo completo de JSON-LD pronto para uso e mostra quatro erros comuns — tudo para que os mecanismos de IA compreendam, de uma só vez, a estrutura de entidades do seu site.

Equipe Tenten GEOPublicado em 2025-02-175 min de leitura
Representação abstrata de três nós conectados por feixes de luz, simbolizando o uso de @graph para reunir as entidades de um site em um único grafo.

Seu site pode ter schema em todas as páginas e, ainda assim, um mecanismo de IA não conseguir identificar a qual site aquela WebPage pertence nem quem o administra. O problema não é a quantidade de marcações, mas o fato de elas não se reconhecerem. Criar Organization, WebSite e WebPage como blocos isolados de JSON-LD equivale a entregar à máquina três cartões de visita sem nenhuma ligação entre si. @graph cria essa ligação e permite que a IA compreenda, de uma só vez, a estrutura de entidades de todo o site.

Por que schemas desconectados impedem a IA de compreender seu site

Na maioria dos sites, o schema é gerado automaticamente por plugins ou modelos do CMS: Organization na página inicial, Article nos artigos e Product na página de preços. Analisado separadamente, cada bloco pode estar correto e até passar no Rich Results Test. O problema aparece quando a máquina tenta responder: “Quem publicou este artigo e essa fonte é confiável?”. Ela encontra vários objetos soltos, sem um campo que indique que o publisher de Article é a mesma Organization definida na página inicial. Para mecanismos de resumo e respostas por IA, uma parte importante da decisão de citar uma fonte é conseguir associar o conteúdo a uma organização real e verificável. Sem essa relação, o conteúdo deixa de parecer uma informação oficial da empresa e passa a ser apenas um texto de origem desconhecida.

O que @graph faz, na prática

@graph é um campo de nível superior do JSON-LD. Seu valor é um array capaz de reunir vários objetos de entidade. Assim, entidades que normalmente seriam distribuídas por diversas tags script passam a compartilhar o mesmo arquivo e o mesmo namespace. O ganho principal não está apenas em “colocar tudo junto”, mas em permitir que os objetos façam referência uns aos outros por meio de @id. Você declara um @id em Organization e informa esse mesmo @id no campo publisher de WebSite. Com isso, a máquina entende que ambos apontam para a mesma entidade, sem que seja necessário copiar todo o objeto Organization. Definir uma vez e referenciar em todos os lugares é um princípio básico dos grafos de conhecimento. O schema.org oferece suporte a @graph justamente para que uma página expresse relações entre entidades, em vez de apenas listar atributos.

Uma única tag script comporta todo o @graph da página. Isso também resolve um problema antigo: três plugins diferentes declarando a mesma Organization, cada um com atributos que podem entrar em conflito. Com @graph, a empresa aparece uma única vez, torna-se a fonte única de verdade para todo o site e exige manutenção em apenas um ponto.

@id: um endereço estável para cada entidade

@id é a base de toda essa implementação. Trata-se de uma string de identificação única em todo o domínio, normalmente formada por uma URL seguida de um fragmento com cerquilha, como https://example.com/#organization. Esse endereço não precisa necessariamente abrir no navegador: sua função é identificar, não servir como link. Desde que a mesma entidade use sempre o mesmo @id em todo o site, a IA consegue agrupar sob um único sujeito as informações distribuídas por várias páginas. Quando o mesmo @id aparece na página inicial, em um artigo e na página de preços, a máquina pode reunir as descrições da empresa e formar um registro de entidade mais completo e difícil de falsificar.

  • Para Organization, use a raiz do domínio seguida de um fragmento, como https://example.com/#organization. O valor deve ser único em todo o site e apontar sempre para a mesma empresa.
  • Para WebSite, use a raiz do domínio seguida de #website para representar o site como uma entidade completa.
  • Para a WebPage de cada página, use “URL da página + #webpage”. O valor muda de uma página para outra.
  • Padronize os nomes dos fragmentos com a equipe (#organization, #website, #webpage). Não use #org hoje e #company amanhã.
  • Depois que um @id estiver em produção, não o altere sem necessidade. A mudança equivale à criação de uma nova entidade e rompe todas as associações acumuladas anteriormente.
Infográfico com o diagrama das relações entre as entidades Organization, WebSite e WebPage, conectadas por referências de @id.
Cada uma das três entidades declara seu @id uma única vez e usa publisher e isPartOf para formar um grafo de entidades compreensível para a IA.

Como as três entidades apontam umas para as outras

A direção das conexões segue uma lógica: da entidade mais específica para a mais ampla, da página para a organização responsável. WebSite usa publisher para apontar para Organization e declarar que o site é operado por aquela empresa. Cada WebPage usa isPartOf para apontar para WebSite e informar que faz parte daquele site. Se a página tratar da própria empresa, como nas seções “Sobre nós” ou de preços, use about ou mainEntity para fazer referência à Organization. Nos artigos, faça também o publisher de Article apontar para o @id dessa Organization. Assim, a relação de publicação fica completa.

Exemplo completo e pronto para implementar

Insira o @graph abaixo no <head> da página. Uma única tag script comporta as três entidades: cada uma declara seu @id uma vez e usa @id para fazer referência às demais, sem duplicar Organization. Na prática, Organization e WebSite podem ser extraídos para um modelo compartilhado por todo o site e declarados uma única vez. Já WebPage pode receber dinamicamente url, name e @id de cada página. { "@context": "https://schema.org", "@graph": [ { "@type": "Organization", "@id": "https://example.com/#organization", "name": "Example company", "url": "https://example.com/", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }, "sameAs": [ "https://www.linkedin.com/company/example", "https://x.com/example" ] }, { "@type": "WebSite", "@id": "https://example.com/#website", "url": "https://example.com/", "name": "Example", "publisher": { "@id": "https://example.com/#organization" } }, { "@type": "WebPage", "@id": "https://example.com/pricing#webpage", "url": "https://example.com/pricing", "name": "Pricing plan", "isPartOf": { "@id": "https://example.com/#website" }, "about": { "@id": "https://example.com/#organization" } } ] }

Os quatro erros mais comuns

  • @id inconsistente: a página inicial usa #organization, mas o publisher do artigo recebe uma URL diferente ou sem o fragmento após a cerquilha. A máquina interpreta os valores como duas empresas distintas.
  • Objeto completo no lugar da referência: todo o objeto Organization é reescrito dentro de publisher. Isso cria duas cópias da mesma entidade, cujos atributos podem entrar em conflito.
  • Entidades soltas: WebPage não tem isPartOf e Article não tem publisher. Embora os objetos sejam válidos, permanecem desconectados da entidade principal.
  • URL variável usada como @id: quando uma URL com parâmetros de rastreamento ou de sessão muda, uma nova entidade é criada e todas as associações precisam ser reconstruídas.
Para conquistar a confiança da IA, você não precisa de mais marcações, e sim de referências claras entre as entidades.

Antes de publicar, verifique estes três pontos

Publicar o schema não significa que ele esteja correto. Primeiro, cole o @graph completo no Rich Results Test ou no Schema Markup Validator e confirme que não há erros de sintaxe destacados em vermelho. Depois, faça uma verificação que muita gente ignora: localize cada @id referenciado e compare os valores um a um para confirmar que todos estão realmente definidos no mesmo grafo. Não aponte para identificadores inexistentes. Por fim, carregue a página no navegador, examine o HTML renderizado e confirme que o script foi de fato incluído. Muitos sistemas de SSR ou CMS descartam silenciosamente essa marcação nessa etapa. A conexão entre entidades é uma frente de alto retorno no GEO técnico: não exige muitas horas de trabalho, mas influencia diretamente a disposição da IA de tratar seu site como uma fonte confiável. Se você não souber se Organization, WebSite e WebPage estão realmente conectados ou se a relação de publisher foi interrompida, agende um diagnóstico de GEO de 30 minutos. Vamos capturar o HTML renderizado do seu site e indicar, uma a uma, as conexões ausentes.

Perguntas frequentes

Qual é a diferença entre usar @graph e criar várias tags script separadas?
Quando as entidades são declaradas separadamente e sem referências entre si, a IA não consegue confirmar a qual site a WebPage pertence nem quem é o publisher. @graph reúne as entidades no mesmo arquivo e usa @id para conectá-las. Assim, a máquina lê todo o grafo de relações de uma só vez e evita marcações duplicadas.
Que valor devo usar em @id? Ele precisa ser uma URL que realmente abra?
@id é um identificador, não um link. A convenção é usar uma URL seguida de um fragmento com cerquilha, como https://example.com/#organization. O endereço não precisa abrir no navegador. Desde que a mesma entidade use sempre o mesmo @id em todo o site, a IA consegue reunir sob um único sujeito as informações distribuídas pelas páginas.
Como Organization, WebSite e WebPage devem apontar umas para as outras?
WebSite usa publisher para apontar para o @id de Organization; a WebPage de cada página usa isPartOf para apontar para o @id de WebSite; e as páginas de artigos usam Article.publisher para apontar novamente para Organization. Quando essas três conexões estão completas, a relação de publicação e atribuição fica clara.

PRÓXIMO PASSO

Qual é a visibilidade da sua marca nas respostas de IA?

Em um diagnóstico GEO de 30 minutos, identificamos lacunas de visibilidade e as ações que merecem prioridade.

Agendar diagnóstico