@houtini/seo-audit-console 0.4.3 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/README.md +4 -4
  2. package/dist/audit/checks.d.ts.map +1 -1
  3. package/dist/audit/checks.js +5 -4
  4. package/dist/audit/checks.js.map +1 -1
  5. package/dist/audit/drift.d.ts +7 -0
  6. package/dist/audit/drift.d.ts.map +1 -1
  7. package/dist/audit/drift.js +31 -3
  8. package/dist/audit/drift.js.map +1 -1
  9. package/dist/audit/engine.d.ts +9 -0
  10. package/dist/audit/engine.d.ts.map +1 -1
  11. package/dist/audit/engine.js +24 -4
  12. package/dist/audit/engine.js.map +1 -1
  13. package/dist/audit/recon.d.ts +70 -2
  14. package/dist/audit/recon.d.ts.map +1 -1
  15. package/dist/audit/recon.js +129 -6
  16. package/dist/audit/recon.js.map +1 -1
  17. package/dist/core/Crawler.d.ts.map +1 -1
  18. package/dist/core/Crawler.js +16 -0
  19. package/dist/core/Crawler.js.map +1 -1
  20. package/dist/core/DataForSeoClient.d.ts +9 -2
  21. package/dist/core/DataForSeoClient.d.ts.map +1 -1
  22. package/dist/core/DataForSeoClient.js +11 -3
  23. package/dist/core/DataForSeoClient.js.map +1 -1
  24. package/dist/core/FirecrawlClient.d.ts +6 -2
  25. package/dist/core/FirecrawlClient.d.ts.map +1 -1
  26. package/dist/core/FirecrawlClient.js +20 -3
  27. package/dist/core/FirecrawlClient.js.map +1 -1
  28. package/dist/core/SupadataClient.d.ts +3 -0
  29. package/dist/core/SupadataClient.d.ts.map +1 -1
  30. package/dist/core/SupadataClient.js +10 -4
  31. package/dist/core/SupadataClient.js.map +1 -1
  32. package/dist/core/dataStorage.d.ts +2 -0
  33. package/dist/core/dataStorage.d.ts.map +1 -1
  34. package/dist/core/dataStorage.js +8 -1
  35. package/dist/core/dataStorage.js.map +1 -1
  36. package/dist/core/passageScore.d.ts +40 -9
  37. package/dist/core/passageScore.d.ts.map +1 -1
  38. package/dist/core/passageScore.js +29 -3
  39. package/dist/core/passageScore.js.map +1 -1
  40. package/dist/core/paths.d.ts +3 -1
  41. package/dist/core/paths.d.ts.map +1 -1
  42. package/dist/core/paths.js +0 -0
  43. package/dist/core/paths.js.map +1 -1
  44. package/dist/core/reconResearch.d.ts +8 -0
  45. package/dist/core/reconResearch.d.ts.map +1 -1
  46. package/dist/core/reconResearch.js +35 -14
  47. package/dist/core/reconResearch.js.map +1 -1
  48. package/dist/core/serpRecon.d.ts +9 -3
  49. package/dist/core/serpRecon.d.ts.map +1 -1
  50. package/dist/core/serpRecon.js +46 -18
  51. package/dist/core/serpRecon.js.map +1 -1
  52. package/dist/core/webServer.d.ts.map +1 -1
  53. package/dist/core/webServer.js +3 -1
  54. package/dist/core/webServer.js.map +1 -1
  55. package/dist/server.d.ts.map +1 -1
  56. package/dist/server.js +213 -115
  57. package/dist/server.js.map +1 -1
  58. package/package.json +1 -1
  59. package/server.json +2 -2
@@ -6,12 +6,21 @@ export interface AuditResult {
6
6
  total: number;
7
7
  bySeverity: Record<string, number>;
8
8
  byCategory: Record<string, number>;
9
+ /** `count` is findings STORED; when the per-check cap bit, `totalFound` is the real number. */
9
10
  byCheck: {
10
11
  checkId: string;
11
12
  category: string;
12
13
  severity: string;
13
14
  count: number;
14
15
  priority: number;
16
+ totalFound?: number;
17
+ truncated?: boolean;
18
+ }[];
19
+ /** Checks whose findings exceeded MAX_PER_CHECK, with their true totals — never cap silently. */
20
+ truncatedChecks?: {
21
+ checkId: string;
22
+ stored: number;
23
+ totalFound: number;
15
24
  }[];
16
25
  top: any[];
17
26
  elapsedMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/audit/engine.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0C,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyBpF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpG,GAAG,EAAE,GAAG,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAEpD;AAQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,WAAW,CAyI/F;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAW5J"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/audit/engine.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0C,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyBpF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,+FAA+F;IAC/F,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAC9I,iGAAiG;IACjG,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5E,GAAG,EAAE,GAAG,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAEpD;AAQD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB,GAAG,WAAW,CA6J/F;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,SAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAW5J"}
