# Rastreamento, SEO e reconstrução da produção

Atualizado em 15/09/2026. Trabalho realizado no site local; nenhuma publicação ou alteração no WordPress de produção.

## O que foi entregue

- Rastreamento de cliques em links, WhatsApp, botões, controles e áreas da página; rolagem em 25%, 50%, 75% e 90%.
- Identificação de página, elemento, instância do elemento, região da tela e produto. CTAs já identificados mantêm seus nomes. Cliques de teclado e botão central são diferenciados.
- Integração GA4 e Clarity configurável, desligada por padrão no localhost. Consentimento explícito antes de carregar qualquer coletor externo. Recusa e alteração de preferência disponíveis.
- Origem e códigos UTM permitidos conservados na sessão da aba após consentimento. Mensagens, telefone, e-mail, buscas livres e dados do orçamento não são propriedades dos eventos.
- 5.828 URLs de produto com código estável, nome, marca quando não repetida e `goiania-go`. O código resolve as URLs antigas por redirecionamento permanente, em um salto, preservando parâmetros de campanha.
- 146 páginas de conteúdo do site publicado tratadas no mesmo caminho: 44 artigos, 68 páginas de linhas/produtos, 26 páginas regionais e oito institucionais/índices. Cinco caminhos já existentes incorporam conteúdo original em seção expansível; os demais são reconstruídos com o padrão local.
- 19 redirecionamentos individuais para aliases de produtos, regiões e índices encontrados nos links internos da produção.
- Canonical, H1, metadados, conteúdo em HTML, breadcrumbs e sitemap integrados. Local/staging permanecem fora da indexação. Nenhuma avaliação, preço ou disponibilidade foi inventada.
- Cores e controles compartilhados em `design-tokens.css` e `design-system.css`: amarelo de ação, azul da marca, grafite/azul escuro para textos e ações secundárias, bordas e raios padronizados, foco visível e alvos de toque.

## Auditoria realizada diretamente em produção

Fonte: https://portaldistribuidora.com.br/sitemap_index.xml e cinco sitemaps filhos, cruzados com a auditoria de maio. A coleta começou em 15/09/2026. HTML de origem e inventário completo ficam em `work/production-audit/`, fora dos arquivos públicos.

Foram identificados 148 endereços: 146 páginas, um arquivo KML de localização (preservado) e um endpoint antigo de plugin (`/wpwbot-mobile-app/`), que respondeu 404 na reconferência e recebe 410 no novo site.

Algumas respostas HTTP 200 eram telas de verificação automática, não conteúdo. Elas foram identificadas e reconsultadas em ritmo reduzido; não foram importadas como páginas. As URLs e decisões estão em [production-url-map.csv](production-url-map.csv).

### Conteúdo indevido: prioridade na produção

45 páginas continham links alheios à Portal, em turco, associados a bots de tráfego e rankings. Exemplos observados em artigos:

- `/gladyo-hit-botu-panel-portaldistribuidorac-1620`
- `/google-hit-botu-organik-siralama-portaldistribuidorac-1152`
- `/trafik-botu-seo-etkileri-portaldistribuidorac-7098`

[Evidências por página](production-unrelated-links.json). Isso é indício de inserção indevida, não uma identificação da causa ou do responsável. Os links e widgets relacionados foram excluídos da cópia local. É necessário investigar posts, usuários, plugins, temas e histórico do WordPress em produção, preservando evidências e backup. Esta entrega não fez essa intervenção.

### Conteúdo insuficiente e afirmações a revisar

49 origens tinham menos de 180 caracteres de corpo útil: 46 páginas de produtos/linhas e três páginas institucionais/índices. Elas receberam título contextual, orientação de consulta e, quando há correspondência conhecida, links para a linha do catálogo. Esse conteúdo inicial exige enriquecimento editorial específico antes de uma migração competitiva.

Os artigos históricos mantêm sua data/ano original nos títulos. Textos técnicos, promessas de economia/entrega/atendimento 24h e afirmações de lojas em várias cidades aparecem na origem e estão sinalizados no mapa. O texto de entrada da página de arandelas, que mencionava disjuntores por erro de cópia na origem, foi corrigido. A cópia não transforma afirmações antigas em fatos recém-verificados.

### Imagens: migração ainda pendente

179 caminhos de imagens originais foram inventariados. Cinco arquivos foram copiados, incluindo as três fotos dos depoimentos da página inicial; 174 continuam pendentes por respostas 403, verificações automáticas e timeouts do servidor. [Inventário de imagens](production-assets.json).

Para não exibir imagens quebradas no localhost, imagens ainda indisponíveis aparecem como referência textual com link para a imagem original. **Isso não conclui a preservação do SEO de imagens.** Antes de trocar a produção, copiar os arquivos de `wp-content/uploads` de um backup/exportação autorizado para os mesmos caminhos, atualizar o inventário e validar todas as URLs de mídia. O importador recupera a exibição das imagens quando os arquivos estão presentes. O site local não deve substituir a produção enquanto essa pendência existir.

## Como ativar e validar GA4 + mapas de calor

Copiar `.env.example` para `.env.local` e informar os IDs reais `NEXT_PUBLIC_GA4_ID=G-…` e `NEXT_PUBLIC_CLARITY_ID=…`. Definir `NEXT_PUBLIC_ANALYTICS_ENABLED=true` no ambiente desejado. Recompilar/reiniciar; a configuração é de build. Em testes locais, usar propriedade de teste, `NEXT_PUBLIC_ANALYTICS_ALLOW_LOCAL=true` e `NEXT_PUBLIC_ANALYTICS_DEBUG=true`. Nunca usar valores fictícios como credenciais reais.

