Em 7 de outubro de 2026, a Shifter tem o maior pool de IPs dos EUA ativos, mais do que a Oxylabs e a Bright Data, por uma fração do custo.A Shifter agora tem o maior pool de IPs ativos dos EUA

Ver benchmarks

Conhecimento

Auditoria de Consistência de NAP em Diretórios Locais

Uma empresa listada com um número de telefone ou endereço antigo em dezenas de diretórios confunde clientes e mecanismos de busca. Como auditar dados de NAP e corrigir o que importa.

Daniel Okafor

10 de outubro de 2026 · 11 min de leitura

Uma empresa local existe online em dezenas de lugares que ela não controla: aplicativos de mapas, sites de avaliação, diretórios setoriais, agregadores de dados, perfis sociais. Cada um guarda sua própria cópia do nome, endereço e telefone da empresa, conhecido em SEO local como NAP. Quando a empresa muda de endereço, troca de número ou faz um rebranding, a maioria dessas cópias permanece como estava.

O resultado é um cliente ligando para um número desconectado, um entregador no endereço antigo, e mecanismos de busca e aplicativos de mapas com fatos conflitantes sobre a mesma empresa. Muitos sites menores copiam seus dados de sites maiores, então uma listagem errada tende a se espalhar.

Uma auditoria de NAP encontra essas inconsistências de forma sistemática. Este guia cobre o que coletar, como comparar listagens para que ruído de formatação não afogue problemas reais, o código para fazer isso e como priorizar correções.

O que uma auditoria de NAP verifica

Para cada lugar em que uma empresa está listada, uma auditoria responde a três perguntas:

  • Nome: é o nome real da empresa, como usado em sua fachada e site, sem palavras-chave adicionadas ou uma marca antiga?
  • Endereço: é o endereço atual, incluindo a sala ou unidade, com o CEP correto?
  • Telefone: é o número principal atual, em vez de uma linha antiga ou um número de rastreamento que ninguém atende?

Muitas auditorias também verificam a URL do site, o horário de funcionamento e a categoria principal, já que esses dados também ficam desatualizados da mesma forma. O método abaixo se estende facilmente a eles.

Passo 1: anote o registro canônico

Tudo é comparado com um único registro: o NAP da empresa como deveria aparecer em todos os lugares. Obtenha-o da própria empresa, não de um diretório, e escreva-o por completo: sufixos legais removidos, o endereço exatamente como consta nos Correios, o número de telefone principal. Para uma empresa com múltiplas unidades, mantenha um registro canônico por unidade, com um ID estável.

Isso parece óbvio, e é onde a maioria das auditorias erra. Se o registro canônico em si estiver desatualizado, toda comparação erra na mesma direção.

Passo 2: colete as listagens

As listagens a coletar se dividem em três grupos:

FonteExemplosComo coletar
Plataformas principaisGoogle Business Profile, Apple Business Connect, Bing Places, FacebookOs próprios painéis e APIs oficiais da empresa
Sites de avaliação e diretóriosDiretórios gerais e setoriais, plataformas de avaliaçãoAPIs oficiais quando existirem, caso contrário a página pública da listagem
Agregadores de dadosAs empresas que abastecem muitos diretórios menoresSeus portais empresariais

Use APIs oficiais e as próprias contas da empresa sempre que existirem: são mais confiáveis e permitidas. Para diretórios sem API, a página da listagem é pública, e coletar uma página por empresa por diretório é uma tarefa leve e ocasional. As listagens também podem diferir por país e cidade, então verifique-as como um cliente local as veria; nosso guia sobre coleta de dados de empresas locais cobre o lado da coleta.

Registre os valores brutos exatamente como listados, junto com a URL e a data. A auditoria compara valores normalizados, mas a correção precisa saber exatamente o que está errado em cada site.

Passo 3: compare sem se afogar em ruído

Uma comparação ingênua sinaliza quase tudo. “St” contra “Street”, “(312) 555-0142” contra “312-555-0142”, “LLC” ou sem “LLC”: nenhum desses é um problema real, e uma auditoria cheia deles esconde a listagem que ainda tem o número de telefone do ano passado.

A solução é normalizar cada campo antes de comparar, e classificar o resultado:

StatusSignificadoPrioridade
matchIdêntico ao registro canônicoNenhuma
formatTexto diferente, mesmo valor após normalizaçãoBaixa: ajustar quando conveniente
closeQuase igual, como um número de sala faltando ou um erro de digitaçãoMédia: verificar e corrigir
mismatchUm valor diferente: outro endereço, outro número, outro nomeAlta: corrigir primeiro
missingO campo está vazio nessa listagemMédia: adicionar

