The AdSense readiness audit scored seven out of eight. The one red item: “diverse and engaging content in a variety of formats.” Zero of thirty-eight articles had a diagram.
I built an ArticleFigure component, shipped six verified SVG diagrams across the pillar estate, and got to eight out of eight. Submitted.
Ten days later, on 10 July at 17:42 BST, the verdict: “Needs attention — Low value content.” The ads.txt was authorised. This was a content-quality call, not a technical one.
Improving on the root-cause diagnosis in AdSense said “low value content” — mapping that to actual pages took a day, what followed was three separate rounds of work. The automated checklist had found one gap. The reviewer found another. I found a third through a site-wide sweep.
Getting a read before submitting
The question “are we ready for AdSense?” without an authoritative answer on account state is a guess. I built the adsense-telemetry skill (B-078) to answer it: approval status, earnings, and payments pulled from AdSense Management API v2, read-only, credentials in Keychain. The first OAuth attempt failed silently on a mistyped client ID prompt; the second, after fetching the correct credentials from Keychain, worked cleanly.
On 2 July the live read came back: account READY, site GETTING_READY, review in progress, no policy strikes, Auto Ads enabled. Readiness context at that point: 78.6% indexation, eight pillar articles published across four weekdays, thin surfaces already resolved. Not a clean sweep. The kind of profile that returns 7/8 on a structural checklist. The telemetry skill was the difference between submitting blind and submitting with a read on where the account stood.
Round one: diagrams
Zero diagrams across thirty-eight articles. Unambiguous gap. The checklist item is “articles, images and videos” and the answer was plainly no. Sampling pages at random, a reviewer would find text on every one.
ArticleFigure wraps a figure element and caption in consistent markup. The six SVGs shipped with it were verified against the articles they accompanied: tax-rate banding, allowance stacking, a CGT calculation walkthrough. Not stock imagery, not decorative elements. The component dropped into the existing layout without structural changes. The diagrams were the signal the reviewer needed that the site was investing in explanation, not just content volume.
That closed the one checklist red. The submission went in at eight out of eight. The reviewer rejected it on low value content regardless. Closing the media gap and resolving the low-value content finding are separate problems; satisfying one didn’t prevent the other.
Round two: hub listings
I ran a post-rejection root-cause audit against Google’s inventory-value policy. The next gap fell out immediately. /resources/blog and /resources/guides existed as navigational nodes with valid URLs, heading structure, and breadcrumb context. Neither surfaced real listings. A visitor arriving via an ad click would find page structure without the content the structure implied.
I built real hub listings as remediation #1. Every entry points at a published article, with no placeholders and no “coming soon” rows. The policy question is the advertiser’s question: would I pay to show an ad next to this page? An empty listing is an easy no. A listing surfacing real articles is a different answer.
The distinction matters. The policy is written from the advertiser’s perspective throughout, so “low value content” doesn’t mean thin by word count. It means thin by utility. A hub page that lists and links to real articles is useful. One with a heading and whitespace is not.
The automated checklist couldn’t catch this gap because it checks structure. The hub pages had structure: URLs, headings, navigation context. They lacked the content the structure implied.
Round three: the Q.0 integrity sweep
I ran Phase Q on 20 July as a three-lens parallel assessment covering content/SEO, design/UX, and architecture, against live GA/GSC telemetry that had been restored the same morning. B-092 was promoted to active the same day it arrived; the findings warranted it.
What I found through the sweep was a category of problem the reviewer checklist has no named item for: fabricated trust signals. Publication dates presented as current for articles that weren’t. Rate accuracy claims on calculator articles covering rates that had since changed. “Last updated” stamps that were accurate at time of writing and had since become noise.
The problem is precise. A trust signal answers the reviewer’s question: is this site accurate and maintained? A fabricated one answers that question with a false positive. Removing them and reframing the stale articles honestly, with explicit publication dates, a scope declaration for the rate period covered, and a pointer to current rates, doesn’t weaken the article. It removes a liability.
Out of scope for Q.0: updating rate figures to current values. That’s content maintenance with its own backlog. The sweep was about removing claims that couldn’t be verified, not auditing the accuracy of every claim on the site.
What the checklist actually measures
The automated readiness audit is accurate within its scope. It caught the media diversity gap cleanly. It missed the hollow hub pages because those passed every structural test: a URL, a heading, navigation context, correct markup. It missed the stale trust signals because accuracy isn’t a structural property.
Both gaps required a different kind of pass. Read each page the way a reviewer applying the inventory-value policy would. Ask the question from the advertiser’s perspective: does this page provide value to a visitor who arrived via an ad? The automated checklist doesn’t ask that question. It checks whether the structural conditions for being asked that question are met.
Running the checklist once and treating the result as a green light is a reasonable first pass. The problem is that “low value content” isn’t a structural property. It’s an editorial judgement about whether a page earns the visit. The automated audit approximates that judgement. The reviewer applies it.
Three rounds. One gap found before submission, two after. The adsense-telemetry skill to know where the account stood. ArticleFigure to close the media gap. Hub listings to remove the emptiness the reviewer found. The Q.0 sweep to strip anything that answered a trust question with a false positive.
The checklist is a useful starting point. What the reviewer applies beyond it is the actual spec.



