Os robôs estão fazendo provas no meu Search Console
Numa janela recente de 28 dias, meu site acumulou 3,78 milhões de impressões no Google Search Console, e 91% delas vieram de consultas que nenhum humano digitou.1 A pista foi um post de blog sobre os hooks do Claude Code que parecia um estouro: 30.000 impressões nas duas primeiras semanas, com uma taxa de cliques de 0,14%. Toda cartilha de SEO diz que uma página com impressões enormes e um CTR morto precisa de um resgate de título. Então puxei as consultas reais, e as primeiras eram questões de prova de múltipla escolha, coladas no Google literalmente, de seis jeitos ligeiramente diferentes: “a developer wants to prevent claude from reading sensitive .env files. which type of hook…” Ninguém clica, porque não há ninguém ali. Quem pesquisa é um quiz de certificação conferindo o próprio gabarito.
TL;DR
- Um post com 13 dias atraiu 30.105 impressões a 0,14% de CTR, o perfil clássico de um título quebrado. As consultas por trás eram questões de prova literais e strings de jargão de SDK; consultas humanas genuínas contavam-se nos dedos. O título estava bom. O público era sintético.4
- No site inteiro, 3,78 milhões de impressões em 28 dias encolhem para 340 mil (9%) assim que você exclui consultas contendo aspas duplas ou sublinhado, uma assinatura de consulta de máquina barata mas eficaz. O CTR filtrado quase triplica, de 0,42% para 1,10%, e a posição média melhora de 11,2 para 7,7.1
- As consultas de máquina se dividem em três espécies com valor completamente diferente: candidatos a prova (questões de teste em linguagem natural, zero clique para sempre), coladores de erro (strings de erro literais, CTR de 3 a 10%, os visitantes de maior intenção que eu tenho) e varreduras de recuperação (frases entre aspas e identificadores em snake_case em escala industrial, CTR de ~0,35%).
- Nenhuma regex separa humanos de máquinas de forma limpa. As questões de prova se leem como humanas e não são; os coladores de erro parecem robóticos e são pessoas em apuros. A forma da consulta mente; o comportamento de clique diz a verdade.
- A mudança prática: nunca otimize um título, nem entre em pânico com uma página “em declínio”, antes de separar as consultas dela em humanas e de máquina. As impressões deixaram de ser uma métrica de vaidade e viraram uma métrica mista.
O post que quase recebeu um resgate de título
O post em questão, uma explicação dos hooks do Claude Code, foi ao ar em 1º de julho. Até 13 de julho, ele tinha acumulado 24.377 impressões na primeira semana e mantinha esse ritmo na segunda. Meu painel o sinalizou do jeito que painéis fazem: exposição enorme, 43 cliques no total, 0,14% de CTR a uma posição média de 6,6.4
Tenho uma cartilha comprovada para exatamente esse perfil. Um guia deste site ficou parado em 1,4 milhão de impressões com 0,28% de CTR até uma reescrita de título, então o reflexo era forte: reescrever o título, ver o CTR se recuperar, contar as vitórias.
O reflexo sobreviveu até o relatório de consultas carregar. A consulta principal, 191 impressões na maior variante e 254 em toda a família, era uma questão de prova completa, opções e tudo, no registro chapado de um banco de certificação. Seis formulações quase idênticas da mesma questão atingiram três posts diferentes sobre hooks no meu site, mais as traduções em alemão, francês e polonês.4 Zero cliques em todas. Em segundo lugar vinha “anthropic agent sdk hitl lifecycle hooks pretooluse”, que nenhum humano jamais digitou com os dedos. As consultas genuinamente humanas, daquelas com erros de digitação e esperança dentro, somavam um único dígito.
Reescrever um título otimiza o único elemento de um resultado de busca que só humanos leem. O público da montanha de impressões não lê títulos. Ele lê trechos de resposta, ou nada. Eu teria gastado a mudança com leitores que nunca estiveram ali, e depois tirado exatamente a conclusão errada quando o CTR não se mexesse.
Três espécies de consulta de máquina
Quando soube o que procurar, puxei as consultas com assinatura de máquina do site inteiro. Elas não são um fenômeno. São três, e confundi-las custa dinheiro de verdade.
| Espécie | Exemplo | Volume | CTR | Quem é |
|---|---|---|---|---|
| Candidatos a prova | “a developer wants to prevent claude from reading sensitive .env files. which type of hook…” | Centenas de impressões por família de questões | 0% | Geradores de quiz, ferramentas de preparação para certificação ou agentes corrigindo respostas |
| Coladores de erro | “userpromptsubmit hook timed out after 60s” | De dezenas a centenas por string de erro | 3-10% | Humanos (ou seus agentes) no meio de uma depuração |
| Varreduras de recuperação | Frases entre aspas, identificadores em snake_case, jargão de SDK | Milhões de impressões | ~0,35% | Assistentes verificando e recuperando em escala |
Os candidatos a prova são a coorte mais estranha. As consultas são inglês gramatical, então passam por qualquer filtro humano ingênuo, e ainda assim se comportam como nenhum pesquisador humano: famílias de questões idênticas, repetidas ao longo de semanas, distribuídas entre idiomas, sem um único clique jamais. Meu melhor palpite sobre a origem, e quero deixar claro que é um palpite: testes de prática gerados por IA e ferramentas de preparação para certificação que validam os próprios gabaritos contra resultados de busca reais, mais alguns estudantes colando questões de quiz inteiras. O Google conta cada uma como uma impressão na minha página, porque minha página apareceu de fato nos resultados.2 A impressão é real. O leitor não é.
Os coladores de erro são o oposto, e são a razão pela qual um filtro grosseiro de “apagar todas as consultas com cara de máquina” destrói valor. Um erro colado como xcrun: error: unable to find utility "mcpbridge" dispara o filtro pelo nome do utilitário entre aspas, e recebe cliques a 6,25% a partir da posição 2,7. “failure in void _uiapplicationevaluateruntimeissuefornoscenelifecycleadoption” carrega seu sublinhado até um CTR de 9,68%. Identificadores de configuração se comportam do mesmo jeito: “codex trust_level” a 8,70%, “hermes custom_providers” a 4,55%.1 Esses números batem meu CTR humano do site inteiro por um fator de três a nove. O texto da consulta é escrito por máquina, porque foi escrito por um compilador ou por um esquema de configuração, mas a pessoa que o cola tem um problema agora e vai ler qualquer coisa que combine. Os visitantes de maior intenção do meu site chegam fantasiados de robô.
As varreduras de recuperação são o grosso dos 3,4 milhões. Strings exatas entre aspas, nomes de superfície de API, fragmentos de documentação. Meu post anterior, Os assistentes agora são o público, rastreou o lado da entrega do mesmo fenômeno na borda da rede: cerca de 17.000 requisições de agentes de IA por dia contra cerca de 300 visitantes humanos, a maior parte recuperação ao vivo dirigida por usuários em vez de rastreamento para treinamento.5 Os dados do Search Console fecham o ciclo pelo lado da demanda. Os assistentes não só buscam minhas páginas; eles também disparam pesquisas no Google no caminho, e o Google registra obedientemente cada uma como uma impressão, posição e tudo.
Quanto do Search Console ainda é humano
O filtro que uso é uma única expressão regular. Na API do Search Analytics, exclua consultas que casem com ["_], qualquer consulta contendo aspas duplas ou um sublinhado:
{
"dimensionFilterGroups": [{
"filters": [{
"dimension": "query",
"operator": "excludingRegex",
"expression": "[\"_]"
}]
}]
}
Strings entre aspas sinalizam verificação de correspondência exata, que humanos raramente se dão ao trabalho de fazer. Sublinhados vêm de identificadores, e identificadores vêm de código, não de polegares.3 Passando meus últimos 28 dias por ele:
| Fatia | Impressões | Cliques | CTR | Posição média |
|---|---|---|---|---|
| Tudo | 3.776.076 | 15.911 | 0,42% | 11,2 |
| Filtrado humano | 340.267 | 3.729 | 1,10% | 7,7 |
| Restante com assinatura de máquina | 3.435.809 | 12.182 | 0,35% | 11,6 |
O filtro é uma heurística, e falha nas duas direções. As questões de prova passam por ele, já que não contêm nem aspas nem sublinhados, então a fatia de 91% de máquina é um piso, não um teto. E os coladores de erro reprovam nele apesar de serem o tráfego mais humano que eu tenho. Trato a fatia filtrada como “majoritariamente humana, subestimada” e o restante como “majoritariamente máquina, mais meus melhores visitantes de depuração”, e confiro as listas de consultas a olho antes de qualquer decisão que custe esforço.
A distorção vai além do CTR. As consultas de máquina arrastam minha posição média aparente de 7,7 para 11,2, porque as varreduras de recuperação sondam formulações de cauda longa em que minhas páginas ranqueiam em qualquer lugar. Um painel que mistura as fatias reporta um site escorregando nos rankings enquanto a experiência humana se mantém firme.
O guia que parecia estar morrendo
A mesma divisão resgatou minha leitura de uma página maior. Meu guia do Hermes mostra 763.439 impressões nos últimos 28 dias com 569 cliques: um CTR de 0,075% a uma posição média combinada de 13,5. Ao pé da letra, a página desabou. Sua linha de base só humana rastreada é um CTR de 1,53% na posição 8,5, e a última semana filtrada humana ainda segura a posição 8,4.1
As duas leituras descrevem a mesma página no mesmo mês. O número combinado diz que o guia está falhando; o número filtrado diz que os humanos o encontram exatamente onde sempre encontraram, enquanto um oceano de recuperação de máquina subia em volta. Mudança de composição, não perda de ranking. Se eu tivesse confiado na visão combinada, os movimentos naturais teriam sido uma reescrita, um título novo, talvez uma migração de URL: cirurgia cara num paciente saudável.
Agora presumo que qualquer página estabelecida pode mostrar o mesmo sintoma, e apostaria que a maioria dos “declínios de desempenho” do Search Console em nichos pesados de IA se decompõe do mesmo jeito. O denominador mudou de espécie.
O que eu realmente mudei
Separar antes de decidir. Todo julgamento de CTR, experimento de título e investigação de declínio no meu site agora começa com a passada do filtro humano e uma varredura manual das 20 consultas principais. Cinco minutos lendo o texto das consultas reverteram repetidamente a conclusão que o agregado sugeria.
Alimentar os coladores de erro de propósito. Strings de erro exatas são as melhores palavras-chave que eu nunca escolhi. As páginas que combinam com elas ficam nas posições 2 a 4 e convertem a taxas de emergência de depuração. Mensagens de erro, chaves de configuração e saída de CLI agora ganham títulos literais nos meus posts técnicos, porque alguém colando aquela string no Google é o visitante mais resgatável da internet.
Parar de cortejar os candidatos a prova. Zero cliques significa zero, para sempre. Um banco de questões conferindo seu gabarito não pode ser convertido por nenhum título, trecho ou marcação schema. A única resposta racional é ignorar esse volume ao julgar uma página, e talvez curtir o fato de que alguma prova de certificação, em algum lugar, aparentemente calibra as respostas pelo meu blog.
Reportar números humanos ou não reportar nada. Meus próprios painéis agora traçam a fatia filtrada, anotam a combinada e guardam os snapshots diários no git para que mudanças de composição continuem visíveis ao longo do tempo. Impressões ainda importam, mas só depois que você sabe quem está impressionando quem.
A mudança mais profunda combina com onde o último post terminou. Os assistentes leem minhas páginas 17.000 vezes por dia na borda, e agora posso vê-los formar fila na porta da frente do Google no caminho. O Search Console virou discretamente um registro de curiosidade de máquina com um fino córrego humano correndo por ele. O córrego é a parte que presta atenção. Meça o córrego.
Perguntas frequentes
Quantas das minhas impressões do Search Console vêm de humanos?
Das impressões, cerca de 9%; os outros 91% têm forma de máquina. Numa janela recente de 28 dias acumulei 3.776.076 impressões, e excluir consultas que contêm aspas duplas ou um sublinhado encolhe isso para 340.267, cerca de 9%. O CTR filtrado quase triplica, de 0,42% para 1,10%, e a posição média melhora de 11,2 para 7,7. Os 91% são um piso, e não um teto, porque as questões de prova passam pelo filtro.1
Como filtro consultas de máquina do Search Console?
Uma expressão regular. Na API do Search Analytics, adicione um filtro de dimensão query usando o operador excludingRegex com a expressão ["_], que descarta qualquer consulta contendo aspas duplas ou um sublinhado. Strings entre aspas sinalizam verificação de correspondência exata, que humanos raramente se dão ao trabalho de fazer, e sublinhados vêm de identificadores, e identificadores vêm de código, não de polegares.3
Por que meu post tem impressões enormes e um CTR quase zero?
Leia as consultas antes de tocar no título. Um post meu sobre os hooks do Claude Code atraiu 30.105 impressões a 0,14% de CTR em menos de duas semanas, o perfil clássico de um título quebrado. As consultas principais eram questões de prova de múltipla escolha literais e strings de jargão de SDK, e as consultas genuinamente humanas somavam um único dígito. O título estava bom. O público era sintético.4
Todas as consultas com forma de máquina são inúteis?
Não, e um filtro grosseiro de “apagar todas as consultas com cara de máquina” destrói valor. Coladores de erro disparam a assinatura por nomes entre aspas e sublinhados enquanto são os visitantes de maior intenção que eu tenho: xcrun: error: unable to find utility "mcpbridge" recebe cliques a 6,25%, e “codex trust_level” a 8,70%. Candidatos a prova, em contraste, nunca clicam. A forma da consulta mente; o comportamento de clique diz a verdade.1
Minha página está mesmo perdendo posições?
Separe as consultas antes de concluir isso. Meu guia do Hermes mostrava 763.439 impressões e 569 cliques em 28 dias, um CTR de 0,075% a uma posição média combinada de 13,5, o que se lê como colapso. Sua linha de base só humana rastreada é um CTR de 1,53% na posição 8,5, e a última semana filtrada humana ainda segura a posição 8,4. Mudança de composição, não perda de ranking.1
Referências
-
Análise do autor dos dados do Google Search Console para blakecrosley.com via API do Search Analytics, janela de 28 dias de 16 de junho a 13 de julho de 2026. Sem filtro: 3.776.076 impressões, 15.911 cliques. Após excluir consultas que casam com
["_]: 340.267 impressões, 3.729 cliques. Linhas por consulta citadas literalmente da mesma extração; linha de base do guia do Hermes a partir dos snapshots filtrados humanos rastreados pelo site. ↩↩↩↩↩↩↩ -
Google, Relatório de desempenho (Pesquisa), que define uma impressão como um link aparecendo num resultado de pesquisa visto por quem pesquisa, sem exigência de que quem pesquisa seja uma pessoa. ↩
-
Google, Search Analytics API: query, documentando
dimensionFilterGroupse o operadorexcludingRegexusados no filtro humano. ↩↩ -
Análise do autor, extração de Search Analytics por página para /blog/claude-code-hooks-explained, de 30 de junho a 13 de julho de 2026: 43 cliques em 30.105 impressões a uma posição média de 6,6, com a família de questões de prova totalizando 254 impressões e zero cliques em nove páginas e três idiomas. ↩↩↩↩
-
Blake Crosley, Os assistentes agora são o público, dados em primeira mão da borda da Cloudflare sobre o volume de requisições de agentes de IA versus visitantes humanos; a média atual de 7 dias é de cerca de 17.000 requisições de agentes por dia contra uma média humana de 28 dias perto de 300 visitantes por dia. ↩