How we measure what AI agents actually read

By Rafi ·

Key takeaways

This page covers: What each number means; The pipeline; Worked example: this site; Reproduce it; Limitations; What to do with this; About the author; Experience & expertise.

This post is for anyone evaluating those claims: a pilot customer reading their audit report, or a skeptic who wants to run the measurement on their own site. It covers what each number means, the measurement pipeline, a worked example, and the limitations; it does not cover the audit rubric itself, which has its own post.

Every draft in the SiftServe review desk ships with two things: an audit score and a set of capture stats. The audit score comes from the 80-item check we covered in the CORE-EEAT scoring methodology post. This post is about the other half: the capture stats (page weight, token cost, and readable-content yield) and how we measure them, so you can check our math instead of taking it on faith. These are also the numbers we quote about ourselves: ~90% fewer tokens per page, +37% more readable content, 114 KB → 29 KB on our own homepage.

The common assumption is that AI crawlers work like browsers — rendering JavaScript, loading images, seeing what a human visitor sees. The evidence says otherwise. No major AI crawler executes JavaScript (Vercel × MERJ analyzed 500M+ GPTBot fetches and found zero JS execution). Because most modern sites rely on client-side rendering, 57% of top sites show AI crawlers a nearly empty page (ModPageSpeed, May 2026). Measuring what an agent actually reads starts with fetching the way an agent fetches. Two common problems follow from this: facts locked inside images are invisible to a text crawler (the sifting step restates them as text), and content that renders client-side never reaches the measurement at all.

What each number means

Capture stats are the four measurements SiftServe reports for every page: page weight, token cost, readable-content yield, and coverage. Together they describe how much an AI agent can actually read of a page, and at what cost.

Page weight (KB)
The raw HTML response an AI agent downloads on one fetch, measured before and after sifting. No images and no JavaScript execution — what renders client-side never reaches this measurement.
Token cost
What that document costs against an agent's context budget once tokenized. Agents budget tokens, not kilobytes; a page that is cheap in KB can still be expensive in tokens.
Readable-content yield
The share of the document that is content an agent can use (body copy, facts, headings, structured data) rather than markup, class names, scripts, and chrome.
Coverage
The 1:1 trace check. Every claim in the original must be present in the sifted copy; 100% coverage means nothing was summarized away, and the audit fails a draft that drops a fact.

The pipeline

  1. Fetch like an agent. One raw HTTP GET with a crawler user-agent. No JavaScript, no rendering: the document GPTBot or ClaudeBot receives.
  2. Extract what's readable. Strip <head>, scripts, styles, and inline SVG; collapse the markup; keep text and structured data. This mirrors what a non-rendering reader can use.
  3. Count. Document bytes, extracted-text bytes, and tokens for both.
  4. Sift, then measure again. The same pipeline runs on the sifted document: semantic HTML, FAQs, structured data, and facts that were locked inside images restated as text.
  5. Audit both. The original and the sifted copy each get the full 80-item CORE-EEAT check. That pair of scores (like the 33 → 44 on our own homepage) is what the review desk shows.

Worked example: this site

MeasurementOriginal pageSifted page (v10)
Page weight368 KB32 KB (−91%)
Readable text (live, 2026-08-26)11,957 bytes · 1,885 words16,787 bytes · 2,700 words
Readable-content yield3.2%~51%
Coverage96% (3 items flagged)
CORE-EEAT audit score6576

We sift our own site, so it is the example we can show end to end. The numbers below are the homepage's published capture stats — version 10, the sift currently serving AI traffic — plus a live measurement from 2026-08-26 that you can re-run yourself with the snippet in the next section.

On this measurement: the original page weighs 368 KB; the sifted page (v10) is 32 KB (−91%). Readable text (live, 2026-08-26) runs to 11,957 bytes · 1,885 words on the original and 16,787 bytes · 2,700 words on the sifted page. Readable-content yield is 3.2% on the original and ~51% on the sifted page. The CORE-EEAT audit score moves from 65 (original) to 76 (sifted, v10).

