Posts on SEO.
18 posts tagged "SEO".
AdSense low-value rejection: thin pages, empty hubs, and six SVG diagrams
UK Calculators was rejected for low-value content on 10 July — ads.txt was authorised, so this was purely a content-quality judgement. Three concrete moves addressed the specific inventory-value criteria: expanding thin calculator landings, adding SVG diagrams across the pillar estate, and populating empty hub pages the rejection identified.
AdSense readiness: the checklist caught one gap, the reviewer found another, the sweep found a third
Seven out of eight on the automated readiness audit, then rejected for low value content anyway. The fix required three rounds: media diversity closed before submission, hollow hub listings after rejection, and a site-wide sweep that stripped fabricated trust signals the structural checklist had no way to catch.
Google's AdSense reviewer checklist returned 7 of 8 green. Format diversity was the one that counted.
Running Google's reviewer checklist against UK Calculators returned 7 of 8 green. The one red item was format diversity: zero of 38 articles had any embedded visual content. Eight days after submission, rejected for low value content — a checklist score doesn't carry item weights, and format diversity was the one Google's reviewer weighted most.
The eight-pillar map closed in three days. ga-telemetry and gsc-telemetry are why.
Phase 1.6 shipped two observability skills on 20 June: ga-telemetry and gsc-telemetry. Six days later the eight-pillar topic-authority map was complete. The link is an operator loop built on next-morning indexation signal.
AdSense said 'low value content'. Mapping that to actual pages took a day.
The ads.txt was authorised. The rejection still came back 'low value content' on 10 July — a content quality judgement that maps to three specific gaps: thin surfaces, empty hub listings, and zero images across 38 articles. Passing the re-review required treating Google's inventory-value policy as a content brief, not a configuration checklist.
AdSense rejected the site. The ads.txt was fine.
The Google AdSense verdict for UK Calculators arrived 10 July: rejected, “Low value content.” The ads.txt was authorised. The review had nothing to do with technical setup — Google was auditing editorial depth, and the /resources hub pages didn’t pass.
The tag on 73 of 74 posts told me nothing about what relates to what.
Building a 'related posts' block surfaced a problem that had nothing to do with rendering: the tag on nearly every article carried no signal, and letting it count made everything related to everything.
Every route but the blog previewed blank on WhatsApp. The og:image default was missing.
Blog posts set their own share image, so links to them looked fine. That masked the fact that every other route on the site emitted no og:image at all — invisible until someone shared one.
Four cron zeroes in five mornings. Eight articles shipped by hand. The pipeline problem isn't the scheduler.
Five days into a fourteen-day publishing sprint on UK tax calculators, the scheduler fires within a minute of its window every morning. Automated drafts produced: two, one a duplicate cluster. Gov.uk cooperates. The bottleneck is claim extraction and cluster survival.
The ultracode audit was clean. Google still hadn't found the pages. The fix was six in-body links.
Five legal pages and /stamp-duty-calculator were returning HTTP 200, index/follow, self-canonical — and still showing 'URL is unknown to Google' in Search Console. A multi-agent ultracode review ruled out every technical blocker. The answer was the link graph: footer-only pages don't get crawled.
Six YMYL pages were unknown to Google. The technical audit came back clean.
An ultracode review of five legal pages and the stamp duty calculator found no technical blockers — HTTP 200, correct directives, canonical self. The pages weren't stuck because of markup. They were stuck because Googlebot had no editorial reason to visit.
Eight pillars published. AdSense said low value content. The bottleneck was never volume.
Closing the 8-pillar map on 23 June was the point at which Phase 1.6's publish-volume theory ran out of runway. The AdSense low-value-content gate was already in place; more articles hadn't moved it. The real bottleneck is internal-link density and topic-cluster cohesion.
My canonical tags were deindexing my own articles. GA4 had been right all along.
GA4 showed 2 events per seven days across a site with 70+ articles. The first instinct was broken tracking. The real cause was canonical tags instructing Google to ignore the pages meant to rank — a discovery collapse that looks identical to a measurement failure until GSC gives it away.
One audit finding, eight chapters: closing content-5 with a hub instead of inline links
The SEO audit said to retrofit inline links across seventy articles. I built a guide hub instead, and the link-graph problem stopped being about retrofitting and started being about new direction.
Six pages Google couldn't find: telemetry ruled out the technical before we touched any code
The GSC digest showed six pages stuck at “URL is unknown to Google.” That specific status — not crawled and filtered, just never discovered — changed what we looked for first. Two stdlib-only telemetry skills made that diagnostic distinction available before we opened a single file.
Eight cannibalisation pairs, one prefix strip, one PR
A numeric prefix in every calculator slug had created eight cannibalisation pairs — Google couldn't determine which URL was authoritative, so neither ranked with confidence. The fix required one atomic operation across content, routing, and the internal link graph: universal prefix strip, 23 permanent redirects, every MDX cross-link repointed. Not three PRs. One.
Eight calculators were cannibalising each other. One prefix strip fixed it in 72 hours.
A site-wide SEO audit against ukcalculator.uk surfaced 8 routes competing with themselves for the same search intent. The fix — strip the NN- prefix, issue 308 redirects across 23 routes, repoint every internal cross-link — had to land as a single atomic operation or it would introduce crawl noise between deployments. Three days later, Google had started indexing.
Google ranks URLs, not intentions: the NN- prefix strip that resolved eight cannibalisation pairs on ukcalculator.uk
A site-wide SEO audit of ukcalculator.uk surfaced eight cannibalisation pairs before a single meta-tag was touched. The common thread: a numeric sort prefix on every affected slug, one that had never been intended as a ranking signal. Fixing the URLs outweighed everything else in Phase 1.














