BlogAEOSchemaJSON-LD
Código JSON-LD pra clínica e consultório: o que a IA lê no seu site (com modelo pronto)
Equipe Phame12 min
Resumo
Código JSON-LD é uma ficha invisível dentro do seu site que diz pras máquinas quem você é, onde fica, que horas abre e quem responde. O Google recomenda esse formato pra dados estruturados e usa a ficha pra montar resultados aprimorados na busca. Pra ChatGPT, Gemini e Perplexity, ela ajuda a não confundir a sua clínica com outra de nome parecido, mas não garante citação. Abaixo você encontra três modelos prontos (Dentist, LegalService e LocalBusiness), o que cada campo significa, como conferir em 2 minutos se o seu site já tem e onde colar.
O que é código JSON-LD e por que a IA se importa?
Pense numa ficha de cadastro que só as máquinas leem.
O código JSON-LD (JavaScript Object Notation for Linked Data) é um bloco de texto que fica dentro do HTML do seu site, invisível pra quem visita. Ele usa o vocabulário do schema.org, uma lista pública de tipos e campos que descreve negócios, pessoas, produtos e serviços. O Google chama isso de dados estruturados: "um formato padronizado para fornecer informações sobre uma página e classificar o conteúdo dela".
Entre os formatos aceitos, o próprio Google recomenda o JSON-LD por ser o mais fácil de implementar e manter. Você não mexe no texto visível da página. Só adiciona um bloco no cabeçalho.
Pra IA, o valor é outro. Quando o ChatGPT ou a Perplexity leem a página da sua clínica, os dados estão espalhados: telefone no rodapé, endereço numa imagem, horário num botão. A ficha entrega tudo junto, com nome de campo. Menos chance de confundir a sua clínica com uma homônima em outra cidade.
Qual tipo usar: Dentist, LegalService ou LocalBusiness?
O schema.org organiza os tipos em árvore. LocalBusiness é o tronco: serve pra qualquer negócio com endereço físico. Dentist e LegalService são galhos mais específicos, e herdam todos os campos do tronco.
Dentisté pra consultório ou clínica odontológica. O schema.org classifica o tipo ao mesmo tempo como LocalBusiness e como MedicalOrganization. Outras clínicas de saúde podem usarMedicalClinicouPhysician.LegalServiceé pra escritório de advocacia. O schema.org descreve como "negócio que oferece serviços, orientação e representação jurídica".Attorneyexiste como subtipo, pra quem atende sozinho.LocalBusinesscobre qualquer outro caso: clínica de estética, escritório de arquitetura, integradora de energia solar. Se existir um subtipo mais específico no schema.org, prefira ele.
A regra prática: use o tipo mais específico que descreve o seu negócio sem forçar. Não invente tipo. O validador rejeita.
Qual é o modelo pronto pra clínica ou consultório?
Copie o bloco abaixo e troque cada texto de exemplo pelo dado real. Mantenha as aspas, as chaves e as vírgulas exatamente onde estão.
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Nome da clínica",
"description": "Clínica odontológica no bairro Exemplo, com atendimento em implantes, ortodontia e clínica geral.",
"url": "https://www.nomedaclinica.com.br",
"telephone": "+55 11 0000-0000",
"image": "https://www.nomedaclinica.com.br/fachada.jpg",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua Exemplo, 100, sala 12",
"addressLocality": "Cidade",
"addressRegion": "UF",
"postalCode": "00000-000",
"addressCountry": "BR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -23.55052,
"longitude": -46.63331
},
"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"
}
],
"sameAs": [
"https://maps.app.goo.gl/link-do-perfil-no-google",
"https://www.instagram.com/nomedaclinica"
],
"employee": {
"@type": "Person",
"name": "Nome da responsável técnica",
"jobTitle": "Cirurgiã-dentista, responsável técnica",
"url": "https://www.nomedaclinica.com.br/equipe/nome"
}
}
Se a clínica não é odontológica, troque "Dentist" por "MedicalClinic" e ajuste a descrição e o cargo. O resto fica igual.
Na latitude e longitude, use pelo menos cinco casas decimais. É exigência do Google pra empresa local. Pra pegar as coordenadas, abra o endereço no Google Maps, clique com o botão direito no ponto e copie os dois números.
Qual é o modelo pronto pra escritório de advocacia?
Mesma estrutura, tipo diferente. O campo areaServed ajuda porque escritório costuma atender fora da cidade onde fica.
{
"@context": "https://schema.org",
"@type": "LegalService",
"name": "Nome do escritório",
"description": "Escritório de advocacia em Cidade, com atuação em direito de família, trabalhista e previdenciário.",
"url": "https://www.nomedoescritorio.com.br",
"telephone": "+55 11 0000-0000",
"image": "https://www.nomedoescritorio.com.br/fachada.jpg",
"priceRange": "$$$",
"areaServed": ["Cidade", "Região metropolitana de Cidade"],
"address": {
"@type": "PostalAddress",
"streetAddress": "Avenida Exemplo, 200, conjunto 34",
"addressLocality": "Cidade",
"addressRegion": "UF",
"postalCode": "00000-000",
"addressCountry": "BR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -23.55052,
"longitude": -46.63331
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
"sameAs": [
"https://maps.app.goo.gl/link-do-perfil-no-google",
"https://www.instagram.com/nomedoescritorio",
"https://www.linkedin.com/company/nomedoescritorio"
],
"employee": {
"@type": "Person",
"name": "Nome do sócio responsável",
"jobTitle": "Advogado, sócio responsável",
"url": "https://www.nomedoescritorio.com.br/equipe/nome"
}
}
Número da OAB não tem campo próprio no schema.org. Deixe no texto visível da página do profissional. A ficha aponta pra essa página pelo campo url da pessoa.
Qual é o modelo genérico pra qualquer negócio local?
Este serve pra clínica de estética, escritório de arquitetura, integradora de energia solar, pet shop, qualquer negócio com porta na rua. Troque "LocalBusiness" por um subtipo do schema.org quando existir um que encaixe.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Nome do negócio",
"description": "Descreva em uma frase o que o negócio faz e pra quem, na cidade onde atende.",
"url": "https://www.nomedonegocio.com.br",
"telephone": "+55 11 0000-0000",
"email": "contato@nomedonegocio.com.br",
"image": "https://www.nomedonegocio.com.br/fachada.jpg",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "Rua Exemplo, 100",
"addressLocality": "Cidade",
"addressRegion": "UF",
"postalCode": "00000-000",
"addressCountry": "BR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -23.55052,
"longitude": -46.63331
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "18:00"
},
"sameAs": [
"https://maps.app.goo.gl/link-do-perfil-no-google",
"https://www.instagram.com/nomedonegocio"
],
"founder": {
"@type": "Person",
"name": "Nome de quem responde pelo negócio",
"jobTitle": "Fundadora e responsável pelo atendimento"
}
}
Nos três modelos, o bloco inteiro vai dentro de uma tag <script>. É assim que ele entra no site:
<script type="application/ld+json">
{ ...cole o bloco JSON aqui... }
</script>
O que cada campo diz pra IA?
A tabela abaixo traduz cada campo pra linguagem de dono. A coluna da direita mostra onde a informação costuma aparecer.
| Campo | O que ele diz | Onde é usado |
|---|---|---|
@type | "Eu sou uma clínica odontológica" (ou escritório, ou negócio local) | Google classifica a página; a IA entende a categoria |
name | O nome oficial, igual ao do perfil no Google | Casar o site com o perfil no Google e com citações em outros sites |
address | Rua, bairro, cidade, UF, CEP | Google Maps, busca por cidade e bairro, resposta de IA com localização |
telephone | O telefone principal, com DDI e DDD | Resultado aprimorado do Google; resposta da IA quando alguém pede contato |
openingHoursSpecification | Dias e horários de atendimento | Painel de horário no Google; pergunta "está aberto agora?" |
geo | Latitude e longitude do endereço | Busca por proximidade ("perto de mim") |
url | Endereço do site | Link que o Google e a IA mostram como fonte |
sameAs | "Este perfil no Google e este Instagram são meus" | Ligar a entidade do site às contas oficiais; evita confusão com homônimos |
employee ou founder | Quem responde tecnicamente pelo negócio e o cargo | Perguntas do tipo "quem é o dentista da clínica X"; sinal de autoria pra IA |
description | Uma frase sobre o que você faz e pra quem | Resumo que a IA pode reaproveitar ao descrever o negócio |
Dois campos merecem atenção extra.
O sameAs é o que amarra tudo. Ele diz pra máquina que o site, o perfil no Google e o Instagram são a mesma entidade. Sem ele, a IA pode tratar cada um como um negócio diferente.
O employee (ou founder) responde a uma pergunta que a IA recebe muito: quem atende ali. Nome e cargo explícitos ajudam a associar o profissional à clínica nas respostas.
O que acontece quando a ficha e o perfil no Google não batem?
A máquina recebe duas versões do mesmo negócio e escolhe uma. Você não controla qual.
O caso mais comum: a clínica mudou de endereço, atualizou o perfil no Google, mas o site continua com o endereço antigo no rodapé e no código. Pra quem lê os dois, existem duas clínicas com o mesmo nome. Uma resposta de IA pode mandar o paciente pro lugar errado ou, na dúvida, não citar nenhuma.
Outro caso: o nome. "Clínica Exemplo Odontologia" no perfil, "Exemplo Odonto" no site e "Dra. Fulana | Exemplo" no Instagram. Três nomes, uma entidade fragmentada. O campo name do JSON-LD precisa ser idêntico ao do perfil no Google, e o sameAs precisa apontar pro perfil e pro Instagram.
A regra que a Phame aplica nos clientes: um nome, um endereço, um telefone, iguais em todos os lugares. A ficha no site é onde essa consistência fica registrada de forma que a máquina consegue ler sem interpretar.
Como conferir se o seu site já tem schema em 2 minutos?
Três caminhos, do mais simples ao mais completo.
1. Teste de pesquisa aprimorada do Google. Abra search.google.com/test/rich-results, cole a URL da sua página inicial e rode. Ele lista os tipos que o Google detectou e que são elegíveis pra resultado aprimorado. Se aparecer "nenhum item detectado", ou o site não tem schema ou tem um tipo que o Google ignora.
2. Validador do schema.org. Abra validator.schema.org e cole a mesma URL. Ele mostra tudo o que existe no código, inclusive tipos que o Google não usa. Aqui você vê se o @type está certo e se os campos foram preenchidos.
3. Código-fonte da página. No computador, abra o seu site e aperte Ctrl+U (no Mac, Cmd+Option+U). Aperte Ctrl+F e procure por application/ld+json. Se achar, o bloco que vem logo depois é a sua ficha. Leia o @type e o name.
Um resultado comum em site feito com plugin de SEO: existe um bloco, mas o tipo é só WebPage ou Organization sem endereço. A ficha existe, mas não diz onde você fica nem que horas abre. Nesse caso, vale substituir pelo modelo completo.
Onde colar o código no seu site?
Depende de quem construiu o site.
WordPress. Plugins de SEO como Yoast e Rank Math têm campos de dados da empresa que geram parte da ficha. Pra colar o bloco inteiro do jeito que está, use um plugin de código no cabeçalho (WPCode e similares) e insira a tag <script> na seção de cabeçalho. Se o site usa Elementor, o tema costuma ter a opção de código personalizado no cabeçalho.
Wix, Squarespace e construtores parecidos. Todos têm um campo de código personalizado do cabeçalho nas configurações avançadas do site. Cole a tag <script> inteira lá. Marque pra valer em todas as páginas.
Site feito por agência ou por um desenvolvedor. Mande o bloco pronto por e-mail e peça: "inclua este script no <head> de todas as páginas". É trabalho de minutos pra quem tem acesso ao código.
Depois de colar, volte no Teste de pesquisa aprimorada e confira. A ficha só vale se o validador ler sem erro.
O que o schema faz e o que não faz?
Aqui vale ser direto, porque tem muita promessa em cima desse assunto.
O que faz no Google. O Google usa dados estruturados pra montar resultados aprimorados: horário, telefone, avaliações quando marcadas corretamente. Mas o próprio Google avisa: "não garante que seus dados estruturados serão exibidos nos resultados da pesquisa, mesmo que a página esteja marcada corretamente". Pra empresa local, name e address são obrigatórios e o resto é recomendado.
O que faz na IA. Menos do que vendem. O Google diz, na página sobre recursos de IA, que "não é obrigatório adicionar dados estruturados especiais do schema.org". Vale pras Visões gerais de IA e pro Modo IA. Do lado da Microsoft, o Search Engine Roundtable relatou que Fabrice Canel, do Bing, afirmou no SMX Munique de 2025 que o schema ajuda os modelos da empresa a entender o conteúdo. O ChatGPT usa o índice do Bing pra buscar.
Na prática: a ficha ajuda a máquina a entender quem você é e a não te confundir com outro negócio. Ela não faz a IA citar a sua clínica. O estudo GEO, da Universidade de Princeton, mostra que o que move citação é o conteúdo: estatísticas, fontes e respostas diretas aumentam a visibilidade em até 41%.
O que não faz. Não substitui o perfil no Google. Não corrige um site sem conteúdo. Não vale pra dado que não está visível na página: a diretriz do Google diz que "os dados estruturados precisam ser uma representação verdadeira do conteúdo da página".
A ordem que a Phame segue com os clientes: primeiro o perfil no Google completo e o site indexado no Google e no Bing. Depois, páginas que respondem as perguntas que o cliente faz pra IA. Por último, a ficha JSON-LD confirmando tudo isso. A ficha é o último passo, não o primeiro. Custa 20 minutos e evita uma confusão de identidade que pode custar caro.
Perguntas frequentes
Preciso saber programar pra colocar o JSON-LD no site?
Não. Você copia o modelo, troca os textos de exemplo pelos seus dados e cola no campo de cabeçalho do site ou num plugin. Se o site foi feito por agência, mande o bloco pronto e peça pra incluir no cabeçalho das páginas.
Posso colocar o mesmo código em todas as páginas do site?
Pode, e é o mais comum em site pequeno. A ficha do negócio vale pro site inteiro. Se você tiver duas unidades, faça uma ficha por unidade, cada uma na página da própria unidade.
O Rich Results Test deu "nenhum item detectado". O que significa?
Significa que o Google não achou nenhum tipo elegível pra resultado aprimorado naquela página. Ou o site não tem schema, ou tem um tipo que o Google não usa. Confira no validator.schema.org pra ver se existe algum código, mesmo que não seja elegível.
O código JSON-LD substitui o perfil no Google?
Não. O perfil no Google é a fonte que o Maps, o Modo IA e o ChatGPT consultam pra negócio local. O JSON-LD complementa: ele confirma no seu site os mesmos dados do perfil. Os dois precisam bater, com o mesmo nome, endereço e telefone.
Preciso atualizar o código quando mudo o horário ou o telefone?
Sim. A ficha precisa refletir o que está visível na página, segundo a diretriz do Google. Horário desatualizado no código e atualizado no rodapé é inconsistência, e a máquina não sabe em qual acreditar.
Vale colocar avaliações e nota no JSON-LD?
Só se as avaliações estiverem visíveis na própria página e forem reais. O Google não aceita marcar conteúdo que o visitante não vê. Nota copiada do perfil no Google pra dentro do código do site é uma prática que o Google trata como violação.
Atualizado em 22 de setembro de 2026