Served, challenged or refused, per crawler

The bots access report now counts a crawler request the edge challenged as challenged rather than served, using the edge's own action from Cloudflare Logpush or Vercel first, then known captcha paths, and flags suspected challenges by size and timing.

A captcha page that answers 202 in a fraction of a second used to count as "served". On one site that made a crawler look 584 of 588 served in a week when most of its verified requests had been challenged.

What changed

  • Challenged is its own column on the bots access page, beside served and rejected, split by verified and unverified identity, with the paths where it happened. Served now means the edge let the request through.
  • The edge's own action comes first. Cloudflare Logpush feeds carry Cloudflare's security action and Vercel log drains carry the firewall action, so a challenge or block is recorded whatever status the request got. Known host captcha paths, such as SiteGround's, count next.
  • Suspected challenges are flagged, not subtracted: 2xx responses far below the page's normal size and time, only on feeds that measure both.
  • Honest limits. A Cloudflare Worker runs after Cloudflare's firewall, so a challenged request never reaches a Worker feed; the report and the feed state say so. Edge actions are recorded from today, so earlier weeks show challenges from known paths only.
  • The API's GET /public/v1/websites/{id}/bots/access, the MCP server's get_bot_access (1.23.0) and the CLI's bots-access (2.3.0) carry the new fields.
← Webflow and Lovable sites now get a guided setupEvery page now says what your feed can and can't measure →
← All changelog entries