CrawlCheck

Ferramentas grátis

Sete verificações grátis, sem cadastro

Em uma frase

A página de ferramentas grátis responde a duas perguntas em segundos e sem conta: se uma requisição nos seus logs de acesso que diz ser GPTBot, ClaudeBot, Googlebot ou outro rastreador nomeado vem mesmo desse operador (conferida com as faixas de IP que ele publica — verificada, falsificada ou não verificável, nunca só dois resultados), e se uma máquina consegue ler seu robots.txt, sitemap e llms.txt com o tipo de conteúdo certo, ou se um cache está entregando algo que seu servidor não produz mais.

Digite um domínio. Sem cadastro, nada instalado. Se uma máquina consegue ler seus arquivos, se aquele rastreador nos seus logs é real, o que seu robots.txt realmente permite a cada agente de IA, um primeiro rascunho do seu llms.txt a partir das páginas que você já publica, como você se compara a um concorrente, em que o Google pode se apoiar num vídeo do YouTube e se uma requisição de bot assinada vem mesmo do bot que ela nomeia.

Os achados mais comuns em todas as análises
Nenhum llms.txtNO_LLMS_TXT24.5%A página é quase só códigoPAGE_IS_MOSTLY_CODE22.4%Um cache entrega uma cópia desatualizadaSTALE_CACHE_SERVED17%Os arquivos para máquinas pesam mais que a páginaMACHINE_CHAIN_HEAVY10.3%Sem cabeçalho HSTSHSTS_MISSING7.4%Grupos de IA nomeados perdem as regras *ROBOTS_RULES_SHADOWED6.8%Nenhum sitemap XML encontradoNO_SITEMAP_FOUND6.6%Já existe uma exclusão de IAAI_OPTOUT_SET6.5%Parcela das 2,400 análises do conjunto de dados público que tinham o achado. Ao vivo; os mesmos números de /data.

Seu site é um deles? Verifique grátis → Todas as 52 taxas →

Uma máquina consegue ler seus arquivos?

Quatro requisições ao domínio informado: robots.txt, sitemap, llms.txt e a página inicial, lidos por tipo de conteúdo e idade do cache.

Quatro requisições ao site informado. Resultados em cache por dez minutos.

Aquele rastreador nos seus logs é real?

Cole linhas brutas do log de acesso. Cada uma que cita um rastreador conhecido é conferida com as faixas de endereços que esse operador realmente publica.

Esta é a verificação que quase ninguém faz, e ela inverte conclusões. Um log cheio de GPTBot com 403 dá a impressão de que seu host está bloqueando a OpenAI — até você descobrir que todos vieram de um único endereço usando sete nomes de rastreador diferentes. Medimos exatamente isso em sites reais. Agrupe por endereço antes de concluir qualquer coisa.

Nada é guardado. As linhas são avaliadas em memória e a resposta não é registrada.

O que seu robots.txt permite a cada rastreador de IA?

Uma busca do arquivo e depois cada mecanismo de resposta, índice de busca e rastreador de treinamento nomeado é resolvido como um rastreador faria: só o próprio grupo, a correspondência mais longa, allow vence no empate.

A regra que as pessoas entendem errado: um Disallow sob User-agent: * nunca se aplica a um agente que tem o próprio grupo. Cite o GPTBot uma única vez em qualquer lugar do arquivo e toda regra * deixa de valer para ele. Isto mostra o que realmente se aplica, por agente, no caminho que você escolher.

Uma requisição ao site informado. Rastreadores de treinamento são listados, não julgados.

Rascunhe um llms.txt a partir do que você já publica

Lê sua página inicial e até 25 páginas declaradas com os próprios títulos e descrições, e escreve um primeiro rascunho no formato de costume.

É um rascunho de propósito. Um arquivo gerado é uma lista de links com títulos como descrições; o valor do arquivo está na escolha. Corte-o para as páginas sobre as quais alguém perguntaria a um assistente, escreva você mesmo as descrições e sirva-o como text/plain e confira a URL pura — a verificação acima vai dizer se ele chegou.

Até 27 requisições ao site informado. Resultados em cache por dez minutos.

Como você se compara a um concorrente?

Duas páginas iniciais, a mesma análise nas duas: cada seção de que um mecanismo de resposta precisa, lado a lado, com os achados que só um de vocês tem.

Duas análises, ~20 segundos cada se algum dos sites for novo para nós. Nada é guardado além dos próprios relatórios. Precisa do mercado inteiro? Um site contra até cinco concorrentes.

Aquela requisição de bot assinada é real?

O Web Bot Auth permite que um bot assine cada requisição com uma chave que ele publica. Digite o host do bot ou cole os cabeçalhos de uma requisição assinada, e cada passo da verificação aparece: o diretório de chaves, as assinaturas nele, a impressão digital de cada chave, os componentes cobertos e a janela de tempo.

Um user-agent qualquer um digita; uma assinatura sobre o seu próprio nome de host, não. Uma chave só conta se assinou o diretório em que está, então uma lista de chaves copiada ou editada não prova nada. Funciona para qualquer agente que assine, não só o nosso.

Uma requisição ao diretório de chaves do agente. Cabeçalhos colados são verificados em memória e não são guardados; um nonce verificado só é lembrado até expirar, para detectar uma repetição.

Em que o Google pode se apoiar no seu vídeo?

Cole uma URL do YouTube: capítulos, tipo de legenda, descrição, idioma e temas, cada linha comparada ao que um resultado de busca pode usar como âncora. Canais inteiros e a ligação com o site estão no Watch.

Três resultados, nunca dois

Verificada

O endereço está dentro da faixa que o operador publica. A requisição é o que diz ser.

Falsificada

