Biblioteca SEO · AEO · GEO

Dados estruturados avançados: Organization, Person, LocalBusiness, Service e Article ligados por @id

Por Cleber BarbosaAtualizado em Leitura de ~12 min

Dados estruturados avançados descrevem cada entidade do site uma única vez e ligam tudo por identificadores: a empresa, a pessoa, os serviços, as páginas e os artigos. Em vez de blocos soltos gerados por plugins, você entrega ao Google um grafo coerente, em JSON-LD, que diz quem é quem e quem faz o quê. O ganho principal não é um efeito visual na busca, e sim eliminar contradições sobre a sua empresa.

Cleber Barbosa, especialista em SEO, AEO e GEO
Cleber BarbosaConsultor de marketing digital desde 2006 · mais de 180 projetos · 77 cases documentados · autor da série Marketing Moderno · base em Ribeirão Preto, atendimento em todo o estado de São Paulo

Do schema básico ao grafo: o que muda

Dados estruturados avançados são marcações em que as entidades do site (empresa, pessoa, serviços, páginas e artigos) são descritas uma vez e ligadas entre si por identificadores, formando um grafo coerente em vez de blocos soltos que se repetem e se contradizem.

O schema básico costuma ser um bloco de Organization colado no rodapé por um plugin e um Article gerado automaticamente em cada post. Cada bloco fala sozinho. A empresa aparece com um nome no rodapé, com outro no Article, e o autor é só um texto sem ligação com ninguém. O schema avançado resolve isso com uma ideia simples: cada entidade ganha um identificador fixo, o @id, e as outras entidades apontam para ele.

As regras gerais continuam valendo. As >diretrizes gerais de dados estruturados do Google recomendam JSON-LD como formato, pedem que a marcação seja uma representação verdadeira do conteúdo da página, proíbem marcar conteúdo que o leitor não vê e avisam que o Google não garante que a marcação apareça nos resultados. Também dizem que problemas de dados estruturados podem gerar ação manual, que remove a elegibilidade para resultados enriquecidos.

Este guia é sobre o código. Por que as ligações entre entidades importam para Google e IAs está em SEO de entidades; como construir a página e a biografia do especialista que o código descreve está em página de autor e página Sobre; e o que as diretrizes de qualidade pedem como prova está em E-E-A-T na prática. Para a base técnica do site, como rastreamento, canonical e velocidade, veja SEO técnico avançado.

@id: o identificador que liga as entidades

O @id não é invenção do Schema.org nem do Google. Ele vem da especificação >JSON-LD 1.1 do W3C, que o define como a palavra-chave usada para identificar de forma única os objetos descritos no documento, com IRIs. A mesma especificação explica que um objeto que contém só o @id pode ser uma referência a um objeto descrito em outro lugar, e que, idealmente, acessar o identificador deveria levar a uma representação daquele objeto.

Essa última parte orienta uma boa convenção: usar como @id a URL da página que melhor descreve a entidade, seguida de um fragmento. A organização, descrita na página inicial, fica com https://www.exemplo.com.br/#organization. A pessoa, descrita na página Sobre, fica com https://www.exemplo.com.br/sobre/#person. Um serviço, com https://www.exemplo.com.br/servicos/auditoria-seo/#service. O fragmento depois do # evita confundir a entidade com a página em si.

