# 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**.