O código abaixo normaliza cada campo de uma forma adequada a ele. Nomes descartam pontuação, acentos, um “The” inicial e sufixos legais. Endereços são expandidos para abreviações padrão (“Street” para “st”, “Suite” para “ste”) e descartam a extensão ZIP+4. Números de telefone são analisados com phonenumbers, a versão em Python da biblioteca de números de telefone do Google, e comparados em formato internacional, de modo que qualquer formatação do mesmo número corresponda.

import re
import unicodedata
from difflib import SequenceMatcher

import phonenumbers

LEGAL_SUFFIXES = {"llc", "inc", "ltd", "co", "corp", "gmbh", "plc", "sl", "srl"}
ADDRESS_WORDS = {
    "street": "st", "avenue": "ave", "boulevard": "blvd", "road": "rd", "drive": "dr",
    "lane": "ln", "court": "ct", "place": "pl", "suite": "ste", "floor": "fl",
    "north": "n", "south": "s", "east": "e", "west": "w", "apartment": "apt", "unit": "ste",
}


def _words(text):
    text = unicodedata.normalize("NFKD", text).encode("ascii", "ignore").decode().lower()
    text = text.replace("&", " and ").replace("#", " ste ")
    return re.sub(r"[^a-z0-9 ]+", " ", text).split()


def norm_name(name):
    words = [w for w in _words(name) if w not in LEGAL_SUFFIXES]
    return " ".join(words[1:] if words[:1] == ["the"] else words)


def norm_address(address):
    # Descarta a extensão ZIP+4, para que "60607-1234" corresponda a "60607".
    address = re.sub(r"\b(\d{5})-\d{4}\b", r"\1", address)
    return " ".join(ADDRESS_WORDS.get(w, w) for w in _words(address))


def norm_phone(phone, region="US"):
    try:
        number = phonenumbers.parse(phone, region)
    except phonenumbers.NumberParseException:
        return None
    if not phonenumbers.is_valid_number(number):
        return None
    return phonenumbers.format_number(number, phonenumbers.PhoneNumberFormat.E164)


def compare(field, canonical, listed, region="US"):
    """'match', 'format' (igual após normalização), 'close', 'mismatch' ou 'missing'."""
    if not listed:
        return "missing"
    if listed.strip() == canonical.strip():
        return "match"
    if field == "phone":
        a, b = norm_phone(canonical, region), norm_phone(listed, region)
        return "format" if a and a == b else "mismatch"
    normalise = norm_name if field == "name" else norm_address
    a, b = normalise(canonical), normalise(listed)
    if a == b:
        return "format"
    return "close" if SequenceMatcher(None, a, b).ratio() >= 0.9 else "mismatch"


def audit(canonical, listings, region="US"):
    """Uma linha por diretório: o status de nome, endereço e telefone."""
    rows = []
    for source, listing in listings.items():
        row = {"source": source}
        for field in ("name", "address", "phone"):
            row[field] = compare(field, canonical[field], listing.get(field), region)
        rows.append(row)
    return rows

O argumento region indica ao analisador de telefones qual país assumir para números escritos sem código de país, de modo que o mesmo código funciona para uma empresa alemã ou brasileira com region="DE" ou region="BR". As abreviações de endereço são em inglês; estenda ADDRESS_WORDS para outros mercados.

Executando uma auditoria

Aqui está uma auditoria de uma empresa contra quatro listagens de diretórios (um exemplo ilustrativo, não listagens reais):

from nap import audit

canonical = {
    "name": "Corner Bakery",
    "address": "123 North Main Street, Suite 4, Chicago, IL 60607",
    "phone": "(312) 555-0142",
}
listings = {
    "Directory A": {"name": "Corner Bakery", "address": "123 N Main St #4, Chicago IL 60607",
                    "phone": "312-555-0142"},
    "Directory B": {"name": "The Corner Bakery LLC", "address": "123 North Main Street, Suite 4, Chicago, IL 60607",
                    "phone": "(312) 555-0142"},
    "Directory C": {"name": "Corner Bakery", "address": "88 West Lake Street, Chicago, IL 60601",
                    "phone": "(312) 555-0199"},
    "Directory D": {"name": "Corner Bakery & Cafe", "address": "123 N Main St, Chicago, IL 60607"},
}

print(f"{'source':<12} {'name':<9} {'address':<9} phone")
for row in audit(canonical, listings):
    print(f"{row['source']:<12} {row['name']:<9} {row['address']:<9} {row['phone']}")
source       name      address   phone
Directory A  match     format    format
Directory B  format    match     match
Directory C  match     mismatch  mismatch
Directory D  mismatch  close     missing

