Every page now says what your feed can and can't measure

A feed-state line at the top of every report page, in every API receipt and as an MCP tool, says whether the feed is verified, proxied or silent, what it stores, and which fields it can't carry. Checks that need a missing field switch themselves off and say why.

Different ways of sending logs see different things. A Cloudflare Worker often cannot see the size of a page, Vercel's drain carries no sizes or timings, and server logs vary by format. Until now the reports treated a missing value as a zero, which is how a soft 404 check could flag a site's robots.txt as a tiny error page.

What changed

  • A one-line feed state sits under the header on every report page: verified, proxied or silent; the feed type; when the last event arrived; whether all traffic or bots only is stored; whether visitor addresses are visible, masked or dropped; and any field this feed does not measure. Click it for the detail and the reason for each gap.
  • Coverage is measured, not assumed: a nightly job counts how many of the last seven days' rows carry a page size, a response time, a user agent and a network number for each site.
  • Checks switch themselves off when their field is not measured, and say so where the result used to be. Soft 404 detection and page-weight figures need page sizes; response-time checks and the slow-paths recommendation need timings. A check that runs on part of a feed says what share it covered.
  • Soft 404 detection now ignores any row stored without a size, on every feed.
  • The API gains GET /public/v1/websites/{id}/feed-state, and the receipt on every per-website response carries the same line, so a figure quoted from the API or the MCP server travels with what the feed could and could not see. The MCP server adds get_feed_state (1.22.0) and the CLI feed-state (2.2.0).
  • The Cloudflare Worker now records a missing size as unknown rather than 0. Sites keep their existing Worker until it is redeployed; the coverage figures cover both.

Read the feed state help section for what each state and field means.

← Served, challenged or refused, per crawlerFigures you can quote: data as of, final, one window per page, and robots.txt by day →
← All changelog entries