@prenta/core 0.122.0 → 0.124.0

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 (57) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/api/routes/seo-public.d.ts.map +1 -1
  3. package/dist/api/routes/seo-public.js +2 -0
  4. package/dist/api/routes/seo-public.js.map +1 -1
  5. package/dist/api/routes/seo.d.ts.map +1 -1
  6. package/dist/api/routes/seo.js +13 -1
  7. package/dist/api/routes/seo.js.map +1 -1
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/security/safe-fetch.d.ts.map +1 -1
  13. package/dist/security/safe-fetch.js +4 -3
  14. package/dist/security/safe-fetch.js.map +1 -1
  15. package/dist/seo/audit-engine.d.ts +3 -0
  16. package/dist/seo/audit-engine.d.ts.map +1 -1
  17. package/dist/seo/audit-engine.js +91 -23
  18. package/dist/seo/audit-engine.js.map +1 -1
  19. package/dist/seo/audit-runner.d.ts +9 -2
  20. package/dist/seo/audit-runner.d.ts.map +1 -1
  21. package/dist/seo/audit-runner.js +82 -22
  22. package/dist/seo/audit-runner.js.map +1 -1
  23. package/dist/seo/config-store.d.ts +1 -0
  24. package/dist/seo/config-store.d.ts.map +1 -1
  25. package/dist/seo/config-store.js +1 -0
  26. package/dist/seo/config-store.js.map +1 -1
  27. package/dist/seo/public-site-url.d.ts +4 -1
  28. package/dist/seo/public-site-url.d.ts.map +1 -1
  29. package/dist/seo/public-site-url.js +15 -12
  30. package/dist/seo/public-site-url.js.map +1 -1
  31. package/dist/seo/rendered-fetch.d.ts +60 -0
  32. package/dist/seo/rendered-fetch.d.ts.map +1 -0
  33. package/dist/seo/rendered-fetch.js +246 -0
  34. package/dist/seo/rendered-fetch.js.map +1 -0
  35. package/dist/seo/rendered-html.d.ts +8 -0
  36. package/dist/seo/rendered-html.d.ts.map +1 -0
  37. package/dist/seo/rendered-html.js +86 -0
  38. package/dist/seo/rendered-html.js.map +1 -0
  39. package/dist/seo/score.d.ts +6 -1
  40. package/dist/seo/score.d.ts.map +1 -1
  41. package/dist/seo/score.js +9 -4
  42. package/dist/seo/score.js.map +1 -1
  43. package/dist/upgrade/changelog.d.ts.map +1 -1
  44. package/dist/upgrade/changelog.js +2 -2
  45. package/dist/upgrade/changelog.js.map +1 -1
  46. package/dist/upgrade/index.d.ts +1 -0
  47. package/dist/upgrade/index.d.ts.map +1 -1
  48. package/dist/upgrade/index.js +1 -0
  49. package/dist/upgrade/index.js.map +1 -1
  50. package/dist/upgrade/update-server.d.ts +50 -0
  51. package/dist/upgrade/update-server.d.ts.map +1 -0
  52. package/dist/upgrade/update-server.js +52 -0
  53. package/dist/upgrade/update-server.js.map +1 -0
  54. package/dist/upgrade/version-check.d.ts.map +1 -1
  55. package/dist/upgrade/version-check.js +2 -2
  56. package/dist/upgrade/version-check.js.map +1 -1
  57. package/package.json +1 -1
@@ -15,8 +15,10 @@
15
15
  * pure means it is fully unit-testable with no DB.
16
16
  */
17
17
  import { gradeForSeoScore, type SeoGrade, type SiteSeoScoreResult } from './score.js';
18
+ import type { RenderedEvidence } from './rendered-fetch.js';
18
19
  export type SeoSeverity = 'critical' | 'warning' | 'info';
19
20
  export type SeoIssueCategory = 'content' | 'technical' | 'redirects' | 'media' | 'performance' | 'schema' | 'social' | 'indexing';
