SEO Local & Medicina

Schema markup para clínicas e médicos: como implementar medicalbusiness e physician com json-ld no wordpress

SEO Local & Medicina
Schema markup para clínicas
Cayo Galotti Especialista Google

Mecanismos de busca como o Google e ferramentas de inteligência artificial como o Perplexity e o ChatGPT Search não leem sites médicos como pacientes humanos. Enquanto um visitante reconhece rapidamente quem é o cirurgião titular e onde fica o consultório, os algoritmos dependem de marcação semântica explícita para diferenciar o espaço físico da clínica dos profissionais que atendem no local. Quando essa estrutura inexiste, o Google confunde especialidades, mistura avaliações e dilui a autoridade do negócio local nas pesquisas regionais.

Implementar schema markup para clínicas médicas com JSON-LD no WordPress resolve essa deficiência na raiz da arquitetura web. A configuração técnica correta estabelece relações claras entre a organização de saúde e o médico especialista, respeitando os critérios éticos da medicina e consolidando a presença orgânica nas buscas locais do Google e do Google Maps.

O que é schema markup para clínicas e como os motores de busca leem dados médicos

Schema markup para clínicas é um vocabulário semântico padronizado pela iniciativa Schema.org e inserido no código do site em formato JSON-LD. Ele comunica ao Google e aos assistentes de IA o tipo exato de estabelecimento de saúde, especialidades atendidas, médicos registrados, horários e endereço físico, eliminando ambiguidades e alimentando diretamente o Knowledge Graph local.

Nos serviços de saúde, enquadrados pelo Google na categoria YMYL (Your Money or Your Life), a precisão das informações recebe avaliação rigorosa. Rastreadores automáticos precisam validar a legitimidade da clínica por meio de fontes confiáveis e relacionamentos semânticos explícitos. Técnicas de entity SEO e relevância tópica demonstram que entidades estruturadas com atributos inequívocos obtêm maior estabilidade nos rankings do que páginas sustentadas apenas por palavras-chave dispersas.

O formato oficial preconizado pelo Google Search Central é o JSON-LD (JavaScript Object Notation for Linked Data). Diferente de microdados legados que poluem o código visual do HTML, o JSON-LD funciona em um bloco script independente inserido no cabeçalho da página. Isso facilita a leitura pelos robôs de busca, simplifica a manutenção do tema e impede que alterações estéticas quebrem a interpretação dos dados semânticos.

A alimentação organizada do Google Knowledge Graph permite que o buscador vincule a clínica aos seus médicos, exiba painéis de conhecimento consolidados e classifique o estabelecimento para termos de alta intenção, como consultas médicas particulares em bairros específicos.

Medicalbusiness e physician na hierarquia de entidades médicas

MedicalBusiness representa a pessoa jurídica ou instituição de saúde prestadora de serviços médicos, enquanto Physician representa a pessoa física do médico com registro profissional ativo. Misturar essas duas entidades em um único bloco de código gera inconsistências graves no grafo de conhecimento do Google, enfraquecendo tanto o ranqueamento da clínica quanto a autoridade individual do especialista.

A distinção clara entre estabelecimento e profissional é a base de um grafo bem montado. Um erro comum no WordPress é rotular uma clínica de cardiologia simplesmente como LocalBusiness genérico ou classificar o site inteiro sob o tipo Physician. Cada entidade possui propriedades exclusivas e deve ocupar seu lugar exato na taxonomia do Schema.org.

Quando usar medicalclinic ou subespecialidades específicas

O Schema.org fornece subtipos derivados de MedicalBusiness. Para consultórios e centros clínicos, o tipo recomendado é MedicalClinic. Se a instituição tiver atuação focada, é possível detalhar ainda mais o enquadramento:

  • Para clínicas odontológicas, adota-se Dentist.
  • Para centros de diagnóstico, utiliza-se MedicalClinic associado a exames laboratoriais.
  • Para policlínicas ou clínicas especializadas, mantém-se MedicalClinic e preenche-se a propriedade medicalSpecialty com valores padronizados como Cardiovascular, Dermatology, Orthopedic, Pediatric ou Gynecologic.

Essa especificidade garante que o Google relacione o estabelecimento às buscas por tratamentos específicos daquela área médica na cidade ou região atendida.

