Files

131 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Operações externas de SEO/GEO
**Estado: não executado neste repositório**
Este é um runbook declarativo para um operador autorizado. Ele descreve evidências que deverão ser coletadas em contas e painéis externos; não registra execução, acesso, configuração, medição ou resultado externo. Search Console, Bing Webmaster Tools, Cloudflare, CrUX e RUM são próximas ações externas, não evidência do repositório.
Medições executadas e o auditor repetível estão em `docs/seo-geo-validation.md`.
## Regras de operação
- Executar cada ação somente com autorização e na propriedade correta.
- Manter todas as caixas abaixo desmarcadas até que a evidência correspondente exista.
- Registrar data/hora, propriedade, escopo, filtro utilizado, resultado observado e link/arquivo de evidência, sem incluir credenciais, tokens ou dados pessoais.
- Não preencher métricas, cobertura, canônicas, conversões, citações ou status com estimativas.
- Uma configuração externa não altera, por si só, o código deste repositório. Qualquer mudança em código, `robots.ts`, sitemap ou conteúdo exige revisão própria.
## Referência factual do repositório
Antes de qualquer ação externa, conferir os arquivos atuais:
- `app/sitemap.ts`: fonte da lista de URLs.
- `app/robots.ts`: regras declaradas, sitemap público e host.
- Metadados por rota em `app/layout.tsx`, `app/servicos/**`, `app/cases/**`, `app/curriculo/**` e `app/privacidade/**`.
- `lib/site-content.ts`: slugs de serviços e cases.
- `app/components/GoogleAnalytics.tsx` e `app/privacidade/page.tsx`: contrato de consentimento e medição descrito no produto.
### Sitemap final: 17 URLs canônicas
A contagem é **16 rotas que já compunham o conjunto principal + `/privacidade` = 17**: home, currículo, dois hubs, seis serviços e seis cases. Inspecionar exatamente estas URLs, sem criar variantes por cidade, parâmetros ou trailing slash alternativo:
1. `https://evandro.dev.br`
2. `https://evandro.dev.br/curriculo`
3. `https://evandro.dev.br/privacidade`
4. `https://evandro.dev.br/servicos`
5. `https://evandro.dev.br/cases`
6. `https://evandro.dev.br/servicos/criacao-de-sites`
7. `https://evandro.dev.br/servicos/engenharia-de-software`
8. `https://evandro.dev.br/servicos/consultoria-nextjs`
9. `https://evandro.dev.br/servicos/tauri-rust`
10. `https://evandro.dev.br/servicos/integracao-hardware-software-iot`
11. `https://evandro.dev.br/servicos/arquitetura-de-software`
12. `https://evandro.dev.br/cases/nutriscan`
13. `https://evandro.dev.br/cases/twins-lab`
14. `https://evandro.dev.br/cases/reddit-explorer`
15. `https://evandro.dev.br/cases/sc-plus`
16. `https://evandro.dev.br/cases/gcc-installer`
17. `https://evandro.dev.br/cases/as-servicos`
O sitemap não deve receber `lastModified`, `changeFrequency` ou `priority` enquanto não houver fonte editorial estável para essas datas/hints.
## Google Search Console
Cada item permanece pendente até haver captura do painel ou export equivalente, com propriedade e escopo identificáveis.
- [ ] **Verificação de propriedade:** verificar a propriedade de `https://evandro.dev.br`; registrar método utilizado, propriedade confirmada e evidência de verificação. Não guardar o segredo ou token.
- [ ] **Sitemap:** submeter `https://evandro.dev.br/sitemap.xml`; registrar confirmação, data/hora, número de URLs reportado pelo painel e eventuais erros observados. Não tratar a submissão como indexação concluída.
- [ ] **Inspeção das 17 URLs:** inspecionar cada URL da lista acima; para cada uma, registrar cobertura/estado observado, URL canônica escolhida pelo site, canônica selecionada pelo Google quando exibida, divergência e ação de correção (se houver). A inspeção não autoriza alterar uma canônica sem evidência.
- [ ] **Baseline de 90 dias:** exportar ou registrar o ponto inicial separado por consulta, página/landing, dispositivo e localidade, com período e filtros explícitos. Registrar impressões, cliques, CTR e posição somente se o painel os fornecer; valores ausentes permanecem ausentes.
- [ ] **Relatórios de IA generativa:** se a conta oferecer relatório de IA ou configuração de inclusão, registrar o nome da área, período, dimensões e evidência disponível. Se não estiver disponível, registrar apenas “não disponível na conta consultada”; não inferir presença, tráfego ou citação.
**Evidência esperada:** export/captura sem credenciais, lista das 17 inspeções com canônicas e cobertura observadas, confirmação do sitemap e baseline reproduzível de 90 dias. Nada disso está presente neste repositório.
## Bing Webmaster Tools
- [ ] Verificar ou importar a propriedade `https://evandro.dev.br`; guardar somente a evidência do estado confirmado.
- [ ] Submeter `https://evandro.dev.br/sitemap.xml`; registrar confirmação e erros observados, sem concluir indexação por causa da submissão.
- [ ] Inspecionar as mesmas 17 URLs e registrar estado/canônica exibidos pela ferramenta.
- [ ] Consultar **AI Performance**, quando disponível na conta; registrar período, dimensões e evidência real, sem alegar citações ou tráfego.
**IndexNow:** excluído por enquanto. Não configurar ou executar até existir uma frequência de publicação suficientemente definida para justificar notificações de atualização.
**Evidência esperada:** propriedade, submissão, inspeções e relatório/configuração de AI Performance documentados por capturas ou export. Nenhuma ação Bing foi executada por este repositório.
## Cloudflare, robots e crawlers
A política precisa distinguir três finalidades, sem presumir que um mesmo crawler tenha todas elas:
1. **Busca:** descoberta/indexação em mecanismos de busca.
2. **Citação/resposta:** sistemas que recuperam conteúdo para responder e atribuir fonte.
3. **Treino:** coleta para treinamento de modelos; não confundir autorização de busca ou citação com autorização de treino.
- [ ] Comparar a resposta pública de `https://evandro.dev.br/robots.txt` com `app/robots.ts`: `User-Agent: *`, `Allow`, `Disallow`, `Host` e `Sitemap`; registrar divergências observadas e o horário da resposta.
- [ ] Conferir **Managed Robots** no painel e registrar quais regras efetivas estão ativas, sem alterar uma política apenas para fazer o painel coincidir.
- [ ] Conferir **AI Crawl Control** e registrar separadamente os controles para busca, citação e treino, quando a interface permitir essa distinção. Se a interface não diferenciar finalidades, registrar essa limitação em vez de inventar equivalência.
- [ ] Revisar **WAF** e exceções/regras que possam afetar crawlers; registrar somente regras observadas e a razão operacional de uma eventual mudança aprovada.
- [ ] Revisar logs por respostas `200`, `403` e `429`, agrupando por crawler identificado, rota, período e regra acionada. Separar tráfego de busca, citação e treino quando houver sinal verificável; caso contrário, marcar a classificação como inconclusiva.
**Evidência esperada:** cópia da resposta pública, comparação com `app/robots.ts`, estado das configurações Managed Robots/AI Crawl Control, regras WAF relevantes e amostra de logs `200/403/429`. Nenhuma configuração Cloudflare ou política de bots foi alterada por este runbook.
## Medição de experiência, descoberta e conversão
- [ ] Definir o período e o conjunto de páginas por template: home, hubs, serviço, case, currículo e privacidade.
- [ ] Coletar **p75 de LCP, INP e CLS** por template em CrUX e/ou RUM, separando dispositivo e período. Registrar origem (CrUX ou RUM), cobertura/amostra fornecida pela ferramenta e valores observados; não substituir ausência de dados por score de laboratório.
- [ ] Relacionar consultas e páginas de entrada com cliques/impressões quando fornecidos pelo Search Console ou Bing; preservar filtros e período do baseline.
- [ ] Definir conversão observável sem inventar meta: registrar o evento de contato aprovado e sua fonte, quando houver instrumentação consentida. Não atribuir resultado comercial sem evento e janela verificáveis.
- [ ] Medir o caminho interno **case → serviço → contato**, distinguindo entradas, cliques nos links e chegada ao destino; registrar abandono e limitações de atribuição, se mensuráveis.
- [ ] Registrar citações ou aparições reportadas por plataformas generativas somente com fonte, período, consulta/URL e captura/export. Não afirmar causalidade entre schema, crawler, conteúdo e citação.
**Consentimento:** qualquer medição que use analytics deve respeitar o comportamento implementado: antes de `granted`, nenhuma tag Google é carregada; a escolha usa `evandro.analytics-consent.v1` com `granted` ou `denied`; publicidade permanece negada. O runbook não adiciona tracker nem modifica esse fluxo.
**Evidência esperada:** export de CrUX/RUM com p75 e dimensões, consultas/landings, definição e contagem de conversões observadas, funil case→serviço→contato e registro de citações. CrUX/RUM e painéis de busca são evidência externa, não evidência do repositório.
## Reconciliação das 57 fontes
A matriz do design fecha a cobertura em seis grupos. Os números abaixo são reconciliação documental, não resultados de auditoria externa executada:
| Grupo | Fontes | Total | Decisão operacional registrada |
| --- | --- | ---: | --- |
| Google | G1–G13 | 13 | Conteúdo útil e original, uma canônica por intenção, schema visível, frescor sem datas fabricadas e medição no Search Console. |
| Bing + Web Vitals | B1–B3, W1 | 4 | Resposta factual cedo, páginas focadas, evidência e AI Performance; sem IndexNow prematuro e sem score alegado. |
| Schema.org | S1–S6 | 6 | `Person`, `Service`, `ProfilePage` e `BreadcrumbList` mínimos, conectados e coerentes com o conteúdo visível. A home descreve as três ofertas como nós `Service` (com `provider` ligado à `Person` e `areaServed`); a revisão aponta para `/ia`. O `areaServed` é um valor só em todo nó `Service`, home e páginas de serviço: Garuva, Joinville, Santa Catarina e Brasil, como no texto visível. Sem `ProfessionalService`, `LocalBusiness` nem catálogo de ofertas. |
| Next.js | N1–N7 | 7 | Metadata por rota, `generateMetadata`, imagens por segmento e build estático, sem pacote novo. |
| GEO/crawlers | A1–A2, C1–C4, L1 | 7 | Fontes visíveis, medição como experimento e política de bots apenas documentada; sem causalidade de citação. |
| Mercado observado | — | 20 | Clareza de intenção, links, projetos e prova de primeira mão; sem stuffing, testemunho, métrica ou autoridade inferida. |
| **Total** | | **57** | **Todos os grupos possuem decisão correspondente; nenhuma recomendação proibida foi reintroduzida.** |
## Exclusões que permanecem vigentes
Não criar, publicar, configurar ou recomendar como parte deste runbook:
- páginas-clone por cidade (incluindo Garuva, Joinville ou Curitiba), doorway pages ou conteúdo escalado;
- `llms.txt`;
- schema `FAQPage`, `ProfessionalService` ou `LocalBusiness` sem entidade/local comprovado;
- metadata `keywords`;
- entidades locais, endereços, coordenadas, preços, clientes, avaliações, volumes, rankings ou resultados comerciais não verificados;
- datas artificiais, `lastModified` fabricado, `changeFrequency` ou `priority` sem fonte operacional;
- allowlist de crawler executada sem política aprovada;
- qualquer alteração visual, de conteúdo, segurança, consentimento, dependência ou código como efeito implícito de uma ação externa.
A propriedade do site, o sitemap, as canônicas, o consentimento, os dados de campo e os relatórios de plataforma só podem ser considerados observados quando houver evidência externa anexada pelo operador. Até lá, o estado deste documento continua: **não executado neste repositório**.