Site Health · Crawl results from Norm's CLI — broken links, metadata, orphans, linking opportunities
Last crawl · 3d ago
Mockup — 2026-05-29. All data on this page is sample. Real data arrives once Norm's CLI POSTs to /api/site-health/ingest on a schedule (target: Mon/Tue 2026-06-01). Bri: drop any "want this / hide that" feedback in the floating widget. Norm will align his POST body to whatever ships here.
Analysis

Site Health

1,247 pages crawled · 86 issues to triage across 6 brands.

Critical
8
Fix today
High
24
Triage this week
Medium
41
Plan for next sprint
Low
13
Backlog
Brand
Severity
Issues by Brand
aceableagent.com31 issues / 412 pages
aceable.com18 issues / 287 pages
driversed.com17 issues / 244 pages
idrivesafely.com11 issues / 198 pages
insurance.aceable.com6 issues / 64 pages
mortgage.aceable.com3 issues / 42 pages
Suggested First Moves
  1. Fix 8 critical issues today — broken links + missing titles on high-traffic pages.
  2. Triage 24 high-severity this week — start with duplicate titles (cannibalization risk).
  3. Build out high-value linking opps — 2 flagged as high are on revenue-tied pages (TX exam-prep + INS pre-license).
  4. Decide orphan strategy — 1 high-traffic orphan (aceableagent.com career-center/texas/income-by-region 887 clicks/year, 1 inbound link) needs improve, not prune.
What we need from Norm's POST

Each scheduled crawl POSTs to /api/site-health/ingest with shared-secret auth. Body shape mirrors what's rendered above:

{
  "ranAt":         "<ISO 8601>",
  "pagesCrawled":  <number>,
  "bySeverity":    { "critical": n, "high": n, "medium": n, "low": n },
  "byBrand":       { "<domain>": { "pages": n, "issues": n }, ... },
  "brokenLinks":   [{ sourceUrl, brokenUrl, anchorText, status, brand, severity, detectedAt }],
  "metadataIssues":[{ url, brand, issueType, current, detail, severity }],
  "orphans":       [{ url, brand, inboundLinks, organicTraffic12mo, lastUpdated, cluster, severity }],
  "linkingOpps":   [{ fromUrl, toUrl, brand, reason, anchorSuggestion, cluster, severity }]
}

Severity tiers map to: critical = fix today (broken links on high-traffic pages, missing <title>), high = this week (duplicate titles, missing meta on indexed pages, orphan high-traffic pages, high-impact linking opps), medium = next sprint, low = backlog. Norm: feel free to push back on any of these — this is a starting point, not locked.