# Como corrigir o schema de Local SEO no Rank Math

O Local SEO do Rank Math não funciona quando o schema LocalBusiness não e emitido ou o Google o ignora. As causas mais comuns são o Knowledge Graph definido como Pessoa, o campo Tipo de Negocio em branco e a ausencia de GeoCoordinates ou horario, todos em Títulos e Meta na aba Local SEO.

## O que é o Local SEO do Rank Math que não funciona?

O Local SEO do Rank Math e o módulo que injeta o schema LocalBusiness no código do site para o Google reconhecer um negocio local e exibir cartao de conhecimento, mapa e horario. Ele e configurado em Rank Math SEO, dentro de Títulos e Meta, na aba Local SEO, onde você define se o Knowledge Graph e Pessoa ou Empresa, o nome, o Tipo de Negocio, endereco, telefone, e-mail, horario de funcionamento, GeoCoordinates e logo. Quando esse módulo não funciona, o bloco LocalBusiness não sai no JSON-LD da página ou sai incompleto, e o Teste de Resultados Aprimorados do Google não reconhece o negocio. Quase sempre o problema esta na configuração da aba Local SEO, e não em um defeito do plugin: um campo obrigatório em branco, o Knowledge Graph errado ou um valor fora do formato esperado bastam para o Google descartar a marcacao.

## Como identificar

- No Teste de Resultados Aprimorados do Google a URL não mostra o item 'Empresa local' (LocalBusiness), ou aparece com aviso de campo ausente como 'address' ou 'telephone'.
- No código-fonte da página, ao buscar por 'application/ld+json', não existe nenhum bloco com '@type' igual a 'LocalBusiness' ou ao Tipo de Negocio escolhido.
- Em Rank Math SEO -> Títulos e Meta a aba 'Local SEO' não aparece na lista lateral, mesmo com o plugin ativo.
- O Schema Markup Validator do Schema.org acusa 'Missing field geo' ou 'Missing field openingHours' no bloco do negocio.
- O campo Telefone some da tela de configuração e o schema sai como 'Person' em vez do tipo de negocio esperado.
- O endereco e o horario aparecem no site, mas o painel de conhecimento do Google nunca exibe os dados do negocio nos resultados de busca.

## Como prevenir

- Defina o Knowledge Graph como Empresa logo na configuração inicial do Rank Math, antes de comecar a publicar, para o LocalBusiness nascer correto.
- Sempre que mudar endereco, telefone ou horario, revalide a home no Teste de Resultados Aprimorados, porque um campo em branco derruba o cartao de negocio.
- Use sempre o código de pais no formato ISO 3166-1 alpha-2 (BR) e GeoCoordinates com ponto decimal, evitando texto por extenso.
- Mantenha um único gerador de schema de negocio ativo: deixe o Rank Math cuidar do LocalBusiness e desligue dados estruturados de negocio do tema ou de outros plugins de SEO.

Erros relacionados