Como conectar o médico à clínica usando parentorganization e employee

Médicos e clínicas não devem ser apresentados como entidades desconectadas. A solução técnica recomendada consiste em utilizar identificadores únicos canônicos com a propriedade @id.

No esquema da MedicalClinic, os médicos do corpo clínico são apontados por meio da propriedade employee, referenciando o @id de cada profissional. Na página individual de cada médico ou na seção do especialista, o esquema do tipo Physician referencia a clínica por meio da propriedade worksFor ou parentOrganization.

Essa ligação bidirecional instrui o algoritmo de que aquele médico atende fisicamente naquele endereço, legitimando o vínculo profissional sem duplicar dados cadastrais nem gerar conflito de fichas no Google Maps.

Regras éticas do cfm e dados estruturados para alinhar código e conformidade

A estruturação de dados médicos no Brasil precisa seguir estritamente as regras da Resolução CFM 2.336/2023 sobre publicidade médica. Todo código JSON-LD deve refletir informações públicas e comprováveis: número de inscrição no CRM, Registro de Qualificação de Especialista (RQE) para especialidades divulgadas e a identificação obrigatória do Diretor Técnico médico.

O Conselho Federal de Medicina estabelece limites claros para a comunicação profissional. É expressamente vedado anunciar especialidades sem o devido RQE registrado no conselho regional, fazer promessas de resultados curativos ou utilizar sensacionalismo para atrair público. O código do site não pode criar atalhos para essas vedações.

Se um esquema JSON-LD marca a propriedade medicalSpecialty como Dermatology, o médico responsável deve possuir RQE ativo nessa área e o número correspondente precisa constar no texto visível da página. O Google penaliza discrepâncias severas entre os dados declarados no schema e o conteúdo legível para o usuário humano.

No caso de pessoas jurídicas de saúde, a inclusão do nome e do CRM do Diretor Técnico médico no rodapé e nas propriedades estruturadas cumpre a obrigação legal e sinaliza transparência máxima aos avaliadores de qualidade de busca.

Comparativo entre implementação amadora por plugins e arquitetura técnica personalizada

Muitas clínicas utilizam plugins genéricos de SEO para tentar resolver dados estruturados no WordPress. Na prática, a maioria dessas ferramentas aplica esquemas genéricos de empresa local ou gera blocos concorrentes que confundem os motores de busca. A tabela abaixo compara a abordagem padrão com uma arquitetura técnica personalizada.

Critério técnicoPlugins genéricos no WordPressArquitetura técnica personalizadaResultado prático para a clínica
Classificação da entidadeLocalBusiness ou Organization genéricoMedicalClinic com especialidades médicas formaisO Google entende de imediato que se trata de uma clínica médica
Vínculo médico e clínicaEntidades soltas sem conexão semânticaVínculo bidirecional via @id com employee e worksForEvita canibalização entre a ficha da clínica e a do médico
Regras do CFMIgnora campos de CRM, RQE e Diretor TécnicoDeclaração controlada de registros profissionaisSegurança jurídica e conformidade ética perante o conselho
Impacto no carregamentoScripts pesados de terceiros e consultas lentas no bancoCódigo enxuto em PHP injetado diretamente no cabeçalhoSite veloz, estável e com excelente tempo de resposta
Perfil dos contatosMensagens de curiosos e buscas sem foco localPacientes particulares procurando pelo especialista certoConsultas particulares agendadas e maior faturamento no caixa

Implementação prática de json-ld no wordpress sem sobrecarregar o site

A forma recomendada para implementar schema markup para clínicas no WordPress sem prejudicar a velocidade do site é injetar os blocos JSON-LD via código PHP no gancho wp_head. Essa técnica dispensa plugins adicionais, reduz consultas desnecessárias ao banco de dados e mantém controle total sobre os nós semânticos.

Abaixo estão os modelos de código prontos para uso em ambiente de produção.

Estrutura completa do código json-ld para medicalclinic

