Resumo rápido. JSON-LD é o formato que o Google e os motores de IA preferem para entender que tipo de entidade é o seu site. Para clínica médica, quatro schemas resolvem 80% do trabalho: MedicalClinic, Physician, FAQPage e BreadcrumbList. Os outros oito abaixo cobrem casos específicos. Tudo pronto para copiar.
Como usar essa biblioteca
Cada bloco abaixo é um exemplo completo. Para usar:
- Copie o bloco.
- Substitua os campos com placeholder (
SUA_CLÍNICA,+5548991074090, etc.). - Cole dentro de
<script type="application/ld+json">...</script>no<head>da página. - Valide em search.google.com/test/rich-results.
Cada schema testado no Rich Results Test em maio de 2026.
01, MedicalClinic (a entidade clínica)
Schema base. Vai na home e na página "sobre". Sem isso, o motor classifica o site como "negócio local genérico".
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"@id": "https://suaclinica.com.br/#clinic",
"name": "Clínica Exemplo Ortopédica",
"url": "https://suaclinica.com.br",
"logo": "https://suaclinica.com.br/logo.png",
"image": "https://suaclinica.com.br/foto-clinica.jpg",
"telephone": "+5548991074090",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "Av. Exemplo, 123",
"addressLocality": "Florianópolis",
"addressRegion": "SC",
"postalCode": "88063-000",
"addressCountry": "BR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -27.6749,
"longitude": -48.4869
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "19:00"
}
],
"medicalSpecialty": ["Orthopedic", "PhysicalTherapy"],
"sameAs": [
"https://www.instagram.com/suaclinica",
"https://www.google.com/maps/place/?q=place_id:CLINICA_ID"
]
}
02, Physician (o profissional responsável)
Vai aninhado dentro de MedicalClinic.employee ou em página própria do profissional. CRM/CRO/CREFITO em identifier.
{
"@context": "https://schema.org",
"@type": "Physician",
"name": "Dr. João Exemplo",
"url": "https://suaclinica.com.br/equipe/joao-exemplo",
"image": "https://suaclinica.com.br/equipe/joao.jpg",
"jobTitle": "Médico Ortopedista",
"memberOf": { "@id": "https://suaclinica.com.br/#clinic" },
"medicalSpecialty": "Orthopedic",
"alumniOf": "Universidade Federal de Santa Catarina",
"identifier": [
{
"@type": "PropertyValue",
"propertyID": "CRM-SC",
"value": "12345"
},
{
"@type": "PropertyValue",
"propertyID": "RQE",
"value": "67890"
}
]
}
03, FAQPage (o bloco de perguntas e respostas)
O schema mais citado por motor de IA. Cada Question vira um candidato independente para citação.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Quanto tempo dura uma sessão de fisioterapia?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A sessão dura 50 minutos. As primeiras incluem avaliação postural completa e podem se estender para 60 minutos."
}
},
{
"@type": "Question",
"name": "Atende convênio?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Atendemos Unimed, Bradesco Saúde e SulAmérica. Particular com reembolso é aceito por todos os outros planos via nota fiscal."
}
}
]
}
04, BreadcrumbList (a navegação hierárquica)
Pequeno mas valioso. Aparece nos resultados do Google como caminho de navegação.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Início",
"item": "https://suaclinica.com.br"
},
{
"@type": "ListItem",
"position": 2,
"name": "Especialidades",
"item": "https://suaclinica.com.br/especialidades"
},
{
"@type": "ListItem",
"position": 3,
"name": "Fisioterapia Ortopédica",
"item": "https://suaclinica.com.br/especialidades/fisioterapia-ortopedica"
}
]
}
05, MedicalProcedure (procedimento ou tratamento específico)
Para página dedicada a um procedimento. Útil para clínicas que ranqueiam por nome do procedimento.
{
"@context": "https://schema.org",
"@type": "MedicalProcedure",
"name": "Reabilitação de Joelho Pós-Cirúrgica",
"procedureType": "https://schema.org/TherapeuticProcedure",
"bodyLocation": "Joelho",
"preparation": "Trazer exames de imagem recentes e relatório do cirurgião.",
"followup": "Acompanhamento semanal por oito a doze semanas, com avaliação a cada quatro semanas.",
"howPerformed": "Protocolo de reabilitação supervisionado, com fisioterapia manual, exercícios proprioceptivos e fortalecimento progressivo."
}
06, Review (avaliação individual)
Avaliação pontual. NÃO use AggregateRating só com nota inventada, Google penaliza schema fabricado.
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": { "@id": "https://suaclinica.com.br/#clinic" },
"author": { "@type": "Person", "name": "Maria Silva" },
"datePublished": "2025-11-12",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"reviewBody": "Resolveu em três sessões a dor crônica que ninguém conseguiu. Equipe atenciosa e clínica organizada."
}
07, AggregateRating (média de avaliações reais)
Use apenas com nota real, baseada em avaliações públicas verificáveis (Google Business, Doctoralia).
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"@id": "https://suaclinica.com.br/#clinic",
"name": "Clínica Exemplo",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"reviewCount": "71",
"bestRating": "5",
"worstRating": "1"
}
}
08, Service (serviço oferecido com preço a partir de)
Para página de serviço com pricing transparente.
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Fisioterapia Ortopédica",
"provider": { "@id": "https://suaclinica.com.br/#clinic" },
"areaServed": {
"@type": "Place",
"name": "Florianópolis e Grande Florianópolis"
},
"offers": {
"@type": "Offer",
"priceCurrency": "BRL",
"price": "180",
"availability": "https://schema.org/InStock",
"url": "https://suaclinica.com.br/agendamento"
}
}
09, Article (publicação no blog da clínica)
Para post educativo ou case clínico.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Recuperação de menisco em corredores: protocolo de 6 semanas",
"image": "https://suaclinica.com.br/blog/menisco.jpg",
"datePublished": "2026-04-22T10:00:00-03:00",
"dateModified": "2026-04-22T10:00:00-03:00",
"author": {
"@type": "Person",
"name": "Dr. João Exemplo",
"url": "https://suaclinica.com.br/equipe/joao-exemplo"
},
"publisher": { "@id": "https://suaclinica.com.br/#clinic" },
"mainEntityOfPage": "https://suaclinica.com.br/blog/recuperacao-menisco-corredores"
}
10, Person (autor com credenciais)
Para página "sobre o autor" no blog. Reforça E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness).
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Dr. João Exemplo",
"url": "https://suaclinica.com.br/equipe/joao-exemplo",
"image": "https://suaclinica.com.br/equipe/joao.jpg",
"jobTitle": "Médico Ortopedista",
"worksFor": { "@id": "https://suaclinica.com.br/#clinic" },
"knowsAbout": ["Ortopedia", "Medicina Esportiva", "Reabilitação de Joelho"],
"sameAs": [
"https://www.linkedin.com/in/joaoexemplo",
"https://www.doctoralia.com.br/joao-exemplo"
]
}
11, VideoObject (vídeo institucional ou educativo)
Para vídeo do YouTube ou auto-hospedado embutido no site.
{
"@context": "https://schema.org",
"@type": "VideoObject",
"name": "Como funciona a primeira sessão de fisioterapia",
"description": "Tour pela clínica e explicação do protocolo de avaliação inicial em três minutos.",
"thumbnailUrl": "https://suaclinica.com.br/video/thumb.jpg",
"uploadDate": "2026-03-15",
"duration": "PT3M12S",
"contentUrl": "https://suaclinica.com.br/video/primeira-sessao.mp4",
"embedUrl": "https://www.youtube.com/embed/EXEMPLO"
}
12, Event (palestra, workshop, ou turma)
Para evento aberto ao público (curso, palestra, workshop in loco).
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Workshop de Reabilitação de Lesões em Corredores",
"startDate": "2026-06-15T19:00:00-03:00",
"endDate": "2026-06-15T21:00:00-03:00",
"eventAttendanceMode": "https://schema.org/MixedEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": [
{
"@type": "Place",
"name": "Clínica Exemplo Ortopédica",
"address": {
"@type": "PostalAddress",
"streetAddress": "Av. Exemplo, 123",
"addressLocality": "Florianópolis",
"addressRegion": "SC",
"postalCode": "88063-000",
"addressCountry": "BR"
}
}
],
"organizer": { "@id": "https://suaclinica.com.br/#clinic" },
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "BRL",
"availability": "https://schema.org/InStock"
}
}
Como combinar tudo numa página
Numa página de serviço de uma clínica em Florianópolis, o stack ideal é:
- MedicalClinic (na home, referenciada em todas as páginas via
@id) - Physician (na página "sobre" e/ou aninhado em MedicalClinic)
- Service (na página específica do serviço)
- FAQPage (com 5–7 perguntas reais por página)
- BreadcrumbList (em toda página interna)
- AggregateRating (na home, apenas se baseada em avaliações reais)
Tudo isso é cerca de 200–400 linhas de JSON-LD, gerado no build. Em Next.js, o padrão é montar via helper TypeScript e injetar com componente Script. Em WordPress, plugin como Rank Math ou Yoast cobre o básico, mas para MedicalClinic + Physician completos costuma ser melhor injetar manualmente via wp_head.
Para o setup completo de schema na prática, veja dados estruturados em dois dias.