- [Como corrigir marcação inválida no Schema Generator do Rank Math](https://full.services/wp-fixer/corrigir-schema-generator-rank-math/)
- [Como corrigir o schema de produto do Rank Math no WooCommerce](https://full.services/wp-fixer/corrigir-schema-produto-rank-math-woocommerce/)
- [Como corrigir rich snippets inválidos no Schema do WordPress](https://full.services/wp-fixer/corrigir-rich-snippets-schema-invalido/)

## Causa

- O Knowledge Graph esta definido como 'Pessoa' (Person) em vez de 'Empresa' (Company) na aba Local SEO, e o Rank Math emite schema Person, que não tem endereco, telefone nem horario e oculta esses campos da tela.
- O campo 'Tipo de Negocio' (Business Type) ficou em branco ou em 'Selecione', entao o plugin não sabe qual subtipo de LocalBusiness gerar e o Google descarta a marcacao por falta de '@type'.
- O campo GeoCoordinates esta vazio ou fora do formato 'latitude, longitude' com ponto decimal (por exemplo 41.40338, 2.17403), deixando o bloco 'geo' ausente ou invalido no JSON-LD.
- O horario de funcionamento (Opening Hours) não foi preenchido na aba Local SEO, e o validador do Schema.org acusa 'openingHours' ausente no LocalBusiness.
- O módulo Local SEO esta desligado em Rank Math SEO -> Painel -> Módulos, ou o assistente de configuração inicial não foi concluido, e por isso a aba Local SEO nem aparece em Títulos e Meta.
- O código do pais foi digitado por extenso (Brasil) em vez do formato ISO 3166-1 alpha-2 (BR) no endereco, e o Google rejeita o campo 'addressCountry'.

## Como resolver

1. Ative o módulo Local SEO: no painel do Rank Math, abra Módulos e confirme que o Local SEO esta ligado. Sem o módulo ativo a aba de configuração nem aparece em Títulos e Meta.

```
Rank Math SEO -> Painel -> Módulos -> Local SEO (ligar)
```

2. Troque o Knowledge Graph de Pessoa para Empresa: abra a aba Local SEO e defina o tipo como Empresa. Esse e o erro mais comum: como Pessoa, o plugin não emite endereco, telefone nem horario, e nenhum dado de negocio chega ao schema.

```
Rank Math SEO -> Títulos e Meta -> Local SEO -> Pessoa ou Empresa: Empresa
```

3. Preencha os campos obrigatorios do negocio: ainda na aba Local SEO, escolha o Tipo de Negocio e preencha endereco, telefone, e-mail, horario de funcionamento e o logo. O Tipo de Negocio e o que define o subtipo de LocalBusiness no schema.

```
Tipo de Negocio: escolha o mais específico (ex.: Restaurant, Store, ProfessionalService)
Pais: código ISO 3166-1 alpha-2 (ex.: BR)
Logo: imagem com no mínimo 112x112 pixels
```

4. Informe as GeoCoordinates no formato correto: no campo GeoCoordinates, cole a latitude e a longitude separadas por virgula, com ponto decimal. Pegue os números na barra de endereco do Google Maps ao abrir o ponto exato do negocio.

```
GeoCoordinates: -23.55052, -46.63331
```

5. Valide a marcacao no Teste do Google: salve as configurações, abra a página inicial e rode o Teste de Resultados Aprimorados. Confirme que o item Empresa local aparece sem campos ausentes; o Schema Markup Validator do Schema.org ajuda a localizar o campo que ainda falta.

```
https://search.google.com/test/rich-results
https://validator.schema.org/
```

6. Solicite a reindexacao: com o schema valido, peca ao Google para reprocessar a página. No Search Console use a Inspecao de URL e clique em Solicitar indexação para acelerar a leitura da marcacao corrigida.

```
Search Console -> Inspecao de URL -> Solicitar indexação
```


## Código

```php
add_filter( 'rank_math/json_ld', function ( $data, $jsonld ) {
    // Forca o tipo do negocio local quando o Rank Math emite generico/incompleto.
    foreach ( $data as $key => $node ) {
        if ( isset( $node['@type'] ) && 'LocalBusiness' === $node['@type'] ) {
            $data[ $key ]['@type'] = 'ProfessionalService';
            if ( empty( $data[ $key ]['geo'] ) ) {
                $data[ $key ]['geo'] = array(
                    '@type'     => 'GeoCoordinates',
                    'latitude'  => '-23.55052',
                    'longitude' => '-46.63331',
                );
            }
        }
    }
    return $data;
}, 99, 2 );
```

## Perguntas frequentes

### Por que o Local SEO do Rank Math não funciona?

Quase sempre por configuração na aba Local SEO, não por defeito do plugin. As causas mais comuns são o Knowledge Graph definido como Pessoa em vez de Empresa, o Tipo de Negocio em branco e a ausencia de GeoCoordinates ou horario. Sem esses campos o Rank Math não emite um LocalBusiness valido e o Google ignora a marcacao.

### Onde fica a configuração de Local SEO no Rank Math?

Em Rank Math SEO, dentro de Títulos e Meta, na aba Local SEO. La você define se o Knowledge Graph e Pessoa ou Empresa, o Tipo de Negocio, endereco, telefone, e-mail, horario de funcionamento, GeoCoordinates e logo. Se a aba não aparece, o módulo Local SEO esta desligado no Painel ou o assistente de configuração não foi concluido.

### Qual a diferenca entre Pessoa e Empresa no Local SEO?

Pessoa gera schema Person, voltado a um individuo, e oculta campos como telefone e horario. Empresa gera o LocalBusiness com o subtipo do Tipo de Negocio escolhido e habilita endereco, telefone, horario e GeoCoordinates. Para Local SEO de negocio, a opção tem de ser Empresa; deixar em Pessoa e a causa número um do schema não aparecer.

### Como descubro qual campo esta faltando no schema?

Rode a URL no Teste de Resultados Aprimorados do Google e veja se o item Empresa local aparece e quais avisos lista. O Schema Markup Validator do Schema.org complementa apontando campos ausentes como geo, openingHours ou address. Os dois mostram o nome exato do campo que falta para você voltar a aba Local SEO e preencher.

### Qual o formato correto das GeoCoordinates?

Latitude e longitude separadas por virgula, com ponto decimal, por exemplo -23.55052, -46.63331. Pegue os números abrindo o ponto do negocio no Google Maps e copiando o par que aparece na barra de endereco. Virgula no lugar do ponto decimal ou texto extra deixa o campo geo invalido e o Google descarta.

### Preciso do Rank Math PRO para usar Local SEO?

O Local SEO de uma única localizacao funciona na versão gratuita do Rank Math. A versão PRO adiciona o recurso de Múltiplas Localizacoes, que cria o tipo de conteúdo de Locais (RM Locations) e gera um LocalBusiness por endereco. Para um negocio com um endereco so, a configuração da aba Local SEO basta.

### Por que o painel de conhecimento do Google não mostra meu negocio mesmo com schema valido?

Schema valido e condicao necessaria, não garantia de exibicao. O Google ainda decide quando e como mostrar o cartao, costuma exigir um Perfil da Empresa no Google verificado e dados 100 por cento consistentes entre o site e o perfil. Endereco, telefone ou horario divergentes entre as fontes atrasam ou impedem a exibicao.

**Fonte:** [Rank Math — Local SEO](https://rankmath.com/kb/local-seo/)