Na propriedade GA4, desativar a coleta automática de visualizações e a opção de mudanças de página baseadas no histórico; o site envia `page_view` manualmente. Desativar também cliques externos, pesquisa interna, formulários e rolagem automáticos da medição otimizada: esta integração mede suas próprias interações e retira valores livres das URLs. Não instalar outro consumidor do mesmo evento no GTM. No HTML da produção foram encontrados `GTM-TJD2L6ZW` e `GTM-TMHDQK3`; sua execução e configuração interna não foram acessadas. Não foram copiados.

Eventos e leitura:

| Evento | O que significa |
|---|---|
| `page_view` | Página aberta ou restaurada pelo histórico |
| `link_click` | Link acionado; destino sanitizado, posição e instância |
| `whatsapp_click` | Clique que abre um rascunho no WhatsApp |
| `ui_click` | Botão, controle ou área da página acionada |
| `scroll_depth` | Marco de rolagem atingido pela primeira vez na página |

Registrar como dimensões personalizadas de escopo de evento: `cta_position`, `element_id`, `section`, `product_id`, `link_destination`, `landing_path`, `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`. `event_id`, `event_time`, `element_instance` e coordenadas são diagnósticos; não criar dimensões de alta cardinalidade para cada clique.

No GA4, marcar `whatsapp_click` como evento principal somente se a métrica comercial desejada for intenção de contato. Montar exploração por página → CTA → produto → campanha e comparar com sessões. Um clique não comprova mensagem enviada, conversa atendida, orçamento ou venda. Confirmar essas etapas exige integração com WhatsApp Business/CRM, que não existe neste projeto e não foi simulada.

No Clarity, conectar o projeto à propriedade GA4 pelo painel da plataforma. Clarity fornece os mapas visuais de cliques e rolagem e recebe a marcação `cta_id` nos cliques de WhatsApp. O gravador não carrega em `/orcamento` nem em páginas com query string; os eventos GA4 sanitizados continuam disponíveis após consentimento. O consentimento de publicidade permanece negado. A preferência de análise pode ser revogada no rodapé; a página é recarregada para descarregar os coletores.

Sem IDs/consentimento, os últimos 200 eventos ficam apenas em memória para QA, em `#portal-conversion-diagnostics`. Eles desaparecem ao recarregar. Não há painel de resultados comerciais nem dados reais de visitantes inventados.

### Validação de ativação que ainda depende das contas

1. Confirmar os IDs reais, a propriedade e excluir tráfego interno.
2. Verificar ausência de requisições externas antes da permissão e após a recusa.
3. Dar permissão e conferir uma visualização por página no DebugView.
4. Percorrer campanha → categoria → produto → WhatsApp e conferir página, CTA, código e campanha.
5. Conferir cliques por teclado, botão central e retorno pelo histórico.
6. Revogar a permissão e conferir que novas páginas não carregam coletores.
7. Confirmar recebimento dos eventos e mapas nas plataformas. Código pronto não é prova de recebimento externo.

## SEO e GEO

O slug é apenas uma parte da descoberta. Foram mantidos dados verificáveis do produto, unidade, marca, código, links entre produtos/categorias, conteúdo legível e dados estruturados. A localização descreve a loja em Goiânia; não indica fabricação ou exclusividade regional. Não foram adicionadas cidades ou especificações sem fonte.

GEO, quando usado para descoberta em respostas de IA, depende dos mesmos fundamentos de conteúdo útil e acessível; não há garantia de citação nem de ranking por aumentar o slug. Antes da troca: cruzar este mapa com Search Console, backlinks, logs e páginas fora do sitemap; preservar arquivos de verificação; revisar conteúdo técnico e cobertura; resolver mídia; testar o domínio de produção e só então liberar indexação.

Fontes oficiais:

- [Google: migração de URLs](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes): mapear URLs, atualizar links/canonicals e usar redirecionamentos permanentes; oscilações podem ocorrer.
- [Google: recursos de IA e sites](https://developers.google.com/search/docs/appearance/ai-features): fundamentos de SEO continuam aplicáveis.
- [Google: visualizações de página](https://developers.google.com/analytics/devguides/collection/ga4/views): evitar duplicar coleta manual e automática.
- [Google: consentimento](https://developers.google.com/tag-platform/security/guides/consent): atualizar escolha antes da navegação.
- [Microsoft: GA e Clarity](https://learn.microsoft.com/en-us/clarity/ga-integration/ga-dashboard): mapas e gravações complementam os dados do GA.
- [Microsoft: API do Clarity](https://learn.microsoft.com/en-us/clarity/setup-and-installation/clarity-api): eventos e mascaramento.

## Validação desta entrega

- 44 testes automatizados aprovados, incluindo renderização de todas as 146 páginas de conteúdo, URLs canônicas, um H1 por página, redirecionamentos antigos, preservação de campanhas, aliases, filtragem dos dados e ausência de scripts/conteúdo indevido importado.
- Verificação de tipos, lint e build concluídos.
- Navegador: home em desktop; home, produto, página antiga de arandelas, blog e artigo em 375 px. Sem rolagem horizontal nas páginas medidas.
- Clique real no CTA principal e em um produto gerou um registro por ação, com produto 4637 e campanha de teste corretamente associados. Botão do carrossel também foi registrado. Nenhuma mensagem foi enviada ao atendimento.
- GA4 e Clarity não receberam tráfego de teste: IDs ainda não foram fornecidos, e a coleta externa permanece desativada.