Lendo linha por linha:

  • Directory A formata o endereço e o telefone de forma diferente, mas todos os valores estão corretos. Nada a corrigir.
  • Directory B adiciona “The” e “LLC” ao nome. Também está tudo certo, embora valha a pena ajustar.
  • Directory C tem o nome correto com um endereço antigo e um número de telefone antigo. Essa é a listagem que manda clientes para o lugar errado, e a primeira a corrigir.
  • Directory D tem um nome diferente (“Corner Bakery & Cafe”), está sem o número da sala e não tem telefone algum.

Passo 4: corrija na ordem certa

  1. Mismatches nas plataformas principais primeiro. Essas listagens alcançam mais pessoas, e muitos sites menores copiam delas.
  2. Mismatches em todo o resto, começando pelos diretórios mais relevantes para o setor da empresa e os que aparecem bem na busca pelo nome da empresa.
  3. Campos ausentes, especialmente o telefone.
  4. Correspondências próximas (close), como um número de sala faltando.
  5. Diferenças de formatação por último, se é que serão corrigidas.

Algumas listagens podem ser editadas diretamente pela própria conta da empresa. Outras exigem um processo de reivindicação ou uma solicitação de suporte, e agregadores de dados frequentemente precisam de correções enviadas por meio de seus próprios portais, após o que a mudança se propaga para os sites que eles abastecem. Espere que correções em alguns diretórios levem semanas para aparecer.

Passo 5: reaudite periodicamente

As listagens voltam a ficar desatualizadas. Agregadores podem sobrescrever correções, usuários podem sugerir edições em algumas plataformas, e dados antigos ressurgem de fontes que ninguém mais lembrava. Execute a auditoria novamente mensalmente para as plataformas principais e trimestralmente para a cauda longa, e sempre após uma mudança de endereço, troca de telefone ou rebranding.

Mantenha os resultados de cada auditoria com sua data. A tendência importa mais do que qualquer execução isolada: uma listagem que volta ao endereço antigo depois de cada correção aponta para uma fonte a montante que ainda guarda o dado errado.

Para empresas em que o ranqueamento em mapas importa, combine a auditoria com a medição de ranqueamento em toda a área que a empresa atende. Nosso guia sobre rastreamento de ranqueamento em grade geográfica mostra como medir isso, e como saber se a visibilidade melhora depois que as listagens são corrigidas.

Causas comuns de NAP inconsistente

  • Mudanças de endereço e trocas de telefone que foram atualizadas no perfil principal, mas em nenhum outro lugar.
  • Números de rastreamento de chamadas adicionados para uma campanha publicitária e nunca removidos.
  • Rebrandings em que o nome antigo sobrevive em diretórios de cauda longa.
  • Números de sala e unidade descartados por diretórios que não têm campo para eles.
  • Listagens duplicadas, frequentemente criadas automaticamente, cada uma com seus próprios dados ligeiramente diferentes.
  • Empresas com múltiplas unidades em que os dados de uma unidade foram copiados para a listagem de outra.

Perguntas frequentes

O que é consistência de NAP?

NAP significa nome, endereço e telefone (name, address, phone number). Consistência de NAP significa que o NAP de uma empresa é o mesmo, e correto, em todos os lugares em que está listado online: aplicativos de mapas, diretórios, sites de avaliação e seu próprio site.

Diferenças de formatação como “St” e “Street” importam?

Muito menos do que dados errados. Uma auditoria deve normalizar a formatação antes de comparar, para que as listagens com um endereço ou telefone antigo se destaquem em vez de se perderem em meio a diferenças inofensivas.

Com que frequência devo auditar listagens de empresas?

Mensalmente para as plataformas principais e trimestralmente para outros diretórios é um ritmo razoável, além de uma auditoria extra após qualquer mudança de endereço, troca de telefone ou rebranding.

Devo usar números de telefone de rastreamento em listagens de diretórios?

Use-os com cuidado. Um número de rastreamento removido após uma campanha deixa uma listagem com um número morto. Se você usar um, certifique-se de que o número principal também esteja listado onde a plataforma permitir, e registre qual listagem carrega qual número.

Conclusão

Uma auditoria de NAP é um trabalho de qualidade de dados: um registro canônico, cada listagem coletada com sua fonte e data, valores normalizados antes de serem comparados, e resultados classificados para que os problemas reais se destaquem. Corrija os mismatches nas maiores plataformas primeiro, depois siga descendo, e reaudite periodicamente porque as listagens ficam desatualizadas. O código acima cuida da comparação; a disciplina está em manter o registro canônico correto e agir sobre o que a auditoria encontra.

Pronto para começar?

Experimente os proxies residenciais da Shifter, mais de 205M IPs, mais de 195 países, a partir de $ 0,75/GB.

Começar