O bloco a seguir representa a clínica matriz, seu endereço físico, horários de atendimento, Diretor Técnico e relação com seus profissionais.

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "MedicalClinic",
      "@id": "https://exemploortopedia.com.br/#clinic",
      "name": "Clínica Ortopédica Paulista",
      "url": "https://exemploortopedia.com.br",
      "logo": "https://exemploortopedia.com.br/assets/logo.png",
      "image": "https://exemploortopedia.com.br/assets/fachada.jpg",
      "telephone": "+55-11-3000-0000",
      "medicalSpecialty": "https://schema.org/Orthopedic",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Rua Domingos de Morais, 1000, Bloco B, Sala 402",
        "addressLocality": "São Paulo",
        "addressRegion": "SP",
        "postalCode": "04010-100",
        "addressCountry": "BR"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": -23.5855,
        "longitude": -46.6388
      },
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
          "opens": "08:00",
          "closes": "19:00"
        }
      ],
      "employee": [
        {
          "@id": "https://exemploortopedia.com.br/corpo-clinico/dr-rodrigo-silva/#physician"
        }
      ]
    }
  ]
}

Estrutura de physician vinculada por identificadores canônicos

Na página dedicada ao médico especialista ou na seção do corpo clínico, o esquema a seguir define a pessoa física do profissional, suas credenciais de classe e seu vínculo com a clínica.

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Physician",
      "@id": "https://exemploortopedia.com.br/corpo-clinico/dr-rodrigo-silva/#physician",
      "name": "Dr. Rodrigo Silva",
      "jobTitle": "Médico Ortopedista e Cirurgião de Joelho",
      "description": "Especialista em cirurgia do joelho e artroscopia. CRM-SP 145890 e RQE 78910.",
      "url": "https://exemploortopedia.com.br/corpo-clinico/dr-rodrigo-silva/",
      "image": "https://exemploortopedia.com.br/assets/dr-rodrigo-silva.jpg",
      "medicalSpecialty": "https://schema.org/Orthopedic",
      "worksFor": {
        "@id": "https://exemploortopedia.com.br/#clinic"
      },
      "identifier": [
        {
          "@type": "PropertyValue",
          "name": "CRM",
          "value": "CRM-SP 145890"
        },
        {
          "@type": "PropertyValue",
          "name": "RQE",
          "value": "RQE 78910"
        }
      ]
    }
  ]
}

Injeção limpa no wordpress via functions.php com wp_head

Para aplicar esse código sem pesar o carregamento do tema, você pode adicionar a função abaixo no arquivo functions.php do seu tema filho ou em um plugin próprio de funcionalidades no WordPress.

<?php
/**
 * Injeção de dados estruturados JSON-LD para clínica médica e corpo clínico
 */
