SEOInternal Linking
#51
2026-08-065 min read

Technically clean, still unindexed: six pages that needed a crawl path before Google would find them

PR #153 was an ultracode review of six pages stuck at 'URL is unknown to Google' — five legal surfaces plus the stamp-duty calculator. Every technical check came back clean. The fix wasn't a technical one: it was body-prose internal links from six already-indexed articles, giving Google a crawl path to pages it had no reason to visit.

Read post→
SEOTypeScript
#52
2026-08-065 min read

The YMYL pages weren't thin — they were stranded: zero inbound links, unnamed reviewers, and a TypeScript config enforcing nothing

Phase Q's three-lens assessment didn't flag content depth on UK Calculators' four money pages. It flagged link equity: forty-eight articles, zero internal links to the calculator set. Then reviewer attribution. Then a TypeScript config with strict: true declared and ignoreBuildErrors: true also set — which meant strict mode had never been a gate.

Read post→
SEOBuild Log
#53
2026-08-056 min read

Googlebot had the sitemap for weeks. Six pages were still unknown. The fix was editorial prose.

Six URLs stuck at ‘unknown to Google’ for weeks after sitemap submissions, IndexNow pings, and twelve manual Request-Indexing nudges. The ultracode audit of all six pages found no technical blocker. Footer-only pages on a lower-authority site need editorial prose links — Googlebot follows editorial paths, not manifests.

Read post→
Build LogPipeline
#54
2026-08-055 min read

One ready draft in fourteen days: the failed-cluster dead zone

Ten cron cycles ran clean. One ready draft emerged. draft.py was treating failed-cluster index entries as permanently consumed work, silently shrinking the candidate pool every morning. The fix was a type check. The visibility fix was a new counter. Finding the root cause took fourteen days.

Read post→
Build LogPrivacy
#55
2026-08-055 min read

Privacy on this site runs at three layers. The page arrived last.

The /privacy/ page went live in June as part of the newsletter sprint. A month before that, a pre-commit hook was already blocking my macOS username from every committed file. A month after, I wrote down the editorial rule that neither the page nor the hook can enforce. Three layers, three threat models, three different origins.

Read post→