Regras práticas para o @id

  • Use URLs absolutas, com o domínio canônico (com ou sem www, mas sempre o mesmo).
  • Defina o identificador uma vez e nunca mude, mesmo que o nome da empresa mude.
  • Reaproveite exatamente o mesmo @id em todas as páginas que citam a entidade.
  • Descreva a entidade por completo em uma página e, nas demais, apenas aponte para ela com {"@id": "..."}.
  • Não crie dois identificadores para a mesma coisa (um plugin com #organization e outro com #org, por exemplo).
  • Não use o @id de uma entidade para outra diferente, como a pessoa e a empresa.

Um ponto de honestidade: o Google não detalha o uso de @id nas páginas de Organization nem de LocalBusiness, e nenhuma empresa de IA documenta se lê esses vínculos. O que se sabe é que o grafo é JSON-LD válido, elimina contradições entre blocos e deixa explícitas relações que, sem ele, a máquina teria de adivinhar.

Exemplo de grafo: empresa, pessoa, site, serviço e artigo

O exemplo abaixo descreve uma consultoria fictícia de Ribeirão Preto com uma especialista fictícia. Em produção, os blocos ficam dentro de um único <script type="application/ld+json"> com uma lista em "@graph". Separei cada nó para comentar.

Organização, descrita na página inicial:

{"@type": "Organization", "@id": "https://www.exemplo.com.br/#organization", "name": "Exemplo Consultoria", "url": "https://www.exemplo.com.br/", "logo": "https://www.exemplo.com.br/logo.png", "description": "Consultoria de SEO para clínicas, com base em Ribeirão Preto (SP).", "address": {"@type": "PostalAddress", "addressLocality": "Ribeirão Preto", "addressRegion": "SP", "addressCountry": "BR"}, "areaServed": {"@type": "State", "name": "São Paulo"}, "founder": {"@id": "https://www.exemplo.com.br/sobre/#person"}, "sameAs": ["https://www.linkedin.com/company/exemplo-consultoria"]}

Pessoa, descrita na página Sobre:

{"@type": "Person", "@id": "https://www.exemplo.com.br/sobre/#person", "name": "Ana Souza", "jobTitle": "Consultora de SEO", "url": "https://www.exemplo.com.br/sobre/", "image": "https://www.exemplo.com.br/ana-souza.jpg", "worksFor": {"@id": "https://www.exemplo.com.br/#organization"}, "sameAs": ["https://www.linkedin.com/in/ana-souza-exemplo"]}

Site, na página inicial:

{"@type": "WebSite", "@id": "https://www.exemplo.com.br/#website", "url": "https://www.exemplo.com.br/", "name": "Exemplo Consultoria", "publisher": {"@id": "https://www.exemplo.com.br/#organization"}}

Serviço, na página do serviço:

{"@type": "Service", "@id": "https://www.exemplo.com.br/servicos/auditoria-seo/#service", "name": "Auditoria de SEO para clínicas", "provider": {"@id": "https://www.exemplo.com.br/#organization"}, "areaServed": {"@type": "State", "name": "São Paulo"}}

Artigo, em cada post:

{"@type": "Article", "@id": "https://www.exemplo.com.br/blog/guia/#article", "headline": "Título do artigo", "author": {"@id": "https://www.exemplo.com.br/sobre/#person"}, "publisher": {"@id": "https://www.exemplo.com.br/#organization"}, "datePublished": "AAAA-MM-DD", "dateModified": "AAAA-MM-DD", "isPartOf": {"@id": "https://www.exemplo.com.br/#website"}}

Repare no que o grafo diz sem ambiguidade: a Ana trabalha na Exemplo Consultoria e é sua fundadora; a empresa publica o site; o serviço é prestado pela empresa; o artigo foi escrito pela Ana e publicado pela empresa. Nos posts, não é preciso repetir a descrição completa da pessoa e da empresa: basta o objeto com o @id. Se você repetir, os dados precisam ser idênticos.

Dois cuidados. Primeiro, tudo o que está no código precisa estar visível na página: se a página Sobre não mostra a foto e o cargo da Ana, eles não deveriam estar no Person. Segundo, o sameAs só aponta para perfis oficiais e atualizados. Para vídeos, a mesma lógica de ligação vale para o VideoObject, tema de vídeo e YouTube para SEO e IA.

Qual tipo usar: Organization, LocalBusiness, ProfessionalService ou subtipo

A escolha do tipo é onde mais vejo confusão. O critério é a natureza do negócio e o que a página mostra, não o tipo que "parece mais forte".

TipoQuando usarCuidado
OrganizationEmpresa sem atendimento presencial ao público, consultorias remotas, marcas com várias unidades (como entidade-mãe)Endereço é opcional; descreva o que for verdadeiro
Subtipo de LocalBusiness (Dentist, AccountingService, LegalService etc.)Negócio com local físico que recebe clientes e cujo setor tem subtipo próprioO Google exige name e address para resultado enriquecido local
LocalBusiness genéricoNegócio com local físico sem subtipo adequadoPrefira sempre o subtipo mais específico que existir
ProfessionalServiceAinda aceito pelo vocabulárioO próprio Schema.org registra que o uso genérico foi descontinuado
ServiceCada serviço que a empresa presta, numa página própriaNão é a empresa: liga-se a ela por provider
PersonFundador, especialista, autorLiga-se à empresa por worksFor ou founder

Sobre ProfessionalService, vale ler a página do >Schema.org para ProfessionalService: ela informa que o tipo genérico para negócios locais foi descontinuado por causa da confusão com Service, e que os antigos subtipos ganharam tipos próprios, como Dentist, AccountingService, Attorney e Electrician, além de LegalService como supertipo mais abrangente para serviços jurídicos. Por isso, em projetos novos, eu prefiro o subtipo específico ou Organization.

A >documentação de LocalBusiness do Google confirma a preferência pelo subtipo mais específico possível, aceita uma lista de tipos quando o negócio se encaixa em mais de um e avisa que additionalType não é suportado. Ela também restringe aggregateRating e review: só são recomendados para sites que reúnem avaliações sobre outros negócios locais. Marcar a própria nota com estrelas no próprio site, portanto, não é o caminho.

FAQPage, Article e o que mudou na Busca

Quem trabalha com schema precisa acompanhar o histórico de mudanças do Google, porque recursos aparecem e desaparecem. A página de >atualizações da documentação do Google Search registra, por exemplo, que em setembro de 2025 foi removida a documentação de vários tipos que deixaram de aparecer nos resultados, como informações de curso, salário estimado, vídeo educativo, anúncio especial e anúncio de veículos. E registra a mudança que mais afetou sites de serviço: em maio de 2026 o Google anunciou o fim do resultado enriquecido de FAQ, que deixou de aparecer na Busca a partir de 7 de maio de 2026, e em junho removeu a documentação do recurso.

Ainda vale marcar FAQPage?

FAQPage continua sendo vocabulário válido do Schema.org, e uma lista de perguntas e respostas visível na página segue útil para o leitor e para qualquer sistema que leia o texto. O que acabou foi o resultado enriquecido no Google. Minha posição é prática: se a página tem perguntas frequentes reais e visíveis, manter a marcação igual ao texto tem custo baixo e descreve o conteúdo com precisão. Se a FAQ só existia para ganhar o destaque na busca, não há motivo para criá-la agora. O que não é aceitável é marcar perguntas que não aparecem na página. Não existe documentação pública dizendo que assistentes de IA dão peso especial ao FAQPage; trate isso como incerto.

Article e datas

No Article, os pontos de atenção são autoria e datas. As boas práticas de autor estão detalhadas em página de autor e página Sobre. Sobre datas, dateModified deve mudar quando o conteúdo muda de verdade, não a cada vez que o site é publicado. Atualizar a data sem revisar o texto é o tipo de marcação que não representa a página.

Erros comuns que encontro

Na prática, quase todo site que reviso tem pelo menos um destes problemas. A maioria nasce de plugins e temas que geram marcação automática sem ninguém olhar o resultado.

  • Duas organizações diferentes no mesmo site. O tema gera uma, o plugin de SEO gera outra, com nomes ou logos distintos. Escolha uma fonte de marcação e desligue a outra.
  • Identificadores diferentes para a mesma entidade. A empresa é #organization na página inicial e #company nos posts. O grafo se parte em dois.
  • Autor como texto solto. O Article tem "author": "Equipe" em vez de apontar para um Person real.
  • Marcação de coisas invisíveis. Endereço, telefone, perguntas ou avaliações que estão no código e não na página.
  • Estrelas da própria empresa. aggregateRating com a nota do próprio negócio, contra a orientação do Google.
  • LocalBusiness sem local. Consultoria remota marcada com endereço de coworking onde ninguém atende.
  • sameAs para perfis errados. Perfis abandonados, de outra pessoa ou de diretórios irrelevantes.
  • Mesmo bloco em todas as páginas. O Service da página inicial repetido em todos os posts, dizendo que cada post é um serviço.
  • dateModified automático. Data atualizada a cada publicação do site, sem mudança no conteúdo.
  • Unidades misturadas. Telefone e horário de uma unidade aparecendo na página da outra.

O último erro é tão comum em empresas com mais de um endereço que há um guia próprio sobre ele: duas unidades com informação misturada. E quando o problema é maior do que o schema, uma auditoria de SEO completa costuma ser o primeiro passo.

Como eu aplico isso

Quando eu reviso um site, começo pela marcação que já existe, não pela que eu gostaria de colocar. Abro o código-fonte de quatro páginas (inicial, Sobre, um serviço e um artigo) e listo todas as entidades declaradas, quem as gera e se os dados batem entre si. Quase sempre aparecem duplicações.

Depois, sigo esta sequência:

  1. Mapa de entidades. Desenho no papel quais entidades existem (organização, pessoas, unidades, serviços, site) e como se relacionam.
  2. Definição dos identificadores. Fixo um @id para cada entidade, com a URL da página que a descreve.
  3. Uma fonte de marcação. Escolho onde o schema será gerado e desligo o resto.
  4. Descrição completa em um lugar. Organização na página inicial, pessoa na Sobre, cada serviço na sua página.
  5. Referências no resto. Nas demais páginas, só os objetos com @id.
  6. Conferência com o texto visível. Tudo o que está no código precisa estar na página.
  7. Validação. Uso o Rich Results Test do Google para checar elegibilidade e o Schema Markup Validator para checar o vocabulário.
  8. Monitoramento. Acompanho os relatórios de dados estruturados no Search Console após a publicação.

No meu próprio site eu uso exatamente isso: Person e Organization ligados por @id, perguntas frequentes visíveis iguais à marcação e um arquivo llms.txt como complemento, sem tratá-lo como substituto do schema. Um case que mostra por que as relações importam tanto quanto as informações é a informação estava no site, mas as relações não estavam claras. Para uma visão de como schema, autoridade e conteúdo trabalham juntos, veja schema, autoridade e conteúdo para respostas inteligentes.

Empresas com unidades no estado de São Paulo

Empresas paulistas com mais de um endereço são o caso em que o grafo mais ajuda. Pense numa rede de clínicas odontológicas com unidades em Campinas, Jundiaí e na capital, ou num escritório de contabilidade com sede em Santos e filial em São Vicente. Cada unidade tem endereço, telefone e horário próprios, mas todas pertencem à mesma marca.

A estrutura que uso é esta: a marca é uma Organization com @id na página inicial; cada unidade é um subtipo de LocalBusiness (Dentist, AccountingService) com @id na sua própria página de unidade, por exemplo https://www.exemplo.com.br/unidades/campinas/#local, e se liga à marca pela propriedade parentOrganization, que o Schema.org define como a organização maior da qual esta faz parte. Cada página de unidade traz só os dados daquela unidade, em texto visível e no código. Para departamentos com dados distintos dentro de um mesmo endereço, a documentação do Google para LocalBusiness prevê o uso de department.

Negócios que atendem várias cidades sem ter endereço em todas, como uma empresa de manutenção de Ribeirão Preto que atende Sertãozinho e Jardinópolis, não devem inventar unidades. O correto é declarar a área atendida em texto e no areaServed da organização ou do serviço. Como fazer isso sem criar páginas-porta está em SEO local para várias unidades e cidades.

Na capital, onde muitas empresas têm nomes parecidos, a marcação limpa ajuda a separar a sua unidade da Vila Mariana da empresa homônima do Tatuapé. No interior e no litoral, ajuda a deixar clara a cidade-base. A forma como trabalho esses projetos no estado está em especialista em SEO, AEO e GEO em São Paulo, e os outros guias técnicos estão na biblioteca de SEO, AEO e GEO.

Perguntas frequentes

O que é @id no schema e para que serve?

O @id é um identificador único, definido pela especificação JSON-LD do W3C, que permite descrever uma entidade uma vez e referenciá-la em outros pontos. No schema de um site, ele liga a empresa, a pessoa, os serviços e os artigos. Uma convenção comum é usar a URL da página que descreve a entidade seguida de um fragmento, como /sobre/#person. Assim, todas as páginas apontam para a mesma entidade, sem contradições.

Devo usar Organization ou LocalBusiness?

Use um subtipo de LocalBusiness quando o negócio tem local físico que recebe clientes, escolhendo o tipo mais específico, como Dentist ou AccountingService. Use Organization para empresas sem atendimento presencial, consultorias remotas ou como entidade-mãe de uma rede com várias unidades. O Google exige nome e endereço para o resultado enriquecido local. Não marque endereço de um lugar onde ninguém atende só para usar LocalBusiness.

Ainda vale usar FAQPage depois que o Google tirou o resultado de FAQ?

Segundo a página de atualizações do Google, o resultado enriquecido de FAQ deixou de aparecer na Busca em maio de 2026. A marcação FAQPage continua válida no Schema.org. Se a página tem perguntas reais e visíveis, manter a marcação igual ao texto tem custo baixo e descreve o conteúdo. Se a FAQ existia só para ganhar destaque, não há motivo para criá-la. Nunca marque perguntas que não aparecem na página.

ProfessionalService ainda pode ser usado?

O tipo continua no vocabulário do Schema.org, mas a própria página dele informa que o uso genérico para negócios locais foi descontinuado por confusão com o tipo Service. Os antigos subtipos ganharam tipos próprios, como Dentist, AccountingService e LegalService. Em projetos novos, prefira o subtipo específico do seu setor ou Organization, e use Service para descrever cada serviço, ligado à empresa pela propriedade provider.

Schema ajuda a aparecer no ChatGPT e em outras IAs?

Não há documentação pública das empresas de IA dizendo que dão peso ao schema de um site. O Google, na página sobre recursos de IA, cita manter os dados estruturados iguais ao texto visível como boa prática. O que se observa é que marcação limpa elimina contradições sobre nome, endereço e relações entre entidades. Trate o schema como forma de descrever o site com precisão, não como atalho para citação.

Como validar dados estruturados avançados?

Use o Rich Results Test do Google para ver se a página é elegível a resultados enriquecidos e o Schema Markup Validator para checar se o vocabulário está correto. Depois, confira manualmente se os @id se repetem iguais em todas as páginas, se não há duas organizações declaradas e se tudo o que está no código aparece no texto. Acompanhe os relatórios de dados estruturados no Search Console.

Quer aplicar isso na sua empresa?

Se o seu site tem schema gerado por vários plugins, autores sem ligação com ninguém ou unidades com dados misturados, vale revisar o grafo inteiro antes de acrescentar mais marcação. Na primeira conversa, de 30 minutos por vídeo, eu olho o código de algumas páginas-chave, aponto as contradições e mostro a estrutura que eu montaria para a sua empresa. É só agendar uma conversa pela página de análise e consultoria.

Como posso ajudar a sua empresa