function cfg_injetar_schema_medico() {
    if (is_front_page()) {
        $schema = [
            '@context' => 'https://schema.org',
            '@graph' => [
                [
                    '@type' => 'MedicalClinic',
                    '@id' => home_url('/#clinic'),
                    'name' => 'Clínica Ortopédica Paulista',
                    'url' => home_url('/'),
                    'telephone' => '+55-11-3000-0000',
                    'medicalSpecialty' => 'https://schema.org/Orthopedic',
                    'address' => [
                        '@type' => 'PostalAddress',
                        'streetAddress' => 'Rua Domingos de Morais, 1000, Sala 402',
                        'addressLocality' => 'São Paulo',
                        'addressRegion' => 'SP',
                        'postalCode' => '04010-100',
                        'addressCountry' => 'BR',
                    ],
                ]
            ]
        ];

        echo "\n<!-- Schema Markup Médico Personalizado -->\n";
        echo '<script type="application/ld+json">' . "\n";
        echo wp_json_encode($schema, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
        echo "\n</script>\n";
    }
}
add_action('wp_head', 'cfg_injetar_schema_medico', 20);

Esse método evita requisições externas e assegura que a marcação permaneça leve e sob controle do desenvolvedor.

Estudo de caso de uma clínica de ortopedia e cirurgiões parceiros em são paulo

Uma clínica de ortopedia localizada em Moema, na zona sul de São Paulo, enfrentava um problema recorrente de sobreposição de fichas no Google Maps. Os quatro cirurgiões parceiros possuíam perfis próprios no Google Meu Negócio cadastrados no mesmo endereço da clínica. Como o site em WordPress utilizava um plugin de SEO padrão configurado como empresa local comum, o algoritmo do Google fundia informações aleatoriamente.

Os sintomas operacionais eram evidentes. A recepção recebia dezenas de telefonemas e mensagens no WhatsApp buscando especialidades que a clínica não atendia, enquanto pacientes em busca de cirurgias particulares de joelho e ombro tinham dificuldade de encontrar os horários dos cirurgiões.

A intervenção técnica reestruturou a camada de dados em três etapas:

  1. Criação do nó semântico principal MedicalClinic com @id canônico, delimitando as especialidades ortopédicas atendidas no local físico.
  2. Criação de nós individuais Physician para cada cirurgião, declarando CRM, RQE, subespecialidades e conectando cada médico à clínica através de worksFor e employee.
  3. Ajuste no rodapé do site com identificação clara do Diretor Técnico médico, espelhando com precisão o que constava no código JSON-LD.

Após 90 dias da implementação e reindexação no Google Search Console, o Google separou os painéis de conhecimento sem atritos. As buscas orgânicas regionais para consultas e cirurgias de joelho aumentaram sua taxa de conversão em mensagens qualificadas, reduzindo o tempo perdido com atendimentos fora do escopo.

Para donos de consultórios que buscam transformar sua presença digital em um canal previsível de captação de pacientes particulares, contar com a assessoria de um especialista em Google Ads e SEO Local garante a execução técnica necessária e o alinhamento com as regras do Google e do CFM. Se o seu objetivo é revisar a estrutura atual do seu consultório, visite a página de contato para solicitar uma análise detalhada.

Erros comuns na validação de schema markup médico e como corrigi-los

Os erros mais frequentes na implementação de schema markup para clínicas envolvem a divergência entre o texto visível na página e o código JSON-LD, além do conflito gerado por plugins de SEO ativos simultaneamente. Corrigir essas falhas exige auditoria técnica no Validador de Schema.org e no Teste de Rich Results do Google.

Divergência entre dados visíveis na página e dados no json-ld

As diretrizes do Google para dados estruturados exigem que tudo o que for declarado no JSON-LD esteja acessível para o leitor humano na página correspondente. Se o código apontar que a clínica oferece atendimento de emergência 24 horas, mas o texto da página informar horário comercial de segunda a sexta, o site pode receber uma ação manual por dados estruturados enganosos.

Certifique-se de que telefones, endereços, nomes de especialistas, CRM e RQE estejam explícitos na página de contato e na apresentação do corpo clínico.

Conflito de schema gerado por múltiplos plugins de seo

Muitos temas do WordPress e construtores de páginas já injetam fragmentos de schema markup por padrão. Ao somar isso a plugins como Yoast, Rank Math ou All in One SEO, a página pode carregar múltiplos blocos conflitantes com tipos diferentes para a mesma organização.

Para corrigir o problema, desative os módulos de dados estruturados nativos desses plugins nas configurações avançadas caso opte pela injeção personalizada via PHP. Em seguida, valide a URL no validador do Schema.org para confirmar que existe apenas um grafo limpo e conectado.

Perguntas frequentes sobre schema markup para clínicas

Qual a diferença entre medicalbusiness e medicalclinic no schema.org?

MedicalBusiness é uma categoria abstrata superior que engloba qualquer negócio da área de saúde. MedicalClinic é um subtipo específico indicado para clínicas médicas e consultórios com atendimento presencial a pacientes.

O uso de schema markup médico garante estrelas de avaliação na busca do Google?

Não. O Google não concede estrelas de avaliação para tipos locais na busca orgânica geral para evitar fraudes. O schema serve para clareza semântica, relevância no Google Maps e inclusão no Knowledge Graph.

Como indicar o diretor técnico da clínica de acordo com o cfm?

Você pode incluir o profissional no corpo clínico como Physician e declarar sua função de responsabilidade técnica por meio da propriedade jobTitle com o texto Diretor Técnico, acompanhado do CRM e RQE correspondentes.

Vale a pena usar plugins prontos ou código personalizado no wordpress?

Plugins genéricos funcionam para cadastros simples, mas falham na conexão de múltiplos médicos e especialidades com conformidade médica. O código personalizado em PHP oferece controle semântico exato e mantém o site rápido.