Os bots do CoreDash: o que pedem e como os reconhecer

O CoreDash/1.0 nos logs é um de dois bots do CoreDash, e ambos só abrem páginas pedidas por clientes do CoreDash.

Quem opera os bots do CoreDash e por que razão visitam páginas

Em resumo

  • O CoreDash tem dois bots: a verificação de uptime pede uma página a cada 30 minutos, e a auditoria cRUM, um teste de velocidade a uma página individual, carrega-a uma vez no Chrome quando um cliente abre o relatório dessa página.
  • Ambos enviam um user agent que começa por CoreDash/. Os respetivos endereços estão em ips.json, e os clientes do CoreDash recebem também um token secreto num header.
  • Para permitir o acesso, autorize o user agent. Se preferir não os receber, contacte o CoreDash e as visitas param.

O CoreDash é uma ferramenta de monitorização de utilizadores reais para Core Web Vitals. Os proprietários de websites usam-na para ver a velocidade a que as páginas carregam para visitantes reais, no telemóvel e no computador. O CoreDash tem sede em Bergen op Zoom, nos Países Baixos, e opera diretamente ambos os bots.

Um bot do CoreDash só visita uma página quando um cliente do CoreDash o solicita: ao adicionar a página a um monitor de uptime ou ao abrir a respetiva auditoria. Os bots não seguem links e nunca procuram páginas por iniciativa própria. Nada do que recolhem vai parar a um índice de pesquisa nem treina modelos de IA. Os resultados são entregues ao cliente que os pediu e a mais ninguém.

User agents do CoreDash

CoreDash/1.0 (uptime; +https://www.coredash.app/bot)
CoreDash/1.0 (audit; +https://www.coredash.app/bot)

A palavra entre parênteses indica qual dos bots enviou o request, e o link leva a esta página. Todas as ferramentas do CoreDash enviam um user agent que começa por CoreDash/, incluindo ferramentas que venham a ser adicionadas. Uma pesquisa nos logs ou uma regra na firewall para CoreDash/ encontra-os a todos. No entanto, qualquer pessoa pode enviar esse nome. Confirme também no ips.json o endereço de onde o request partiu.

A verificação de uptime e a auditoria cRUM

No log de acesso de um servidor, os dois bots aparecem assim: a verificação de uptime à hora certa e à meia hora, e uma auditoria a carregar uma página juntamente com o respetivo CSS e uma imagem.

Nginx access log of www.example-shop.com: CoreDash uptime checks at 13:00, 13:30 and 14:00 asking for the home page, and a CoreDash audit loading /checkout/ with its CSS and an image, between normal visitors

O log de acesso de www.example-shop.com.

A verificação de uptime

Um cliente adiciona um URL a um monitor de uptime no CoreDash. A partir daí, a verificação de uptime pede esse URL a cada 30 minutos: um servidor do CoreDash à hora certa, o outro à meia hora. São 48 verificações por dia para cada monitor.

Cada verificação é um request GET para o HTML, mais um por cada redirecionamento, até cinco seguidos. Lê no máximo os primeiros 256 KB da resposta e não carrega imagens, scripts nem CSS. Se o cliente tiver introduzido o endereço IP do servidor do site, cada verificação envia também um request direto a esse servidor, sem passar pela CDN, para confirmar se o próprio servidor responde. O CoreDash guarda o código de estado e os tempos, e nada da página em si.

A auditoria cRUM

A auditoria cRUM é o teste de velocidade do CoreDash para uma página individual. É executada quando um cliente abre o relatório dessa página no CoreDash, e novamente se o reiniciar ou alternar entre telemóvel e desktop. Não há agendamento: uma página cujo relatório ninguém abre nunca recebe uma auditoria.

A auditoria carrega a página uma vez no Chrome, com a cache desativada, como um visitante que acede pela primeira vez num telemóvel ou num computador. O Chrome vai então buscar tudo o que a página pede — o CSS, scripts e imagens —, tal como faria para qualquer outro visitante. Nos logs, vê-se o request da página com _cache_bust= e um timestamp adicionado ao URL, seguido dos requests para os respetivos ficheiros, todos com o user agent da auditoria.

Os ficheiros que a página carrega a partir de outro site, como uma web font ou um script de analytics, saem igualmente com o user agent da auditoria. Se alojar um ficheiro destes, o CoreDash pode surgir nos logs para uma página que não é sua. Cada um desses requests faz parte do carregamento da página escolhida pelo cliente.

Como confirmar se um request veio do CoreDash

O CoreDash publica os endereços a partir dos quais os seus bots operam em app.coredash.app/bot/ips.json. É um ficheiro JSON no formato que a Google usa para os endereços dos seus crawlers, com um campo service que indica "uptime" ou "audit" para cada endereço. Um request com um user agent do CoreDash vindo de um endereço que não conste desse ficheiro não veio do CoreDash.

Estes endereços podem mudar: o CoreDash adiciona ou transfere servidores de tempos a tempos. Consulte sempre o ficheiro no seu estado atual. O campo creationTime muda a cada alteração da lista.

Os clientes do CoreDash têm uma segunda forma de verificação. Cada projeto tem o seu próprio token secreto de bot, e ambos os bots enviam-no no header X-CoreDash-Bot quando visitam o site do próprio projeto ou um dos seus subdomínios. Uma visita a qualquer outro site não inclui token. O token está no CoreDash em Definições do projeto, no separador "CoreDash bot token".

Autorizar os bots do CoreDash na firewall

Por vezes, uma firewall ou CDN confunde os bots do CoreDash com bots não confiáveis e bloqueia-os. Para permitir o acesso, autorize os requests cujo user agent comece por CoreDash/. Se o site estiver no seu projeto do CoreDash, uma regra com o token de bot é mais segura, já que apenas os requests do seu projeto o incluem. Autorize os endereços IP apenas se nada mais funcionar, e tenha em conta que estes podem mudar. Autorizar os bots do CoreDash na CDN ou firewall tem os passos necessários para Cloudflare e AWS WAF.

Porque é que os bots do CoreDash não leem o robots.txt

O ficheiro robots.txt indica aos crawlers que páginas podem visitar quando percorrem um site por iniciativa própria. Os bots do CoreDash nunca fazem isso. Cada visita é iniciada por um cliente, da mesma forma que o Lighthouse carrega uma página quando alguém executa um teste. É por isso que nenhum dos bots lê o robots.txt, e uma linha Disallow não os impede.

Parar os bots do CoreDash no seu site

Se tiver dúvidas sobre os bots ou preferir não os receber no seu site, contacte o CoreDash através da página de contacto. Envie o URL e uma linha do CoreDash retirada dos logs. O CoreDash deixará então de visitar o seu site.

Bots do CoreDash: user agents, lista de IPs e o que pedem Core Web Vitals Bots do CoreDash: user agents, lista de IPs e o que pedem