131 lines
12 KiB
Markdown
131 lines
12 KiB
Markdown
# 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**.
|