The read, in tokens: the original document is 376,286 bytes. At the ≈4-characters-per-token estimate (OpenAI's published rule of thumb for English text), that is roughly 94,000 tokens of document for roughly 3,000 tokens of readable text. We measured and found that about 97% of what an AI agent downloads here is delivery, not content. And this is an already-clean, statically rendered page; it weighed 114 KB at draft v6 and grew to 368 KB after a mobile-performance pass inlined its CSS, which speeds up the page for human visitors and is pure overhead for a text crawler. The sifted copy hands the same agent about 8,300 tokens, roughly half of it readable content, and it carries more readable text than the original (16,787 vs 11,957 bytes, +40% on this measurement) because sifting restates facts locked inside images and adds FAQs and structured data.

What 96% coverage looks like in practice: three source items were not carried into v10 — a section heading and two near-duplicate FAQ entries that review deduplicated. Each one is listed by name in the review desk, and publishing meant signing off on exactly that list.

That ratio is the mechanism behind the headline numbers. Serving an agent just the content, instead of the whole delivery vehicle, is where ~90% fewer tokens per page comes from (−91% on this page). Restoring what the original hid from non-rendering readers (facts inside images, FAQs, structured data) is where +37% more readable content comes from; today's measurement reads +40%, and we quote the conservative figure. The per-page numbers behind both ship in every pilot's audit report.

Reproduce it

The human-view measurement needs nothing but curl and Python:

Measure page weight and readable-content yield with curl and Python
curl -s https://siftserve.com/ | wc -c
curl -s https://siftserve.com/ | python3 -c "
import re, sys
h = sys.stdin.read()
h = re.sub(r'<head[\s\S]*?</head>|<script[\s\S]*?</script>|<style[\s\S]*?</style>|<svg[\s\S]*?</svg>', ' ', h)
t = re.sub(r'<[^>]+>', ' ', h)
t = re.sub(r'\s+', ' ', t).strip()
print(len(t.encode()), 'bytes of readable text,', len(t.split()), 'words')"

Point it at your own homepage and you have your own content yield in under a minute.

Limitations

What to do with this

The capture stats turn "AI-readable" into numbers you can check. If you run the snippet on your own homepage and the yield comes back under 10%, most of what an agent downloads from you is markup. That is the gap sifting closes, and the what-is-SiftServe guide explains how. To see the full measurement run on your site, become a research partner.

About the author

Rafi is an Engineering Leader turned founder with 17+ years of experience architecting large-scale data and AI-driven systems, with a strong foundation in machine learning, personalization systems, and data platform engineering.


Key facts

Visual content

Main image: A minimalist beige SiftServe webpage shows the headline “Your next visitor isn’t human.” with the subheading “Make your site readable to AI agents.” Decorative black horizontal lines and red and tan dots appear on the right, while “ask → read → convert” appears near the bottom.

About this company

SiftServe restructures existing website content into semantic HTML with explicit facts, FAQs, and Schema.org structured data. Customers review and approve each version before an edge worker serves it to AI and bot traffic, while human visitors and search-engine crawlers continue receiving the original site. SiftServe is a product of UAE-based NextON Consulting FZE.

Target customers:

Experience & expertise

People behind the company:

Products

Trust & authority

Backed by leaders from

Integrations

Contact

Social

Legal

Company

Pages

Frequently asked questions

What is SiftServe?
SiftServe is an infrastructure layer that creates an AI-readable version of an existing website and serves it to AI and bot traffic while leaving the human-facing site unchanged.
How does SiftServe work?
SiftServe crawls the customer's sitemap, compiles an editable company profile and voice guidelines, translates each page into semantic HTML with explicit facts, FAQs, and structured data, obtains human approval, and then serves the approved version to bots through an edge worker.
Does SiftServe change the website seen by human visitors?
No. Human visitors and search-engine crawlers such as Googlebot and Bingbot continue to receive the original website, while identified AI and bot traffic receives the approved sifted version at the same URL.
Does SiftServe generate new claims?
No. Its agent may restructure and rephrase what the source pages already assert, but every claim must trace to the original content and nothing publishes without customer approval.
How is SiftServe deployed?
An edge worker is deployed in front of the customer's domain, either in the customer's own Cloudflare account where available or on a supported CDN, without changes to the origin.
How much does SiftServe cost?
The service is currently offered as a free eight-week pilot on one domain, followed by a week-eight report that the customer uses to decide whether to continue.
How does SiftServe handle visitor and customer data?
Its edge software records no visitor IP addresses and sets no cookies, dashboards show visitor data only in aggregate, and model providers are accessed through business APIs whose terms do not permit training on customer content.
What is required to start a SiftServe pilot?
The stated prerequisites are a live domain, someone with authority to approve content, and a willingness to measure results.
How does SiftServe measure results?
It captures all bot requests and created deep analytical reports on their behaviour, which is available on your app. Every page receives a before-and-after audit score and per-page capture statistics, and the eight-week pilot tests citation and AI-referral performance against the unsifted baseline.
Why does SiftServe count tokens instead of kilobytes?
Agents work inside context budgets denominated in tokens. Two pages of equal weight can cost very different token amounts depending on how much of the document is markup. The yield decides how much of your story an agent can hold.
Why doesn't the live page weight match the 114 KB figure quoted for SiftServe's homepage?
The capture stats belong to a page version. The homepage has been revised since draft v6; every revision gets sifted, measured, and audited again.
How do I get capture stats for my own site?
The curl-and-Python snippet in this post gives you page weight and content yield for any URL. Full capture stats — including token counts and the before-and-after audit pair — ship with every page in a pilot's audit report.
Does SiftServe's measurement account for images?
The fetch measures the HTML document, which is all a text crawler receives. Facts that exist only inside images are invisible to it; the sifting step restates them as text, which is part of where the +37% readable-content gain comes from.
What are SiftServe's capture stats?
Capture stats are the four measurements SiftServe reports for every page: page weight (the raw HTML download in KB), token cost (what the document costs against an agent's context budget), readable-content yield (the share of the document that is usable content rather than markup and chrome), and coverage (the 1:1 trace check confirming every claim in the original is present in the sifted copy).

Sources