The AdSense rejection notification landed 10 July at 17:42 BST. “Needs attention — Low value content.” The ads.txt row on the same page showed Authorised. That second data point was the most important one: the rejection had nothing to do with ads configuration. It was a content quality judgement.
That distinction matters more than it sounds. An ads configuration problem has a specific fix: update the file, resubmit, wait. A content quality judgement requires understanding what “low value” actually maps to across the site, and then doing the structural work to fix the underlying problems. Those are two different kinds of effort, and separating them starts with a root-cause audit.
Root cause
I ran a root-cause audit against Google’s inventory-value policy the following day and found a literal match on the hub pages.
/resources/blog and /resources/guides were both routes in the sitemap. Both were linked from the nav. Both would have appeared in any crawler’s traversal. What they served was thin: skeleton structures that looked like hub pages but delivered nothing. A user landing on either route found no genuine listings and no navigable content, just placeholders dressed as navigation.
Google’s inventory-value policy is explicit about this. A hub page that doesn’t deliver navigable value doesn’t justify the ad impression it would generate. The policy treats it as low-value content, and that verdict cascades to the application review.
The hub pages weren’t missing because nobody had planned them. They had been scaffolded early and left. The site had grown around empty structures and nobody had circled back.
Fix: rebuild both routes as real listings with genuine article content. Shipped 11 July. Remediation #1.
Format diversity
The earlier readiness audit had scored the site 7 of 8 green in early July. The format-diversity gap it flagged was closed before Google’s review arrived. The single red on the checklist: “diverse and engaging content in a variety of formats.” Across 38 pages, zero images. An ArticleFigure component and six verified SVG diagrams distributed across the pillar estate moved that metric off zero.
What the 7/8 pass didn’t reveal: format diversity was the only identified gap, but not the deciding factor in the rejection. The checklist was measuring the right dimensions but weighting them incorrectly. Hub-page quality and content honesty mattered more to Google’s reviewer than a developer-facing pre-submission sweep could predict.
Rate articles and fabricated trust signals
Phase Q (B-092) was a site-wide quality sprint promoted on the same day it was scoped. Trigger: a three-lens assessment against live GA and GSC telemetry. I ran three concurrent reviews (content/SEO, design/UX, architecture) against the live site, each returning findings without visibility of the others. Two categories of content problem needed structural changes.
First: fabricated trust signals. Some pages had language implying authority or social proof the site hadn’t earned. Those came out. The phrasing is deliberate because the problem is specific: it wasn’t incorrect data, it was implied credibility that didn’t exist. The kind of language that reads as reasonable on a first pass and suspect on the third.
Second: stale rate articles. Financial rate content and salary benchmarks that were either outdated or hedged in a way that obscured when the data was accurate. The fix wasn’t to remove them (that content has genuine value if the user understands its limitations) but to reframe them honestly: what they were, when the data was collected, what it can and cannot be used for.
Both categories are problems a checklist audit doesn’t surface. The reviewer criteria ask about format diversity, policy compliance, navigation structure. They don’t ask “does this content make claims it can’t support?” in any mechanically verifiable way. Phase Q required judgement, not boxes to tick.
Shipped 20 July, ten days after the rejection.
Re-review
Re-review went in 24 July, 14 days after the rejection. A pre-submission sweep confirmed 20 live pages all returning 200 before the request was submitted.
The 14-day gap was intentional. I had found three distinct structural problems: thin hub pages, zero media formats, and fabricated signals alongside stale rate content. All three needed to be fixed before the review went in. Not just the one the rejection had named.
That is worth being direct about. The rejection verdict says “Low value content.” It doesn’t specify which pages, which criteria, or which combination of factors pushed the score below the threshold. Reading it as “fix the one thing you know is wrong” is tempting and wrong. The correct read was “audit the site.” That’s what the 14-day gap was for.
What the label covers
“Low value content” is a single label covering at least three different structural problems.
Hub pages: if your hub pages are placeholders, fix them. Real listings, real navigation, genuine value for the user who arrives from search or from the nav.
Format diversity: if every page is text, add media that fits the domain. SVG data visualisation is the obvious fit for a calculator site; six diagrams across 38 pages moved the metric off zero.
Content honesty: if rate articles are stale or trust signals aren’t earned, strip or reframe. This is the hardest to audit mechanically because it requires judgement about what a page is actually claiming versus what it can support. I identified it during a parallel multi-lens review. A checklist wouldn’t have.
The ads.txt file was fine from the start. The rejection was about the pages. Google’s inventory-value policy is the actual framework being applied; AdSense is where the verdict lands.
Out of scope: whether the re-review passes. That is a different article with a different outcome to report.