O operador publica faixas e este endereço está fora de todas. Outra pessoa está usando o nome.

Não verificável

O operador não publica nenhuma lista, então a identidade não pode ser confirmada nem apontada como falsa. Amazonbot e Meta-ExternalAgent ficam aqui permanentemente.

Contar as não verificáveis como falsas inflaria a taxa; contá-las como genuínas a subestimaria. Por isso a taxa de falsificação divide só por verificadas mais falsificadas, e a resposta informa esse denominador em vez de deixar você supor um.

O que as duas verificações pegam

A verificação de arquivos para máquinas busca seu robots.txt, llms.txt e o sitemap como um rastreador faria e lê o tipo de conteúdo e o corpo, não só o status. A falha para a qual ela existe: um escudo contra bots ou uma página de verificação respondendo HTTP 200 com HTML onde deveria haver um arquivo de texto. Todo monitor de disponibilidade diz que está tudo bem. Um validador interpreta isso como “nenhuma diretiva”, o que significa tudo liberado — o exato oposto do que o seu arquivo diz. Vimos uma página de verificação ser entregue assim como robots.txt a todos os rastreadores, inclusive o Googlebot, em cache no edge, por horas. A verificação faz uma requisição por arquivo e informa o que uma máquina realmente interpretaria.

A verificação de purga responde a uma pergunta que o painel da sua CDN não responde: a purga que você acabou de rodar realmente removeu alguma coisa? Ela busca a URL antes e depois sem burlar o cache, compara os bytes e lê os cabeçalhos age e de status de cache. A falha para a qual ela existe: uma API de purga que retorna 200 numa camada de cache enquanto outra camada — Varnish na frente de uma origem, ou uma regra de edge fixando um TTL — continua entregando os bytes antigos. Um 200 de um endpoint de purga fala da chamada à API, não do cache. Publicamos uma alteração, purgamos, recebemos um 200, e a URL anônima entregou o arquivo antigo por mais uma hora; essa hora é o motivo deste script.

Quando rodar: depois de qualquer alteração num arquivo para máquinas, depois de qualquer mudança de configuração de cache ou CDN, e sempre que uma correção voltada a rastreadores “deveria” estar no ar. O único hábito que importa: confira a URL pura de fora da sua própria sessão, porque o seu navegador logado é o cliente menos representativo do seu site.

Leve os scripts

As mesmas duas verificações, para um terminal. São as que nós usamos.

Nenhuma é um produto. São as verificações que pegaram falhas reais neste projeto, publicadas porque um texto que descreve uma ferramenta que você não pode ter é propaganda.

cachecheck.sh

Verifica se um cache está entregando um documento que a sua origem não produz mais. Ignora totalmente os códigos de status: um PURGE que retorna 200 prova que algo respondeu, não que algo foi removido. Busca a URL pura e uma versão sem cache, compara as duas e se recusa a julgar quando uma das leituras é uma página de verificação.

Ver ou baixar → · curl -sO https://crawlcheck.io/tools/cachecheck.sh

verify.sh

Verifica se uma alteração que você publicou está mesmo na página que um estranho recebe. Conta sua marcação fora das tags style e script, para que um nome de classe numa folha de estilos não passe por um elemento da página; busca três vezes para que tudo o que é condicional apareça; e informa que mede a visão anônima.

Ver ou baixar → · curl -sO https://crawlcheck.io/tools/verify.sh

Use, altere, sem precisar dar crédito. Eles não fazem nenhuma requisição de rede além da URL que você passar.

Quer que a verificação rode para você, duas vezes por dia?

Estas duas rodam quando você lembra de rodar. As mesmas verificações agendadas, com um aviso assim que um resultado muda, é o que se chama monitoramento. Deixe um endereço e avisamos quando estiver pronto — sem conta, e nada é enviado até lá.

Um endereço, um único propósito. Os scripts acima continuam grátis e não precisam de nada disso.

Comece pelo que você está verificando

Perguntas sobre esta página

PComo verifico se uma requisição de bot assinada é real?
Use o verificador de assinaturas desta página. Informe o host de um bot e ele busca o diretório de chaves em /.well-known/http-message-signatures-directory sem seguir redirecionamentos, confere o tipo de conteúdo, calcula a impressão digital RFC 7638 de cada chave e verifica as assinaturas do próprio diretório, de modo que uma chave só conta se assinou o diretório em que está. Cole os cabeçalhos de uma requisição assinada e ele verifica a assinatura dela com uma chave comprovada desse jeito, mostrando os componentes cobertos e a janela de tempo. Funciona para qualquer agente Web Bot Auth, não só o nosso.
PComo o verificador de logs decide se uma requisição é real?
Cada linha que cita um rastreador conhecido é conferida com as faixas de IP que esse operador publica (OpenAI, Anthropic, Perplexity, Google, Bing, Apple). Dentro de uma faixa publicada é verificada; fora de todas, falsificada; um operador sem lista publicada (Amazonbot, Meta-ExternalAgent) é não verificável e não entra em nenhuma das duas contas.
PAlgo do que eu colo é guardado?
Não. Até 200 linhas são avaliadas em memória e a resposta não é registrada.
PO que a verificação de domínio procura?
Quatro requisições: robots.txt, sitemap.xml, llms.txt e a página inicial. Ela informa se cada arquivo é entregue com o tipo de conteúdo certo (um robots.txt que retorna HTML é ilegível para um rastreador mesmo com 200) e se a cópia entregue é mais antiga do que a origem produz.
PPor que uma purga que retornou 200 ainda entrega bytes antigos?
Um 200 de um endpoint de purga fala da chamada à API, não do cache. A verificação lê os cabeçalhos de idade da cópia entregue em vez de confiar na resposta da purga.

Continue lendo