21
+ export declare const RENDERED_DEPENDENT_ISSUE_TYPES: ReadonlySet<string>;
20
22
  export interface AuditEntityInput {
21
23
  entityType: 'page' | 'post';
22
24
  entityId: string;
@@ -38,6 +40,7 @@ export interface AuditEntityInput {
38
40
  noindex?: boolean | null;
39
41
  shouldBeIndexable?: boolean;
40
42
  wordCount?: number | null;
43
+ renderedEvidence?: RenderedEvidence;
41
44
  }
42
45
  export interface AuditExtraSignals {
43
46
  /** Broken internal links discovered by the link checker. */
@@ -1 +1 @@
1
- {"version":3,"file":"audit-engine.d.ts","sourceRoot":"","sources":["../../src/seo/audit-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit-engine.d.ts","sourceRoot":"","sources":["../../src/seo/audit-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAGL,gBAAgB,EAGhB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAA;AAInB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAuB3D,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAA;AACzD,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,WAAW,GACX,OAAO,GACP,aAAa,GACb,QAAQ,GACR,QAAQ,GACR,UAAU,CAAA;AAWd,eAAO,MAAM,8BAA8B,EAAE,WAAW,CAAC,MAAM,CAU7D,CAAA;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzF,+DAA+D;IAC/D,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,QAAQ,EAAE,WAAW,CAAA;IACrB,QAAQ,EAAE,gBAAgB,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,QAAQ,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,kBAAkB,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,MAAM,EAAE,aAAa,EAAE,CAAA;IACvB,SAAS,EAAE,kBAAkB,CAAA;IAC7B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1E,SAAS,EAAE,QAAQ,EAAE,CAAA;CACtB;AAuDD,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,cAAc,CA6chB;AAKD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAE,CA+BlE;AA0CD,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -37,6 +37,25 @@ function normalizeBrokenLinkPath(href) {
37
37
  }
38
38
  return normalizeRedirectPath(trimmed);
39
39
  }
40
+ const RENDERED_CHECK_IDS = [
41
+ 'meta-title',
42
+ 'meta-title-length',
43
+ 'meta-description',
44
+ 'meta-description-length',
45
+ 'h1',
46
+ 'content-length',
47
+ ];
48
+ export const RENDERED_DEPENDENT_ISSUE_TYPES = new Set([
49
+ 'missing-meta-title',
50
+ 'meta-title-length',
51
+ 'missing-meta-description',
52
+ 'meta-description-length',
53
+ 'missing-h1',
54
+ 'multiple-h1',
55
+ 'thin-content',
56
+ 'duplicate-meta-title',
57
+ 'duplicate-meta-description',
58
+ ]);
40
59
  function present(v) {
41
60
  return typeof v === 'string' && v.trim().length > 0;
42
61
  }
@@ -56,6 +75,27 @@ function countMissingAlt(content) {
56
75
  // role="presentation"/aria-hidden) is correct and not counted as missing.
57
76
  return countMissingAltImages(content);
58
77
  }
78
+ function resolveRenderedInputs(entity) {
79
+ const evidence = entity.renderedEvidence;
80
+ if (evidence?.state === 'verified') {
81
+ return {
82
+ metaTitle: evidence.facts.title,
83
+ metaDescription: evidence.facts.metaDescription,
84
+ h1Count: evidence.facts.h1Count,
85
+ wordCount: evidence.facts.visibleWordCount,
86
+ verified: true,
87
+ unverified: false,
88
+ };
89
+ }
90
+ return {
91
+ metaTitle: entity.metaTitle,
92
+ metaDescription: entity.metaDescription,
93
+ h1Count: countH1(entity.content ?? ''),
94
+ wordCount: wordsOf(entity.content, entity.wordCount),
95
+ verified: false,
96
+ unverified: evidence?.state === 'unverified',
97
+ };
98
+ }
59
99
  /** Stable per-issue key so status carries across audit runs. */
60
100
  export function issueKeyFor(type, identifier) {
61
101
  return `${type}:${identifier}`;
@@ -68,13 +108,13 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
68
108
  const pages = [];
69
109
  // -- Per-entity content checks -------------------------------------------
70
110
  for (const e of entities) {
71
- const wordCount = wordsOf(e.content, e.wordCount);
111
+ const rendered = resolveRenderedInputs(e);
72
112
  const scoreResult = calculatePageSeoScore({
73
113
  title: e.title,
74
114
  url: e.url,
75
115
  content: e.content,
76
- metaTitle: e.metaTitle,
77
- metaDescription: e.metaDescription,
116
+ metaTitle: rendered.metaTitle,
117
+ metaDescription: rendered.metaDescription,
78
118
  focusKeyword: e.focusKeyword,
79
119
  canonicalUrl: e.canonicalUrl,
80
120
  ogTitle: e.ogTitle,
@@ -83,7 +123,9 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
83
123
  structuredDataType: e.structuredDataType,
84
124
  noindex: e.noindex,
85
125
  shouldBeIndexable: e.shouldBeIndexable,
86
- wordCount,
126
+ wordCount: rendered.wordCount,
127
+ h1Count: rendered.h1Count,
128
+ unavailableChecks: rendered.unverified ? RENDERED_CHECK_IDS : undefined,
87
129
  });
88
130
  pages.push({
89
131
  entityType: e.entityType,
@@ -92,8 +134,8 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
92
134
  url: e.url,
93
135
  score: scoreResult.score,
94
136
  grade: scoreResult.grade,
95
- metaTitleSet: present(e.metaTitle),
96
- metaDescriptionSet: present(e.metaDescription),
137
+ metaTitleSet: present(rendered.metaTitle),
138
+ metaDescriptionSet: present(rendered.metaDescription),
97
139
  });
98
140
  const ctx = {
99
141
  entityType: e.entityType,
@@ -101,7 +143,7 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
101
143
  entityTitle: e.title,
102
144
  url: e.url,
103
145
  };
104
- if (!present(e.metaTitle)) {
146
+ if (!rendered.unverified && !present(rendered.metaTitle)) {
105
147
  issues.push({
106
148
  ...ctx,
107
149
  issueKey: issueKeyFor('missing-meta-title', e.entityId),
@@ -117,7 +159,7 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
117
159
  relatedEntityIds: [],
118
160
  });
119
161
  }
120
- if (!present(e.metaDescription)) {
162
+ if (!rendered.unverified && !present(rendered.metaDescription)) {
121
163
  issues.push({
122
164
  ...ctx,
123
165
  issueKey: issueKeyFor('missing-meta-description', e.entityId),
@@ -133,8 +175,8 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
133
175
  relatedEntityIds: [],
134
176
  });
135
177
  }
136
- if (present(e.metaTitle)) {
137
- const titleLen = e.metaTitle.length;
178
+ if (!rendered.unverified && present(rendered.metaTitle)) {
179
+ const titleLen = rendered.metaTitle.length;
138
180
  if (titleLen < 30 || titleLen > 60) {
139
181
  issues.push({
140
182
  ...ctx,
@@ -154,8 +196,8 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
154
196
  });
155
197
  }
156
198
  }
157
- if (present(e.metaDescription)) {
158
- const descLen = e.metaDescription.length;
199
+ if (!rendered.unverified && present(rendered.metaDescription)) {
200
+ const descLen = rendered.metaDescription.length;
159
201
  if (descLen < 120 || descLen > 160) {
160
202
  issues.push({
161
203
  ...ctx,
@@ -239,7 +281,9 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
239
281
  relatedEntityIds: [],
240
282
  });
241
283
  }
242
- if ((e.content ?? '').length > 0 && countH1(e.content ?? '') === 0) {
284
+ if (!rendered.unverified &&
285
+ rendered.h1Count === 0 &&
286
+ (rendered.verified || (e.content ?? '').length > 0)) {
243
287
  issues.push({
244
288
  ...ctx,
245
289
  issueKey: issueKeyFor('missing-h1', e.entityId),
@@ -255,7 +299,9 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
255
299
  relatedEntityIds: [],
256
300
  });
257
301
  }
258
- if ((e.content ?? '').length > 0 && countH1(e.content ?? '') > 1) {
302
+ if (!rendered.unverified &&
303
+ rendered.h1Count > 1 &&
304
+ (rendered.verified || (e.content ?? '').length > 0)) {
259
305
  issues.push({
260
306
  ...ctx,
261
307
  issueKey: issueKeyFor('multiple-h1', e.entityId),
@@ -271,7 +317,9 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
271
317
  relatedEntityIds: [],
272
318
  });
273
319
  }
274
- if (wordCount > 0 && wordCount < 300) {
320
+ if (!rendered.unverified &&
321
+ rendered.wordCount < 300 &&
322
+ (rendered.verified || rendered.wordCount > 0)) {
275
323
  issues.push({
276
324
  ...ctx,
277
325
  issueKey: issueKeyFor('thin-content', e.entityId),
@@ -308,9 +356,10 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
308
356
  // -- Duplicate meta titles (cross-entity) --------------------------------
309
357
  const titleGroups = new Map();
310
358
  for (const e of entities) {
311
- if (!present(e.metaTitle))
359
+ const rendered = resolveRenderedInputs(e);
360
+ if (rendered.unverified || !present(rendered.metaTitle))
312
361
  continue;
313
- const key = normalizeTitle(e.metaTitle);
362
+ const key = normalizeTitle(rendered.metaTitle);
314
363
  const arr = titleGroups.get(key) ?? [];
315
364
  arr.push(e);
316
365
  titleGroups.set(key, arr);
@@ -341,9 +390,10 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
341
390
  // -- Duplicate meta descriptions (cross-entity) --------------------------
342
391
  const descGroups = new Map();
343
392
  for (const e of entities) {
344
- if (!present(e.metaDescription))
393
+ const rendered = resolveRenderedInputs(e);
394
+ if (rendered.unverified || !present(rendered.metaDescription))
345
395
  continue;
346
- const key = normalizeTitle(e.metaDescription);
396
+ const key = normalizeTitle(rendered.metaDescription);
347
397
  const arr = descGroups.get(key) ?? [];
348
398
  arr.push(e);
349
399
  descGroups.set(key, arr);
@@ -419,10 +469,28 @@ export function runSeoAuditAnalysis(entities, signals = {}) {
419
469
  // -- Site score (explainable category sub-scores) ------------------------
420
470
  const total = entities.length;
421
471
  const ratio = (count) => (total === 0 ? 100 : Math.round((count / total) * 100));
422
- const withMetaTitle = entities.filter((e) => present(e.metaTitle)).length;
423
- const withMetaDesc = entities.filter((e) => present(e.metaDescription)).length;
424
- const withH1 = entities.filter((e) => countH1(e.content ?? '') === 1).length;
425
- const contentScore = Math.round((ratio(withMetaTitle) + ratio(withMetaDesc) + ratio(withH1)) / 3);
472
+ const verifiedEntities = entities
473
+ .map((entity) => resolveRenderedInputs(entity))
474
+ .filter((rendered) => rendered.verified);
475
+ let contentScore;
476
+ if (verifiedEntities.length > 0) {
477
+ const renderedRatio = (count) => Math.round((count / verifiedEntities.length) * 100);
478
+ const withMetaTitle = verifiedEntities.filter((rendered) => present(rendered.metaTitle)).length;
479
+ const withMetaDesc = verifiedEntities.filter((rendered) => present(rendered.metaDescription)).length;
480
+ const withH1 = verifiedEntities.filter((rendered) => rendered.h1Count === 1).length;
481
+ const withEnoughWords = verifiedEntities.filter((rendered) => rendered.wordCount >= 300).length;
482
+ contentScore = Math.round((renderedRatio(withMetaTitle) +
483
+ renderedRatio(withMetaDesc) +
484
+ renderedRatio(withH1) +
485
+ renderedRatio(withEnoughWords)) /
486
+ 4);
487
+ }
488
+ else {
489
+ const withMetaTitle = entities.filter((e) => present(e.metaTitle)).length;
490
+ const withMetaDesc = entities.filter((e) => present(e.metaDescription)).length;
491
+ const withH1 = entities.filter((e) => countH1(e.content ?? '') === 1).length;
492
+ contentScore = Math.round((ratio(withMetaTitle) + ratio(withMetaDesc) + ratio(withH1)) / 3);
493
+ }
426
494
  const withCanonical = entities.filter((e) => present(e.canonicalUrl)).length;
427
495
  const correctlyIndexed = entities.filter((e) => !(e.shouldBeIndexable !== false && e.noindex === true)).length;
428
496
  const crawlBonus = (signals.sitemapEnabled !== false ? 50 : 0) + (signals.robotsEnabled !== false ? 50 : 0);
@@ -1 +1 @@
1
- {"version":3,"file":"audit-engine.js","sourceRoot":"","sources":["../../src/seo/audit-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit-engine.js","sourceRoot":"","sources":["../../src/seo/audit-engine.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,9 @@
14
14
  * sequence of runs while the issue table reflects current state.
15
15
  */
16
16
  import { type AuditEntityInput, type AuditExtraSignals } from './audit-engine.js';
17
- import type { SiteSEOConfig } from '../config/types.js';
17
+ import type { PrentaCMSConfig, SiteSEOConfig } from '../config/types.js';
18
18
  import type { PrentaDB } from '../db/client-types.js';
19
+ import { type RenderedAuditSummary } from './rendered-fetch.js';
19
20
  /**
20
21
  * True for internal/system collections that must never be exposed on public
21
22
  * surfaces (audit, `/llms.txt`, etc.). Covers the explicit exclude list plus
@@ -42,7 +43,7 @@ export type ContentCollectionTypes = Record<string, 'page' | 'post'>;
42
43
  */
43
44
  export declare function frontEndContentCollectionTypes(cfg: unknown): ContentCollectionTypes;
44
45
  /** Map a published document row into the audit engine's entity shape. */
45
- export declare function documentToAuditEntity(doc: any, collectionTypes?: ContentCollectionTypes, siteSeo?: SiteSEOConfig): AuditEntityInput;
46
+ export declare function documentToAuditEntity(doc: any, collectionTypes?: ContentCollectionTypes, siteSeo?: SiteSEOConfig, configSnapshot?: PrentaCMSConfig | null): AuditEntityInput;
46
47
  export interface GatherAuditOptions {
47
48
  /**
48
49
  * Restrict the gather to these front-end content collections (slug -> type),
@@ -66,6 +67,11 @@ export interface GatherAuditOptions {
66
67
  * Opt-in, so no existing caller changes behaviour.
67
68
  */
68
69
  documentIds?: string[];
70
+ /**
71
+ * Effective config already resolved by the caller. Supplying this prevents a
72
+ * second override read and keeps entity metadata on the caller's snapshot.
73
+ */
74
+ effectiveConfig?: PrentaCMSConfig | null;
69
75
  }
70
76
  export declare function gatherAuditEntities(db: PrentaDB, options?: GatherAuditOptions): Promise<AuditEntityInput[]>;
71
77
  export interface RunAuditOptions {
@@ -89,6 +95,7 @@ export interface PersistedAuditRun {
89
95
  warningCount: number;
90
96
  infoCount: number;
91
97
  pagesScanned: number;
98
+ renderedAudit: RenderedAuditSummary;
92
99
  }
93
100
  /**
94
101
  * Run an audit and persist the run + issue snapshot. Returns the run summary.
@@ -1 +1 @@
1
- {"version":3,"file":"audit-runner.d.ts","sourceRoot":"","sources":["../../src/seo/audit-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAWvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAUrD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAgBnF;AAkBD,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,aAAa,GACtB,gBAAgB,CAkElB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA4C7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gFAAgF;IAChF,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAsH5B"}
1
+ {"version":3,"file":"audit-runner.d.ts","sourceRoot":"","sources":["../../src/seo/audit-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEvB,MAAM,mBAAmB,CAAA;AAO1B,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAWxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,qBAAqB,CAAA;AAW5B;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAEpE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAgBnF;AAkBD,yEAAyE;AACzE,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,aAAa,EACvB,cAAc,CAAC,EAAE,eAAe,GAAG,IAAI,GACtC,gBAAgB,CAkElB;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAA;CACzC;AAED,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAgD7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gFAAgF;IAChF,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAA;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,oBAAoB,CAAA;CACpC;AAuBD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAmJ5B"}
@@ -13,7 +13,7 @@
13
13
  * The run row stores the score + counts snapshot, so audit *history* is the
14
14
  * sequence of runs while the issue table reflects current state.
15
15
  */
16
- import { runSeoAuditAnalysis, } from './audit-engine.js';
16
+ import { RENDERED_DEPENDENT_ISSUE_TYPES, runSeoAuditAnalysis, } from './audit-engine.js';
17
17
  import { resolveSeoModuleSettings, getSeoOverrides, applySeoOverrides, SEO_CONFIG_COLLECTION, } from './config-store.js';
18
18
  import { gatherAuditSignals } from './audit-signals.js';
19
19
  import { findInBatches } from '../db/find-in-batches.js';
@@ -21,6 +21,10 @@ import { getPrentaConfig } from '../config/runtime.js';
21
21
  import { resolveDocumentUrl, resolveEffectiveCanonicalUrl, resolveEffectiveMeta, } from './page-meta.js';
22
22
  import { documentContentForSeoAnalysis } from './document-content.js';
23
23
  import { resolveEffectiveSchemaType } from './schema-sync.js';
24
+ import { generateRecoverySuggestions } from '../redirects/recovery.js';
25
+ import { normalizeRedirectPath } from '../redirects/graph.js';
26
+ import { fetchRenderedEvidence, } from './rendered-fetch.js';
27
+ import { resolvePublicSiteUrlFromSnapshot } from './public-site-url.js';
24
28
  /** Collections that are never audited (internal/system data). */
25
29
  const EXCLUDED_COLLECTIONS = new Set([
26
30
  SEO_CONFIG_COLLECTION,
@@ -84,11 +88,11 @@ function str(v) {
84
88
  return typeof v === 'string' && v.length > 0 ? v : null;
85
89
  }
86
90
  /** Map a published document row into the audit engine's entity shape. */
87
- export function documentToAuditEntity(doc, collectionTypes, siteSeo) {
91
+ export function documentToAuditEntity(doc, collectionTypes, siteSeo, configSnapshot) {
88
92
  const data = asRecord(doc.data);
89
93
  const structured = asRecord(doc.structuredData);
90
94
  const slug = str(data.slug) ?? doc.slug ?? doc.id;
91
- const config = getPrentaConfig();
95
+ const config = configSnapshot === undefined ? getPrentaConfig() : configSnapshot;
92
96
  const collectionDef = config?.collections?.[doc.collection];
93
97
  const site = siteSeo ?? config?.seo;
94
98
  const siteUrl = site?.siteUrl?.replace(/\/+$/, '') ?? '';
@@ -183,12 +187,30 @@ export async function gatherAuditEntities(db, options = {}) {
183
187
  orderBy: { updatedAt: 'desc' },
184
188
  take: AUDIT_MAX_ENTITIES,
185
189
  });
186
- const overrides = await getSeoOverrides(db).catch(() => null);
187
- const mergedConfig = applySeoOverrides(getPrentaConfig(), overrides);
188
- const siteSeo = mergedConfig?.seo;
190
+ let effectiveConfig = options.effectiveConfig;
191
+ if (effectiveConfig === undefined) {
192
+ const overrides = await getSeoOverrides(db).catch(() => null);
193
+ effectiveConfig = applySeoOverrides(getPrentaConfig(), overrides);
194
+ }
189
195
  return docs
190
196
  .filter((d) => (collectionTypes ? true : !isInternalCollection(d.collection)))
191
- .map((d) => documentToAuditEntity(d, collectionTypes, siteSeo));
197
+ .map((d) => documentToAuditEntity(d, collectionTypes, effectiveConfig?.seo, effectiveConfig));
198
+ }
199
+ function buildNotAttemptedRenderedResult(count, reason, originSource) {
200
+ return {
201
+ evidence: Array.from({ length: count }, () => ({ state: 'not-attempted', reason })),
202
+ summary: {
203
+ enabled: reason !== 'disabled',
204
+ originSource,
205
+ verified: 0,
206
+ unverified: 0,
207
+ notAttempted: count,
208
+ partial: false,
209
+ bytesRead: 0,
210
+ durationMs: 0,
211
+ reasons: [],
212
+ },
213
+ };
192
214
  }
193
215
  /**
194
216
  * Run an audit and persist the run + issue snapshot. Returns the run summary.
@@ -199,8 +221,11 @@ export async function runAndPersistAudit(db, options = {}) {
199
221
  throw new Error('SEO models not available');
200
222
  }
201
223
  const scope = options.scope ?? 'full';
224
+ const staticConfig = getPrentaConfig();
202
225
  const overrides = await getSeoOverrides(db).catch(() => null);
203
226
  const moduleSettings = resolveSeoModuleSettings(overrides);
227
+ const effectiveConfig = applySeoOverrides(staticConfig, overrides);
228
+ const { siteUrl, source: originSource } = resolvePublicSiteUrlFromSnapshot(staticConfig, overrides);
204
229
  // Refuse to start when another audit is already RUNNING. Two concurrent
205
230
  // runs both reconcile the shared SeoIssue table and can create duplicate
206
231
  // rows for the same issueKey (it carries an index, not a unique constraint).
@@ -231,24 +256,33 @@ export async function runAndPersistAudit(db, options = {}) {
231
256
  },
232
257
  });
233
258
  try {
234
- const entities = await gatherAuditEntities(db, { collectionTypes: options.collectionTypes });
235
- const siteUrl = getPrentaConfig()?.seo?.siteUrl?.replace(/\/+$/, '');
236
- const crossSignals = await gatherAuditSignals(db, entities, siteUrl);
259
+ const entities = await gatherAuditEntities(db, {
260
+ collectionTypes: options.collectionTypes,
261
+ effectiveConfig,
262
+ });
263
+ const renderedEnabled = moduleSettings.auditRenderedHtml;
264
+ const renderedResult = renderedEnabled && siteUrl && originSource
265
+ ? await fetchRenderedEvidence(entities.map(({ entityId, url }) => ({ entityId, url })), { origin: siteUrl, originSource })
266
+ : buildNotAttemptedRenderedResult(entities.length, renderedEnabled ? 'no-origin' : 'disabled', originSource);
267
+ const entitiesWithEvidence = entities.map((entity, index) => ({
268
+ ...entity,
269
+ renderedEvidence: renderedResult.evidence[index],
270
+ }));
271
+ const crossSignals = await gatherAuditSignals(db, entitiesWithEvidence, siteUrl ?? undefined);
237
272
  const signals = {
238
273
  sitemapEnabled: moduleSettings.sitemapEnabled,
239
274
  robotsEnabled: moduleSettings.robotsEnabled,
240
275
  ...crossSignals,
241
276
  ...options.signals,
242
277
  };
243
- const result = runSeoAuditAnalysis(entities, signals);
244
- await persistIssues(db, run.id, result.issues);
278
+ const result = runSeoAuditAnalysis(entitiesWithEvidence, signals);
279
+ const unverifiedEntityIds = new Set(entitiesWithEvidence
280
+ .filter(({ renderedEvidence }) => renderedEvidence?.state === 'unverified')
281
+ .map(({ entityId }) => entityId));
282
+ await persistIssues(db, run.id, result.issues, { unverifiedEntityIds });
245
283
  // Seed redirect recovery suggestions for legitimate broken paths and 404 hits.
246
284
  {
247
- const { generateRecoverySuggestions } = await import('../redirects/recovery.js');
248
- const { normalizeRedirectPath } = await import('../redirects/graph.js');
249
- const overrides = await getSeoOverrides(db).catch(() => null);
250
- const moduleSettings = resolveSeoModuleSettings(overrides);
251
- const pathPrefixes = Object.values(getPrentaConfig()?.collections ?? {})
285
+ const pathPrefixes = Object.values(effectiveConfig?.collections ?? {})
252
286
  .map((c) => {
253
287
  const p = c?.urlPrefix ?? c?.slug;
254
288
  return typeof p === 'string' && p.trim() ? normalizeRedirectPath(`/${p.trim()}`) : null;
@@ -259,7 +293,7 @@ export async function runAndPersistAudit(db, options = {}) {
259
293
  pathPrefixes,
260
294
  brokenLinks: crossSignals.brokenLinks ?? [],
261
295
  include404Hits: true,
262
- siteUrl,
296
+ siteUrl: siteUrl ?? undefined,
263
297
  enableAiRerank: moduleSettings.redirectRecoveryAiRerank,
264
298
  autoApply: moduleSettings.redirectRecoveryAutoApply,
265
299
  autoApplyMinConfidence: moduleSettings.redirectRecoveryAutoApplyMinConfidence,
@@ -276,7 +310,10 @@ export async function runAndPersistAudit(db, options = {}) {
276
310
  criticalCount: result.counts.critical,
277
311
  warningCount: result.counts.warning,
278
312
  infoCount: result.counts.info,
279
- metadata: { breakdown: result.siteScore.breakdown },
313
+ metadata: {
314
+ breakdown: result.siteScore.breakdown,
315
+ renderedAudit: renderedResult.summary,
316
+ },
280
317
  },
281
318
  });
282
319
  return {
@@ -288,6 +325,7 @@ export async function runAndPersistAudit(db, options = {}) {
288
325
  warningCount: result.counts.warning,
289
326
  infoCount: result.counts.info,
290
327
  pagesScanned: entities.length,
328
+ renderedAudit: renderedResult.summary,
291
329
  };
292
330
  }
293
331
  catch (err) {
@@ -304,13 +342,33 @@ export async function runAndPersistAudit(db, options = {}) {
304
342
  throw err;
305
343
  }
306
344
  }
345
+ function shouldPreserveRenderedIssue(issue, unverifiedEntityIds) {
346
+ if (!RENDERED_DEPENDENT_ISSUE_TYPES.has(issue.type))
347
+ return false;
348
+ if (issue.entityId && unverifiedEntityIds.has(issue.entityId))
349
+ return true;
350
+ const related = Array.isArray(issue.relatedEntityIds)
351
+ ? issue.relatedEntityIds.filter((id) => typeof id === 'string')
352
+ : [];
353
+ if (related.some((id) => unverifiedEntityIds.has(id)))
354
+ return true;
355
+ return !issue.entityId && related.length === 0 && unverifiedEntityIds.size > 0;
356
+ }
307
357
  /** Upsert detected issues and auto-resolve no-longer-detected ones. */
308
- async function persistIssues(db, auditRunId, detected) {
358
+ async function persistIssues(db, auditRunId, detected, options) {
309
359
  const existing = await findInBatches(({ take, cursor }) => db.seoIssue.findMany({
310
360
  take,
311
361
  ...(cursor ? { skip: 1, cursor: { id: cursor } } : {}),
312
362
  orderBy: { id: 'asc' },
313
- select: { id: true, issueKey: true, status: true, resolvedAt: true },
363
+ select: {
364
+ id: true,
365
+ issueKey: true,
366
+ type: true,
367
+ entityId: true,
368
+ relatedEntityIds: true,
369
+ status: true,
370
+ resolvedAt: true,
371
+ },
314
372
  }));
315
373
  const byKey = new Map(existing.map((i) => [i.issueKey, i]));
316
374
  const detectedKeys = new Set(detected.map((d) => d.issueKey));
@@ -371,7 +429,9 @@ async function persistIssues(db, auditRunId, detected) {
371
429
  }
372
430
  }
373
431
  // Auto-resolve open/recurring issues that were not detected this run.
374
- const toResolve = existing.filter((i) => !detectedKeys.has(i.issueKey) && (i.status === 'open' || i.status === 'recurring'));
432
+ const toResolve = existing.filter((issue) => !detectedKeys.has(issue.issueKey) &&
433
+ (issue.status === 'open' || issue.status === 'recurring') &&
434
+ !shouldPreserveRenderedIssue(issue, options.unverifiedEntityIds));
375
435
  for (const i of toResolve) {
376
436
  await db.seoIssue.update({
377
437
  where: { id: i.id },