forked from bchanot/claude
fix(seo,geo): I5 — disclose sampling coverage instead of implying an audit
Both agents sample (seo-analyzer.md:403 "sample 5-15 key pages", geo-analyzer.md:460 "Sample 5-10 key pages") and neither states it. The report says "audit". On a 500-page site a 12-page sample is 2.4%, and the reader cannot know that unless it is printed. /client-handover gates on these scores. The denominator was already within reach: STEP 4 fetches sitemap.xml. Count its URLs and the coverage ratio is free — same data C1 will use for sitemap-driven crawl later. - Mandatory COVERAGE line in both scoring blocks: N of M sitemap URLs (P%), or "total UNKNOWN" when no sitemap. Never omitted, never rounded up. - seo: <25% coverage repeats in §0 as a major alert. Sample by risk (one page per template + GSC position 4-10 quick wins), name skipped templates — an un-sampled template is an un-audited template. - geo: scoped honestly rather than blanket — COVERAGE bounds the per-page axes (Content Shape, page-level Schema.org) but NOT the site-wide ones (AI Crawlers Policy, llms.txt are single files, fully read). One ratio should not discredit axes it does not govern. Verified: make test 35 GREEN / 0 RED.
This commit is contained in:
@@ -459,6 +459,12 @@ Load: `~/.claude/agents/resources/content-shape-for-ai.md`
|
||||
|
||||
Sample 5-10 key pages (homepage + top service/blog pages). For each:
|
||||
|
||||
**Record the denominator.** This samples; the report says "audit". Count the
|
||||
URLs in `sitemap.xml` for the coverage ratio, and carry it into the GEO
|
||||
SCORING block. No sitemap → total UNKNOWN, say so. Content shape is the
|
||||
axis most damaged by silent sampling: it is judged per page, so a 6-page
|
||||
sample of a 300-page site says nothing about the other 294.
|
||||
|
||||
### Checks
|
||||
|
||||
1. **Definition Lead** — does the first sentence (or H1) follow
|
||||
@@ -586,6 +592,7 @@ Score each axis. Use concrete findings from STEP 2-9.
|
||||
|
||||
```
|
||||
GEO SCORING (<depth>)
|
||||
COVERAGE : <N> of <M> sitemap URLs (<P>%) | <N> pages, total UNKNOWN
|
||||
AI Crawlers Policy : XX/20 <justification>
|
||||
llms.txt : XX/20 <justification>
|
||||
Schema.org for AI : XX/20 <justification>
|
||||
@@ -596,6 +603,12 @@ AI Visibility (live) : XX/20 | N/A (LOCAL)
|
||||
GEO GLOBAL (weighted) : XX.X/20 (<depth>)
|
||||
```
|
||||
|
||||
**COVERAGE is mandatory, never omitted, never rounded up.** It bounds the
|
||||
per-page axes — Content Shape above all, and the page-level share of
|
||||
Schema.org. Site-wide axes (AI Crawlers Policy, llms.txt) are unaffected:
|
||||
robots.txt and llms.txt are single files, fully read. Say which is which
|
||||
rather than letting one ratio discredit the whole report.
|
||||
|
||||
Per user instruction: **GEO weight in combined SEO+GEO report = 20% for
|
||||
local, 25% for national/SaaS/content.**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user