@@ -86,10 +86,17 @@ export function runAudit(dataDir, siteUrl, opts = {}) {
86
86
  let total = 0;
87
87
  const bySeverity = {};
88
88
  const byCategory = {};
89
+ const truncated = new Map(); // checkId → true finding count before the cap
89
90
  const tx = db.db.transaction(() => {
90
91
  for (const chk of checks) {
91
- const findings = chk.run(ctx).slice(0, MAX_PER_CHECK);
92
- const scale = effortScale(chk.fixType, findings.length);
92
+ const all = chk.run(ctx);
93
+ // Effort scales with the REAL number of affected pages, not the stored sample. Scaling on
94
+ // the capped length understates E (log10(509) vs log10(5009)) and therefore INFLATES
95
+ // priority = (T×Y×C)/E on exactly the biggest checks — the cap was reordering the report.
96
+ const scale = effortScale(chk.fixType, all.length);
97
+ const findings = all.slice(0, MAX_PER_CHECK);
98
+ if (all.length > MAX_PER_CHECK)
99
+ truncated.set(chk.id, all.length);
93
100
  const E = Math.max(chk.effortBase * scale, 0.0001); // effort in ~hours
94
101
  const Y = yieldOf(chk);
95
102
  for (const f of findings) {
@@ -154,15 +161,28 @@ export function runAudit(dataDir, siteUrl, opts = {}) {
154
161
  });
155
162
  tx();
156
163
  db.db.prepare(`UPDATE audit_runs SET finished_at=datetime('now'), finding_count=? WHERE run_id=?`).run(total, runId);
164
+ // Stored counts, annotated with the true total wherever the per-check cap bit — a bare
165
+ // "count: 500" reads as "that's all there was" when it may be 5,000.
157
166
  const byCheck = db.db
158
167
  .prepare(`SELECT check_id checkId, category, severity, COUNT(*) count, AVG(priority) priority FROM findings WHERE run_id=? GROUP BY check_id ORDER BY count DESC`)
159
- .all(runId);
168
+ .all(runId)
169
+ .map(r => {
170
+ const t = truncated.get(r.checkId);
171
+ return t ? { ...r, totalFound: t, truncated: true } : r;
172
+ });
173
+ const truncatedChecks = [...truncated.entries()]
174
+ .map(([checkId, totalFound]) => ({ checkId, stored: MAX_PER_CHECK, totalFound }))
175
+ .sort((a, b) => b.totalFound - a.totalFound);
160
176
  const top = db.db
161
177
  .prepare(`SELECT check_id, category, severity, url_key, evidence, traffic_at_risk, effort, priority, recommendation FROM findings WHERE run_id=? ORDER BY priority DESC LIMIT 25`)
162
178
  .all(runId);
163
179
  const indexability = Object.fromEntries(db.db.prepare(`SELECT COALESCE(indexable_reason,'indexable') reason, COUNT(*) n FROM pages WHERE is_internal IS NOT 0 GROUP BY reason ORDER BY n DESC`).all()
164
180
  .map(r => [r.reason, r.n]));
165
- return { runId, siteUrl, integrityOk: pageCount > 0, total, bySeverity, byCategory, byCheck, top, elapsedMs: Date.now() - t0, indexability };
181
+ return {
182
+ runId, siteUrl, integrityOk: pageCount > 0, total, bySeverity, byCategory, byCheck, top,
183
+ ...(truncatedChecks.length ? { truncatedChecks } : {}),
184
+ elapsedMs: Date.now() - t0, indexability,
185
+ };
166
186
  }
167
187
  finally {
168
188
  db.close();
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/audit/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/audit/engine.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,31 @@ export declare function selectReconTargets(db: Database.Database, opts: {
23
23
  minImpressions?: number;
24
24
  maxDate: string;
25
25
  }): ReconTarget[];
26
+ /** What the CRAWL says about this URL — the reality check the SERP + GSC read has to survive.
27
+ * GSC history is legacy: it keeps reporting impressions for a URL that has since been
28
+ * canonicalised away or set noindex, and classifying off that alone produced a
29
+ * "defend-and-deepen, produce a companion video" verdict for a non-indexable duplicate. */
30
+ export interface PageState {
31
+ urlKey: string;
32
+ crawled: boolean;
33
+ indexable: boolean | null;
34
+ indexableReason: string | null;
35
+ canonicalKey: string | null;
36
+ canonicalisedAway: boolean;
37
+ statusCode: number | null;
38
+ inlinkCount: number | null;
39
+ ipr: number | null;
40
+ cannotRank: boolean;
41
+ }
42
+ export declare function pageState(db: Database.Database, urlKey: string): PageState;
43
+ /** A crawl row that contradicts the SERP/GSC read WINS. Returns null when there's no conflict. */
44
+ export declare function crawlRealityOverride(v: {
45
+ verdict: ReconVerdict;
46
+ note: string;
47
+ }, state: PageState): {
48
+ verdict: ReconVerdict;
49
+ note: string;
50
+ } | null;
26
51
  export interface DraftTodo {
27
52
  action: string;
28
53
  type: string;
@@ -30,11 +55,54 @@ export interface DraftTodo {
30
55
  evidence: Record<string, unknown>;
31
56
  priority: number;
32
57
  }
58
+ /**
59
+ * Priority = OPPORTUNITY, not impressions. Raw impressions ranked a #4 defend-and-deepen page
60
+ * above the genuinely broken one, i.e. roughly the wrong working order. This prices the clicks
61
+ * actually available: impressions x (CTR at a realistic target position - CTR where we are now),
62
+ * damped by the verdict's headroom, then weighted by to-do type.
63
+ */
64
+ export interface PriorityBasis {
65
+ model: string;
66
+ impressions: number;
67
+ position: number;
68
+ positionSource: 'live-serp' | 'gsc-average';
69
+ targetPosition: number;
70
+ opportunityClicks: number;
71
+ verdictFactor: number;
72
+ }
73
+ export declare function opportunityBasis(impressions: number, organicRank: number | null, gscPosition: number, verdict: string): PriorityBasis;
74
+ /** The entity-ish terms of a query: the tokens a sibling page would have to share to be competing.
75
+ * Minimum length 2 so short but load-bearing terms ("vr", "ai") survive. */
76
+ export declare function queryCore(query: string): string[];
77
+ export interface ClusterCannibalisation {
78
+ core: string[];
79
+ clusterQueries: number;
80
+ collidingQueries: number;
81
+ urls: {
82
+ urlKey: string;
83
+ impressions: number;
84
+ position: number;
85
+ queries: number;
86
+ }[];
87
+ cannibalising: boolean;
88
+ }
89
+ /**
90
+ * Competition is judged PER QUERY and then unioned across the cluster. Judging it on cluster
91
+ * TOTALS is what hid the overlap: the leader accumulates across every query in the topic, so a
92
+ * genuine rival page falls under the 10%-of-leader guard and disappears. Here a URL qualifies if
93
+ * it competes on any single cluster query (>=10 impressions, >=10% of that query's leader, avg
94
+ * position inside 20) — and we separately count the queries where two or more of them collide,
95
+ * which is what distinguishes cannibalisation from ordinary topical coverage.
96
+ */
97
+ export declare function clusterCannibalisation(db: Database.Database, query: string, maxDate: string, minImpressions?: number): ClusterCannibalisation;
33
98
  /** The to-dos we can generate deterministically from our page + the SERP (no judgement). */
34
99
  export declare function deterministicTodos(target: ReconTarget, own: OwnPageView, serp: SerpReconResult, verdict: {
35
100
  verdict: ReconVerdict;
36
101
  note: string;
37
- }, todayIso: string): DraftTodo[];
102
+ }, todayIso: string, ctx?: {
103
+ state?: PageState;
104
+ cluster?: ClusterCannibalisation;
105
+ }): DraftTodo[];
38
106
  export declare function persistReconPage(db: Database.Database, p: {
39
107
  urlKey: string;
40
108
  query: string;
@@ -44,7 +112,7 @@ export declare function persistReconPage(db: Database.Database, p: {
44
112
  gscPosition: number;
45
113
  gscImpressions: number;
46
114
  aioPresent: boolean;
47
- aioCitesUs: boolean;
115
+ aioCitesUs: boolean | null;
48
116
  videoPresent: boolean;
49
117
  hasProductSchema: boolean;
50
118
  schemaTypes: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"recon.d.ts","sourceRoot":"","sources":["../../src/audit/recon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE1E;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,0GAA0G;AAC1G,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACjE,WAAW,EAAE,CA6Cf;AAED,MAAM,WAAW,SAAS;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;AAOnI,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAChD,QAAQ,EAAE,MAAM,GACf,SAAS,EAAE,CAsDb;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;IACzD,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IACpE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IACxE,UAAU,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAChE,gBAAgB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;CACxE,GAAG,IAAI,CAiBP;AAED;qFACqF;AACrF,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAClG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAcxE"}
1
+ {"version":3,"file":"recon.d.ts","sourceRoot":"","sources":["../../src/audit/recon.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { expectedCtr } from '../core/ctrModel.js';
1
2
  /** Pick declining / striking-distance pages: high impressions, currently pos 3-15, top query per page. */
2
3
  export function selectReconTargets(db, opts) {
3
4
  const { limit = 5, minImpressions = 300, maxDate } = opts;
@@ -42,19 +43,133 @@ export function selectReconTargets(db, opts) {
42
43
  };
43
44
  });
44
45
  }
46
+ export function pageState(db, urlKey) {
47
+ const row = db.prepare(`SELECT status_code, indexable, indexable_reason, canonical_key, inlink_count, ipr FROM pages WHERE url_key = ?`).get(urlKey);
48
+ if (!row) {
49
+ return { urlKey, crawled: false, indexable: null, indexableReason: null, canonicalKey: null, canonicalisedAway: false, statusCode: null, inlinkCount: null, ipr: null, cannotRank: false };
50
+ }
51
+ const canonicalisedAway = !!row.canonical_key && row.canonical_key !== urlKey;
52
+ const indexable = row.indexable == null ? null : !!row.indexable;
53
+ return {
54
+ urlKey, crawled: true, indexable, indexableReason: row.indexable_reason,
55
+ canonicalKey: row.canonical_key, canonicalisedAway,
56
+ statusCode: row.status_code, inlinkCount: row.inlink_count, ipr: row.ipr,
57
+ cannotRank: indexable === false || canonicalisedAway,
58
+ };
59
+ }
60
+ /** A crawl row that contradicts the SERP/GSC read WINS. Returns null when there's no conflict. */
61
+ export function crawlRealityOverride(v, state) {
62
+ if (!state.cannotRank)
63
+ return null;
64
+ const why = state.indexable === false
65
+ ? `the crawl marks it not indexable (${state.indexableReason ?? 'reason not recorded'})`
66
+ : `it declares a canonical pointing at ${state.canonicalKey}`;
67
+ const equity = `${state.inlinkCount ?? 0} internal link(s), iPR ${state.ipr ?? 0}`;
68
+ return {
69
+ verdict: 'page-cannot-rank',
70
+ note: `This URL cannot rank as it stands: ${why} (${equity}). Its Search Console history is legacy — the SERP read ("${v.verdict}") describes whoever Google actually ranks, not this URL. Resolve the duplicate first; content work here is wasted.`,
71
+ };
72
+ }
45
73
  const TYPE_WEIGHT = {
46
74
  'content-gap': 1.0, schema: 0.9, research: 0.8, cannibalisation: 0.7, format: 0.6, freshness: 0.3,
47
75
  };
76
+ /** How much headroom the verdict implies. A page already sitting at #4 with nobody editorial
77
+ * above it has far less to gain than one losing a competitive gap, even at higher impressions. */
78
+ const VERDICT_FACTOR = {
79
+ 'competitive-gap': 1.0, 'accuracy-or-freshness': 1.0, 'consolidate-weak-page': 0.9,
80
+ 'page-cannot-rank': 0.8, 'defend-and-deepen': 0.4,
81
+ };
48
82
  const looksCommercial = (q) => /\b(best|top|vs|review|compare|comparison|cheap|budget|buy)\b/i.test(q);
83
+ export function opportunityBasis(impressions, organicRank, gscPosition, verdict) {
84
+ const position = Math.max(1, organicRank ?? gscPosition);
85
+ const targetPosition = position <= 3 ? 1 : position <= 10 ? 3 : 8;
86
+ const opportunityClicks = Math.max(0, impressions * (expectedCtr(targetPosition) - expectedCtr(position)));
87
+ return {
88
+ model: 'impressions x (expectedCtr(target) - expectedCtr(current)) x verdictFactor x typeWeight',
89
+ impressions, position: Math.round(position * 10) / 10,
90
+ positionSource: organicRank != null ? 'live-serp' : 'gsc-average',
91
+ targetPosition,
92
+ opportunityClicks: Math.round(opportunityClicks),
93
+ verdictFactor: VERDICT_FACTOR[verdict] ?? 1,
94
+ };
95
+ }
96
+ /** Cannibalisation at CLUSTER level, not one query at a time. Keying off a single query missed a
97
+ * four-URL overlap that only showed up across the whole "<entity>" query family. */
98
+ const CLUSTER_STOP = new Set(['the', 'and', 'for', 'with', 'best', 'top', 'vs', 'versus', 'review', 'reviews', 'guide', 'how', 'what', 'which', 'why', 'you', 'your', 'cheap', 'budget', 'buy', 'compare', 'comparison', '2024', '2025', '2026', '2027']);
99
+ /** The entity-ish terms of a query: the tokens a sibling page would have to share to be competing.
100
+ * Minimum length 2 so short but load-bearing terms ("vr", "ai") survive. */
101
+ export function queryCore(query) {
102
+ return [...new Set(query.toLowerCase().split(/[^a-z0-9]+/).filter(t => t.length >= 2 && !CLUSTER_STOP.has(t)))].slice(0, 4);
103
+ }
104
+ /**
105
+ * Competition is judged PER QUERY and then unioned across the cluster. Judging it on cluster
106
+ * TOTALS is what hid the overlap: the leader accumulates across every query in the topic, so a
107
+ * genuine rival page falls under the 10%-of-leader guard and disappears. Here a URL qualifies if
108
+ * it competes on any single cluster query (>=10 impressions, >=10% of that query's leader, avg
109
+ * position inside 20) — and we separately count the queries where two or more of them collide,
110
+ * which is what distinguishes cannibalisation from ordinary topical coverage.
111
+ */
112
+ export function clusterCannibalisation(db, query, maxDate, minImpressions = 10) {
113
+ const core = queryCore(query);
114
+ const none = { core, clusterQueries: 0, collidingQueries: 0, urls: [], cannibalising: false };
115
+ if (!core.length)
116
+ return none;
117
+ const like = core.map(() => 'query LIKE ?').join(' AND ');
118
+ const terms = core.map(t => `%${t}%`);
119
+ const win = `date > date(?, '-28 days') AND date <= ?`;
120
+ const cte = `WITH q AS (
121
+ SELECT query, page_key, SUM(impressions) impr,
122
+ SUM(position*impressions)*1.0/NULLIF(SUM(impressions),0) pos
123
+ FROM search_analytics
124
+ WHERE page_key IS NOT NULL AND query IS NOT NULL AND ${win} AND ${like}
125
+ GROUP BY query, page_key
126
+ ),
127
+ lead AS (SELECT query, MAX(impr) top FROM q GROUP BY query),
128
+ comp AS (
129
+ SELECT q.* FROM q JOIN lead l ON l.query = q.query
130
+ WHERE q.impr >= ? AND q.impr >= l.top * 0.1 AND q.pos < 20
131
+ )`;
132
+ const args = [maxDate, maxDate, ...terms, minImpressions];
133
+ const urls = db.prepare(`${cte}
134
+ SELECT page_key urlKey, SUM(impr) impressions,
135
+ SUM(pos*impr)*1.0/NULLIF(SUM(impr),0) position,
136
+ COUNT(DISTINCT query) queries
137
+ FROM comp GROUP BY page_key ORDER BY impressions DESC`).all(...args);
138
+ const { colliding } = db.prepare(`${cte} SELECT COUNT(*) colliding FROM (SELECT query FROM comp GROUP BY query HAVING COUNT(DISTINCT page_key) >= 2)`).get(...args);
139
+ const { n } = db.prepare(`SELECT COUNT(DISTINCT query) n FROM search_analytics WHERE query IS NOT NULL AND ${win} AND ${like}`).get(maxDate, maxDate, ...terms);
140
+ return {
141
+ core, clusterQueries: n, collidingQueries: colliding,
142
+ urls: urls.map(r => ({ ...r, position: Math.round(r.position * 10) / 10 })),
143
+ cannibalising: urls.length >= 2 && colliding >= 1,
144
+ };
145
+ }
49
146
  /** The to-dos we can generate deterministically from our page + the SERP (no judgement). */
50
- export function deterministicTodos(target, own, serp, verdict, todayIso) {
147
+ export function deterministicTodos(target, own, serp, verdict, todayIso, ctx = {}) {
51
148
  const out = [];
52
- const w = (type) => Math.round(target.impressions * (TYPE_WEIGHT[type] ?? 0.5));
149
+ const basis = opportunityBasis(target.impressions, serp.ourOrganicRank, target.position, verdict.verdict);
150
+ const w = (type) => Math.max(1, Math.round(basis.opportunityClicks * basis.verdictFactor * (TYPE_WEIGHT[type] ?? 0.5)));
151
+ // A URL that cannot rank gets ONE to-do: resolve it. Everything downstream (schema, freshness,
152
+ // a companion video) is work against a page Google will not serve.
153
+ const state = ctx.state;
154
+ if (state?.cannotRank) {
155
+ return [{
156
+ action: state.canonicalisedAway
157
+ ? `Resolve the duplicate — this URL canonicalises to ${state.canonicalKey}; merge or de-duplicate before any content work`
158
+ : `Restore indexability — the crawl marks this URL not indexable (${state.indexableReason ?? 'reason not recorded'})`,
159
+ type: 'cannibalisation',
160
+ rationale: `${verdict.note} Its GSC impressions are historical, so they are not evidence the page can win today.`,
161
+ evidence: {
162
+ indexable: state.indexable, indexableReason: state.indexableReason, canonicalKey: state.canonicalKey,
163
+ statusCode: state.statusCode, inlinkCount: state.inlinkCount, ipr: state.ipr, source: 'crawl (pages table)',
164
+ },
165
+ priority: w('cannibalisation'),
166
+ }];
167
+ }
53
168
  // Verdict-driven headline action.
54
169
  if (verdict.verdict === 'accuracy-or-freshness') {
55
170
  out.push({ action: 'Update the facts to current and mark them up so they are machine-liftable', type: 'schema',
56
171
  rationale: `You rank organic #${serp.ourOrganicRank} but the AI Overview does not cite you — a data-accuracy/freshness signal.`,
57
- evidence: { organicRank: serp.ourOrganicRank, aioCitesUs: false }, priority: w('schema') + 1 });
172
+ evidence: { organicRank: serp.ourOrganicRank, aioCitesUs: false, aioReferencesChecked: serp.aioReferences.length }, priority: w('schema') + 1 });
58
173
  }
59
174
  // Schema: commercial/listicle page without Product/Review markup.
60
175
  if (!own.hasProductOrReview && looksCommercial(target.query)) {
@@ -71,8 +186,16 @@ export function deterministicTodos(target, own, serp, verdict, todayIso) {
71
186
  evidence: { dateModified: own.dateModified, ageDays }, priority: w('freshness') });
72
187
  }
73
188
  }
74
- // Cannibalisation.
75
- if (target.competingUrls >= 2) {
189
+ // Cannibalisation — cluster first (the real overlap), falling back to the single query.
190
+ const cluster = ctx.cluster;
191
+ if (cluster?.cannibalising) {
192
+ out.push({ action: `Consolidate cannibalisation — ${cluster.urls.length} of your URLs compete across the "${cluster.core.join(' ')}" cluster, colliding on ${cluster.collidingQueries} quer${cluster.collidingQueries === 1 ? 'y' : 'ies'}`,
193
+ type: 'cannibalisation',
194
+ rationale: 'Multiple own URLs competing across one topic cluster split signals; pick a canonical winner and point the others at it. Judged across the cluster, not one query at a time — a single-query count misses siblings that share the topic under different phrasings.',
195
+ evidence: { core: cluster.core, clusterQueries: cluster.clusterQueries, collidingQueries: cluster.collidingQueries, urls: cluster.urls, seedQuery: target.query },
196
+ priority: w('cannibalisation') });
197
+ }
198
+ else if (target.competingUrls >= 2) {
76
199
  out.push({ action: `Consolidate cannibalisation — ${target.competingUrls} of your URLs rank for "${target.query}"`,
77
200
  type: 'cannibalisation', rationale: 'Multiple own URLs competing for one query split signals; pick a canonical winner.',
78
201
  evidence: { competingUrls: target.competingUrls, query: target.query }, priority: w('cannibalisation') });
@@ -108,7 +231,7 @@ export function persistReconPage(db, p) {
108
231
  competitors=excluded.competitors, researched_at=datetime('now')`).run({
109
232
  urlKey: p.urlKey, query: p.query, verdict: p.verdict, verdictNote: p.verdictNote,
110
233
  organicRank: p.organicRank, gscPosition: p.gscPosition, gscImpressions: p.gscImpressions,
111
- aioPresent: p.aioPresent ? 1 : 0, aioCitesUs: p.aioCitesUs ? 1 : 0, videoPresent: p.videoPresent ? 1 : 0,
234
+ aioPresent: p.aioPresent ? 1 : 0, aioCitesUs: p.aioCitesUs == null ? null : (p.aioCitesUs ? 1 : 0), videoPresent: p.videoPresent ? 1 : 0,
112
235
  hasProductSchema: p.hasProductSchema ? 1 : 0, schemaTypes: JSON.stringify(p.schemaTypes),
113
236
  competitors: JSON.stringify(p.competitors),
114
237
  });
@@ -1 +1 @@
1
- {"version":3,"file":"recon.js","sourceRoot":"","sources":["../../src/audit/recon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recon.js","sourceRoot":"","sources":["../../src/audit/recon.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Crawler.d.ts","sourceRoot":"","sources":["../../src/core/Crawler.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OACE,CAAC;AAqCrE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AA4ID,uFAAuF;AACvF,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEtC,GAAG,CACP,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAC5C,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC;CAkWxB"}
1
+ {"version":3,"file":"Crawler.d.ts","sourceRoot":"","sources":["../../src/core/Crawler.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OACE,CAAC;AAqCrE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AA4ID,uFAAuF;AACvF,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,MAAM;IAEtC,GAAG,CACP,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EAC5C,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC;CAiXxB"}
@@ -7,6 +7,7 @@ import { extractPage, isInternalHost } from './extract.js';
7
7
  import { fetchRobots } from './robots.js';
8
8
  import { finalizeLinkGraph } from './linkGraph.js';
9
9
  import { fetchSitemapUrls } from './sitemap.js';
10
+ import { snapshotCrawl } from '../audit/drift.js';
10
11
  // Robust HTML detection from a Content-Type header: take the MIME type before any
11
12
  // parameters (charset, boundary), normalised — text/html and XHTML count as HTML.
12
13
  const HTML_MIME_TYPES = new Set(['text/html', 'application/xhtml+xml']);
@@ -566,6 +567,21 @@ export class Crawler {
566
567
  db.db.prepare(`UPDATE crawl_metadata SET status=?, urls_discovered=?, urls_crawled=?, urls_failed=?, urls_skipped=?,
567
568
  finished_at=?, duration_ms=? WHERE crawl_id=?`).run(signal.aborted ? 'cancelled' : 'completed', discovered, crawled, failed, skipped, finishedAt, Date.parse(finishedAt) - Date.parse(startedAt), crawlId);
568
569
  db.db.prepare(`UPDATE property_meta SET last_crawl_id=? WHERE site_url=?`).run(crawlId, siteUrl);
570
+ // Drift snapshot — the crawl OWNS its own history. This used to happen only in runAudit, so a
571
+ // crawl that wasn't followed by an audit never entered page_snapshots and detect_changes
572
+ // silently diffed older crawls while presenting them as current. Idempotent per crawl_id, so
573
+ // the runAudit call stays as a self-heal for legacy/killed crawls.
574
+ // Skipped on cancel: a partial page set would read as hundreds of pages "removed" next diff.
575
+ if (!signal.aborted) {
576
+ // Never fail a good crawl over its history — but say so, because a silently missing
577
+ // snapshot is the exact failure this fix exists to remove. diffLatest also reports the gap.
578
+ try {
579
+ snapshotCrawl(db.db, crawlId, finishedAt);
580
+ }
581
+ catch (e) {
582
+ console.error(`[crawl ${crawlId}] snapshot failed (change-detection will report this crawl as missing):`, e);
583
+ }
584
+ }
569
585
  return { crawlId, siteUrl, crawled, failed, skipped };
570
586
  }
571
587
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/core/Crawler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crawler.js","sourceRoot":"","sources":["../../src/core/Crawler.ts"],"names":[],"mappings":"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"}