@actuate-media/cms-core 0.77.3 → 0.79.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.
- package/CHANGELOG.md +12 -0
- package/dist/__tests__/api/route-contracts.test.js +9 -0
- package/dist/__tests__/api/route-contracts.test.js.map +1 -1
- package/dist/__tests__/cron/cron.test.js +35 -1
- package/dist/__tests__/cron/cron.test.js.map +1 -1
- package/dist/__tests__/seo/audit-engine.test.js +16 -1
- package/dist/__tests__/seo/audit-engine.test.js.map +1 -1
- package/dist/__tests__/seo/audit-signals.test.d.ts +2 -0
- package/dist/__tests__/seo/audit-signals.test.d.ts.map +1 -0
- package/dist/__tests__/seo/audit-signals.test.js +30 -0
- package/dist/__tests__/seo/audit-signals.test.js.map +1 -0
- package/dist/__tests__/seo/effective-meta.test.d.ts +2 -0
- package/dist/__tests__/seo/effective-meta.test.d.ts.map +1 -0
- package/dist/__tests__/seo/effective-meta.test.js +58 -0
- package/dist/__tests__/seo/effective-meta.test.js.map +1 -0
- package/dist/__tests__/seo/fix-brief-export.test.d.ts +2 -0
- package/dist/__tests__/seo/fix-brief-export.test.d.ts.map +1 -0
- package/dist/__tests__/seo/fix-brief-export.test.js +153 -0
- package/dist/__tests__/seo/fix-brief-export.test.js.map +1 -0
- package/dist/__tests__/seo/issue-batch-briefs.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-batch-briefs.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-batch-briefs.test.js +64 -0
- package/dist/__tests__/seo/issue-batch-briefs.test.js.map +1 -0
- package/dist/__tests__/seo/issue-content-brief.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-content-brief.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-content-brief.test.js +107 -0
- package/dist/__tests__/seo/issue-content-brief.test.js.map +1 -0
- package/dist/__tests__/seo/issue-content-research.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-content-research.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-content-research.test.js +114 -0
- package/dist/__tests__/seo/issue-content-research.test.js.map +1 -0
- package/dist/__tests__/seo/issue-fix-ai.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-fix-ai.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-fix-ai.test.js +96 -0
- package/dist/__tests__/seo/issue-fix-ai.test.js.map +1 -0
- package/dist/__tests__/seo/issue-fix-orchestrator.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-fix-orchestrator.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-fix-orchestrator.test.js +48 -0
- package/dist/__tests__/seo/issue-fix-orchestrator.test.js.map +1 -0
- package/dist/__tests__/seo/issue-fix.test.d.ts +2 -0
- package/dist/__tests__/seo/issue-fix.test.d.ts.map +1 -0
- package/dist/__tests__/seo/issue-fix.test.js +98 -0
- package/dist/__tests__/seo/issue-fix.test.js.map +1 -0
- package/dist/__tests__/seo/migrate-meta.test.d.ts +2 -0
- package/dist/__tests__/seo/migrate-meta.test.d.ts.map +1 -0
- package/dist/__tests__/seo/migrate-meta.test.js +75 -0
- package/dist/__tests__/seo/migrate-meta.test.js.map +1 -0
- package/dist/api/routes/seo.d.ts.map +1 -1
- package/dist/api/routes/seo.js +677 -1
- package/dist/api/routes/seo.js.map +1 -1
- package/dist/cron/index.d.ts.map +1 -1
- package/dist/cron/index.js +19 -2
- package/dist/cron/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/seo/audit-engine.d.ts.map +1 -1
- package/dist/seo/audit-engine.js +107 -0
- package/dist/seo/audit-engine.js.map +1 -1
- package/dist/seo/audit-runner.d.ts +2 -1
- package/dist/seo/audit-runner.d.ts.map +1 -1
- package/dist/seo/audit-runner.js +32 -18
- package/dist/seo/audit-runner.js.map +1 -1
- package/dist/seo/audit-signals.d.ts +20 -0
- package/dist/seo/audit-signals.d.ts.map +1 -0
- package/dist/seo/audit-signals.js +107 -0
- package/dist/seo/audit-signals.js.map +1 -0
- package/dist/seo/fix-brief-export.d.ts +47 -0
- package/dist/seo/fix-brief-export.d.ts.map +1 -0
- package/dist/seo/fix-brief-export.js +224 -0
- package/dist/seo/fix-brief-export.js.map +1 -0
- package/dist/seo/index.d.ts +17 -1
- package/dist/seo/index.d.ts.map +1 -1
- package/dist/seo/index.js +9 -1
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/issue-batch-briefs.d.ts +37 -0
- package/dist/seo/issue-batch-briefs.d.ts.map +1 -0
- package/dist/seo/issue-batch-briefs.js +85 -0
- package/dist/seo/issue-batch-briefs.js.map +1 -0
- package/dist/seo/issue-content-brief.d.ts +51 -0
- package/dist/seo/issue-content-brief.d.ts.map +1 -0
- package/dist/seo/issue-content-brief.js +265 -0
- package/dist/seo/issue-content-brief.js.map +1 -0
- package/dist/seo/issue-content-research.d.ts +51 -0
- package/dist/seo/issue-content-research.d.ts.map +1 -0
- package/dist/seo/issue-content-research.js +301 -0
- package/dist/seo/issue-content-research.js.map +1 -0
- package/dist/seo/issue-fix-ai.d.ts +39 -0
- package/dist/seo/issue-fix-ai.d.ts.map +1 -0
- package/dist/seo/issue-fix-ai.js +298 -0
- package/dist/seo/issue-fix-ai.js.map +1 -0
- package/dist/seo/issue-fix.d.ts +68 -0
- package/dist/seo/issue-fix.d.ts.map +1 -0
- package/dist/seo/issue-fix.js +244 -0
- package/dist/seo/issue-fix.js.map +1 -0
- package/dist/seo/migrate-meta.d.ts +23 -0
- package/dist/seo/migrate-meta.d.ts.map +1 -0
- package/dist/seo/migrate-meta.js +113 -0
- package/dist/seo/migrate-meta.js.map +1 -0
- package/dist/seo/page-meta.d.ts +24 -1
- package/dist/seo/page-meta.d.ts.map +1 -1
- package/dist/seo/page-meta.js +59 -1
- package/dist/seo/page-meta.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { stripHtmlTags } from './analysis.js';
|
|
2
|
+
import { applySiteTitleTemplate } from './title-templates.js';
|
|
3
|
+
export const META_TITLE_MAX = 60;
|
|
4
|
+
export const META_TITLE_MIN = 30;
|
|
5
|
+
export const META_DESC_MAX = 160;
|
|
6
|
+
export const META_DESC_MIN = 120;
|
|
7
|
+
/** Issue types that support a deterministic one-click fix in Phase 1. */
|
|
8
|
+
export const DETERMINISTIC_FIX_TYPES = new Set([
|
|
9
|
+
'meta-title-length',
|
|
10
|
+
'meta-description-length',
|
|
11
|
+
'accidental-noindex',
|
|
12
|
+
'missing-meta-title',
|
|
13
|
+
'missing-meta-description',
|
|
14
|
+
'missing-canonical',
|
|
15
|
+
]);
|
|
16
|
+
/** Truncate at a word boundary when possible so snippets read naturally. */
|
|
17
|
+
export function truncateAtWordBoundary(text, maxLen) {
|
|
18
|
+
const trimmed = text.trim();
|
|
19
|
+
if (trimmed.length <= maxLen)
|
|
20
|
+
return trimmed;
|
|
21
|
+
const slice = trimmed.slice(0, maxLen);
|
|
22
|
+
const lastSpace = slice.lastIndexOf(' ');
|
|
23
|
+
if (lastSpace > Math.floor(maxLen * 0.6)) {
|
|
24
|
+
return slice.slice(0, lastSpace).trim();
|
|
25
|
+
}
|
|
26
|
+
return slice.trim();
|
|
27
|
+
}
|
|
28
|
+
/** Build a meta description excerpt from page body (plain text). */
|
|
29
|
+
export function excerptForMetaDescription(content, maxLen = META_DESC_MAX) {
|
|
30
|
+
const plain = stripHtmlTags(content).replace(/\s+/g, ' ').trim();
|
|
31
|
+
if (!plain)
|
|
32
|
+
return '';
|
|
33
|
+
return truncateAtWordBoundary(plain, maxLen);
|
|
34
|
+
}
|
|
35
|
+
function buildMetaTitleFromPage(title, siteSeo) {
|
|
36
|
+
const rendered = applySiteTitleTemplate(siteSeo?.titleTemplate, {
|
|
37
|
+
page: title,
|
|
38
|
+
site: siteSeo?.siteName ?? '',
|
|
39
|
+
});
|
|
40
|
+
const candidate = rendered.trim() || title.trim();
|
|
41
|
+
if (candidate.length > META_TITLE_MAX) {
|
|
42
|
+
return truncateAtWordBoundary(candidate, META_TITLE_MAX);
|
|
43
|
+
}
|
|
44
|
+
return candidate;
|
|
45
|
+
}
|
|
46
|
+
function absoluteCanonicalUrl(entity, siteSeo) {
|
|
47
|
+
const siteUrl = siteSeo?.siteUrl?.replace(/\/+$/, '') ?? '';
|
|
48
|
+
if (!siteUrl)
|
|
49
|
+
return null;
|
|
50
|
+
const path = entity.url?.trim() ?? '';
|
|
51
|
+
if (!path)
|
|
52
|
+
return null;
|
|
53
|
+
if (path.startsWith('http://') || path.startsWith('https://'))
|
|
54
|
+
return path;
|
|
55
|
+
return `${siteUrl}${path.startsWith('/') ? path : `/${path}`}`;
|
|
56
|
+
}
|
|
57
|
+
export function buildFixFingerprint(entityId, issueType, updatedAt) {
|
|
58
|
+
const ms = updatedAt instanceof Date ? updatedAt.getTime() : new Date(updatedAt).getTime();
|
|
59
|
+
return `${entityId}:${ms}:${issueType}`;
|
|
60
|
+
}
|
|
61
|
+
function fieldChange(field, label, before, after) {
|
|
62
|
+
return { field, label, before, after };
|
|
63
|
+
}
|
|
64
|
+
function notFixable(issue, ctx, reason) {
|
|
65
|
+
const entityId = issue.entityId ?? ctx.entity.entityId;
|
|
66
|
+
return {
|
|
67
|
+
autoFixable: false,
|
|
68
|
+
fingerprint: buildFixFingerprint(entityId, issue.type, ctx.updatedAt),
|
|
69
|
+
patch: {},
|
|
70
|
+
changes: [],
|
|
71
|
+
justification: reason,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Compute a deterministic fix suggestion for an audit issue. Returns
|
|
76
|
+
* `autoFixable: false` when the issue type is unsupported or required context
|
|
77
|
+
* is missing (e.g. no site URL for canonical).
|
|
78
|
+
*/
|
|
79
|
+
export function suggestDeterministicFix(issue, ctx) {
|
|
80
|
+
const { entity, siteSeo } = ctx;
|
|
81
|
+
const entityId = issue.entityId ?? entity.entityId;
|
|
82
|
+
const fingerprint = buildFixFingerprint(entityId, issue.type, ctx.updatedAt);
|
|
83
|
+
if (!DETERMINISTIC_FIX_TYPES.has(issue.type)) {
|
|
84
|
+
return notFixable(issue, ctx, issue.recommendation ?? 'This issue requires manual review.');
|
|
85
|
+
}
|
|
86
|
+
switch (issue.type) {
|
|
87
|
+
case 'accidental-noindex': {
|
|
88
|
+
if (!entity.noindex) {
|
|
89
|
+
return notFixable(issue, ctx, 'This page is already set to index.');
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
autoFixable: true,
|
|
93
|
+
source: 'deterministic',
|
|
94
|
+
fingerprint,
|
|
95
|
+
patch: { noindex: false },
|
|
96
|
+
changes: [fieldChange('noindex', 'Index in search engines', true, false)],
|
|
97
|
+
justification: 'Removes the noindex flag so search engines can index this public page again.',
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
case 'missing-meta-title': {
|
|
101
|
+
const proposed = buildMetaTitleFromPage(entity.title, siteSeo);
|
|
102
|
+
if (!proposed) {
|
|
103
|
+
return notFixable(issue, ctx, 'Add a page title first, then retry the fix.');
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
autoFixable: true,
|
|
107
|
+
source: 'deterministic',
|
|
108
|
+
fingerprint,
|
|
109
|
+
patch: { metaTitle: proposed },
|
|
110
|
+
changes: [fieldChange('metaTitle', 'Meta title', entity.metaTitle ?? null, proposed)],
|
|
111
|
+
justification: `Sets the meta title from the page title using your site title template (${proposed.length} characters).`,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
case 'meta-title-length': {
|
|
115
|
+
const current = entity.metaTitle?.trim() ?? '';
|
|
116
|
+
if (!current) {
|
|
117
|
+
return notFixable(issue, ctx, 'No meta title is set — use the missing-meta-title fix instead.');
|
|
118
|
+
}
|
|
119
|
+
let proposed = current;
|
|
120
|
+
if (current.length > META_TITLE_MAX) {
|
|
121
|
+
proposed = truncateAtWordBoundary(current, META_TITLE_MAX);
|
|
122
|
+
}
|
|
123
|
+
else if (current.length < META_TITLE_MIN) {
|
|
124
|
+
proposed = buildMetaTitleFromPage(entity.title, siteSeo);
|
|
125
|
+
if (proposed.length > META_TITLE_MAX) {
|
|
126
|
+
proposed = truncateAtWordBoundary(proposed, META_TITLE_MAX);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (proposed === current) {
|
|
130
|
+
return notFixable(issue, ctx, 'Could not derive a better meta title automatically.');
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
autoFixable: true,
|
|
134
|
+
source: 'deterministic',
|
|
135
|
+
fingerprint,
|
|
136
|
+
patch: { metaTitle: proposed },
|
|
137
|
+
changes: [fieldChange('metaTitle', 'Meta title', current, proposed)],
|
|
138
|
+
justification: current.length > META_TITLE_MAX
|
|
139
|
+
? `Shortened the meta title to ${proposed.length} characters so it fits search result snippets.`
|
|
140
|
+
: `Expanded the meta title to ${proposed.length} characters using your site title template.`,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
case 'missing-meta-description': {
|
|
144
|
+
const proposed = excerptForMetaDescription(entity.content ?? '');
|
|
145
|
+
if (!proposed) {
|
|
146
|
+
return notFixable(issue, ctx, 'Add page content first so a description can be generated from the body.');
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
autoFixable: true,
|
|
150
|
+
source: 'deterministic',
|
|
151
|
+
fingerprint,
|
|
152
|
+
patch: { metaDescription: proposed },
|
|
153
|
+
changes: [
|
|
154
|
+
fieldChange('metaDescription', 'Meta description', entity.metaDescription ?? null, proposed),
|
|
155
|
+
],
|
|
156
|
+
justification: `Drafts a ${proposed.length}-character meta description from the page content.`,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
case 'meta-description-length': {
|
|
160
|
+
const current = entity.metaDescription?.trim() ?? '';
|
|
161
|
+
if (!current) {
|
|
162
|
+
return notFixable(issue, ctx, 'No meta description is set — use the missing-meta-description fix instead.');
|
|
163
|
+
}
|
|
164
|
+
let proposed = current;
|
|
165
|
+
if (current.length > META_DESC_MAX) {
|
|
166
|
+
proposed = truncateAtWordBoundary(current, META_DESC_MAX);
|
|
167
|
+
}
|
|
168
|
+
else if (current.length < META_DESC_MIN) {
|
|
169
|
+
const fromBody = excerptForMetaDescription(entity.content ?? '', META_DESC_MAX);
|
|
170
|
+
proposed = fromBody.length >= current.length ? fromBody : current;
|
|
171
|
+
if (proposed.length < META_DESC_MIN && fromBody) {
|
|
172
|
+
proposed = fromBody;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
if (proposed === current) {
|
|
176
|
+
return notFixable(issue, ctx, 'Could not improve the meta description automatically — expand the page content or edit manually.');
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
autoFixable: true,
|
|
180
|
+
source: 'deterministic',
|
|
181
|
+
fingerprint,
|
|
182
|
+
patch: { metaDescription: proposed },
|
|
183
|
+
changes: [fieldChange('metaDescription', 'Meta description', current, proposed)],
|
|
184
|
+
justification: current.length > META_DESC_MAX
|
|
185
|
+
? `Shortened the meta description to ${proposed.length} characters for SERP display.`
|
|
186
|
+
: `Extended the meta description to ${proposed.length} characters using page content.`,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
case 'missing-canonical': {
|
|
190
|
+
const proposed = absoluteCanonicalUrl(entity, siteSeo);
|
|
191
|
+
if (!proposed) {
|
|
192
|
+
return notFixable(issue, ctx, 'Configure your site URL in SEO settings, then retry the canonical fix.');
|
|
193
|
+
}
|
|
194
|
+
const stored = entity.canonicalUrl?.trim() || null;
|
|
195
|
+
return {
|
|
196
|
+
autoFixable: true,
|
|
197
|
+
source: 'deterministic',
|
|
198
|
+
fingerprint,
|
|
199
|
+
patch: { canonical: proposed },
|
|
200
|
+
changes: [fieldChange('canonicalUrl', 'Canonical URL', stored, proposed)],
|
|
201
|
+
justification: 'Sets the canonical URL to this page’s preferred public address.',
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
default:
|
|
205
|
+
return notFixable(issue, ctx, 'This issue type is not supported for automatic fixes yet.');
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/** Returns true when a deterministic meta description is too short to be useful. */
|
|
209
|
+
function deterministicDescriptionTooShort(suggestion) {
|
|
210
|
+
const desc = suggestion.patch.metaDescription;
|
|
211
|
+
return typeof desc === 'string' && desc.length > 0 && desc.length < META_DESC_MIN;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Resolve a fix suggestion: deterministic first, then AI when needed.
|
|
215
|
+
*/
|
|
216
|
+
export async function suggestIssueFix(issue, ctx, aiDeps) {
|
|
217
|
+
const deterministic = suggestDeterministicFix(issue, ctx);
|
|
218
|
+
const { suggestAiFix, AI_FIX_TYPES } = await import('./issue-fix-ai.js');
|
|
219
|
+
const needsAi = AI_FIX_TYPES.has(issue.type) &&
|
|
220
|
+
aiDeps &&
|
|
221
|
+
(!deterministic.autoFixable || deterministicDescriptionTooShort(deterministic));
|
|
222
|
+
if (!needsAi) {
|
|
223
|
+
return { suggestion: deterministic, cacheForApply: false };
|
|
224
|
+
}
|
|
225
|
+
const ai = await suggestAiFix(issue, ctx, aiDeps);
|
|
226
|
+
if (!ai.ok) {
|
|
227
|
+
return {
|
|
228
|
+
suggestion: {
|
|
229
|
+
autoFixable: false,
|
|
230
|
+
source: 'ai',
|
|
231
|
+
fingerprint: deterministic.fingerprint,
|
|
232
|
+
patch: {},
|
|
233
|
+
changes: [],
|
|
234
|
+
justification: ai.message,
|
|
235
|
+
},
|
|
236
|
+
cacheForApply: false,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
return {
|
|
240
|
+
suggestion: ai.suggestion,
|
|
241
|
+
cacheForApply: ai.suggestion.source === 'ai' && ai.suggestion.autoFixable,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=issue-fix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue-fix.js","sourceRoot":"","sources":["../../src/seo/issue-fix.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Backfill meta title and description on content documents.
|
|
3
|
+
*
|
|
4
|
+
* Pages may emit correct meta via title templates and key takeaways at render
|
|
5
|
+
* time without persisting `metaTitle` / `metaDescription` on `data`. Stamping
|
|
6
|
+
* the effective values keeps the Content SEO table and audit aligned with live
|
|
7
|
+
* output. Idempotent — safe to re-run.
|
|
8
|
+
*/
|
|
9
|
+
import type { ActionContext } from '../actions.js';
|
|
10
|
+
export interface MigrateMetaOptions {
|
|
11
|
+
dryRun?: boolean;
|
|
12
|
+
batchSize?: number;
|
|
13
|
+
collections?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface MigrateMetaResult {
|
|
16
|
+
scanned: number;
|
|
17
|
+
migrated: number;
|
|
18
|
+
skipped: number;
|
|
19
|
+
migratedIds: string[];
|
|
20
|
+
}
|
|
21
|
+
/** Backfill metaTitle/metaDescription from effective render-time values. */
|
|
22
|
+
export declare function migrateMetaFields(ctx: ActionContext, options?: MigrateMetaOptions): Promise<MigrateMetaResult>;
|
|
23
|
+
//# sourceMappingURL=migrate-meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-meta.d.ts","sourceRoot":"","sources":["../../src/seo/migrate-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAQlD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,EAAE,CAAA;CACtB;AAoBD,4EAA4E;AAC5E,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,aAAa,EAClB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAgH5B"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { updateDocumentSeoFields } from '../actions.js';
|
|
2
|
+
import { getActuateConfig } from '../config/runtime.js';
|
|
3
|
+
import { applySeoOverrides, getSeoOverrides } from './config-store.js';
|
|
4
|
+
import { frontEndContentCollectionTypes } from './audit-runner.js';
|
|
5
|
+
import { isPublicContentCollection } from './schema-sync.js';
|
|
6
|
+
import { resolveEffectiveMeta } from './page-meta.js';
|
|
7
|
+
function isPlainObject(v) {
|
|
8
|
+
return !!v && typeof v === 'object' && !Array.isArray(v);
|
|
9
|
+
}
|
|
10
|
+
function pickString(...candidates) {
|
|
11
|
+
for (const c of candidates) {
|
|
12
|
+
if (typeof c === 'string' && c.trim().length > 0)
|
|
13
|
+
return c.trim();
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
function needsMetaMigration(data) {
|
|
18
|
+
return (!pickString(data.metaTitle, data.seoTitle) ||
|
|
19
|
+
!pickString(data.metaDescription, data.seoDescription));
|
|
20
|
+
}
|
|
21
|
+
/** Backfill metaTitle/metaDescription from effective render-time values. */
|
|
22
|
+
export async function migrateMetaFields(ctx, options = {}) {
|
|
23
|
+
const dryRun = options.dryRun ?? false;
|
|
24
|
+
const batchSize = options.batchSize && options.batchSize > 0 ? options.batchSize : 100;
|
|
25
|
+
const config = getActuateConfig();
|
|
26
|
+
const defaultCollections = Object.keys(frontEndContentCollectionTypes(config));
|
|
27
|
+
const targetCollections = options.collections && options.collections.length > 0 ? options.collections : defaultCollections;
|
|
28
|
+
const result = {
|
|
29
|
+
scanned: 0,
|
|
30
|
+
migrated: 0,
|
|
31
|
+
skipped: 0,
|
|
32
|
+
migratedIds: [],
|
|
33
|
+
};
|
|
34
|
+
if (targetCollections.length === 0)
|
|
35
|
+
return result;
|
|
36
|
+
const overrides = await getSeoOverrides(ctx.db).catch(() => null);
|
|
37
|
+
const mergedConfig = applySeoOverrides(config, overrides);
|
|
38
|
+
const siteSeo = mergedConfig?.seo;
|
|
39
|
+
const siteUrl = siteSeo?.siteUrl?.replace(/\/+$/, '');
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Prisma client is intentionally untyped at the core/config boundary.
|
|
41
|
+
const db = ctx.db;
|
|
42
|
+
let cursor;
|
|
43
|
+
for (;;) {
|
|
44
|
+
const batch = await db.document.findMany({
|
|
45
|
+
where: {
|
|
46
|
+
deletedAt: null,
|
|
47
|
+
status: 'PUBLISHED',
|
|
48
|
+
collection: { in: targetCollections },
|
|
49
|
+
},
|
|
50
|
+
orderBy: { id: 'asc' },
|
|
51
|
+
take: batchSize,
|
|
52
|
+
...(cursor ? { skip: 1, cursor: { id: cursor } } : {}),
|
|
53
|
+
select: {
|
|
54
|
+
id: true,
|
|
55
|
+
collection: true,
|
|
56
|
+
title: true,
|
|
57
|
+
slug: true,
|
|
58
|
+
status: true,
|
|
59
|
+
data: true,
|
|
60
|
+
publishedAt: true,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
if (batch.length === 0)
|
|
64
|
+
break;
|
|
65
|
+
cursor = batch[batch.length - 1].id;
|
|
66
|
+
for (const doc of batch) {
|
|
67
|
+
result.scanned++;
|
|
68
|
+
const data = isPlainObject(doc.data) ? doc.data : null;
|
|
69
|
+
if (!data) {
|
|
70
|
+
result.skipped++;
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const collectionDef = mergedConfig?.collections?.[doc.collection] ?? null;
|
|
74
|
+
if (!isPublicContentCollection(collectionDef)) {
|
|
75
|
+
result.skipped++;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (!needsMetaMigration(data)) {
|
|
79
|
+
result.skipped++;
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
const effective = resolveEffectiveMeta({
|
|
83
|
+
data,
|
|
84
|
+
docTitle: doc.title,
|
|
85
|
+
publishedAt: doc.publishedAt,
|
|
86
|
+
collection: collectionDef,
|
|
87
|
+
collectionSlug: doc.collection,
|
|
88
|
+
site: siteSeo,
|
|
89
|
+
siteUrl,
|
|
90
|
+
});
|
|
91
|
+
const patch = {};
|
|
92
|
+
if (!pickString(data.metaTitle, data.seoTitle) && effective.metaTitle) {
|
|
93
|
+
patch.metaTitle = effective.metaTitle;
|
|
94
|
+
}
|
|
95
|
+
if (!pickString(data.metaDescription, data.seoDescription) && effective.metaDescription) {
|
|
96
|
+
patch.metaDescription = effective.metaDescription;
|
|
97
|
+
}
|
|
98
|
+
if (Object.keys(patch).length === 0) {
|
|
99
|
+
result.skipped++;
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
if (!dryRun) {
|
|
103
|
+
await updateDocumentSeoFields(doc.collection, doc.id, patch, ctx);
|
|
104
|
+
}
|
|
105
|
+
result.migrated++;
|
|
106
|
+
result.migratedIds.push(doc.id);
|
|
107
|
+
}
|
|
108
|
+
if (batch.length < batchSize)
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=migrate-meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-meta.js","sourceRoot":"","sources":["../../src/seo/migrate-meta.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/page-meta.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* boilerplate. Documents may override anything via `pageSettings.*` /
|
|
16
16
|
* `data.metaTitle`, etc.
|
|
17
17
|
*/
|
|
18
|
-
import type { ActuateCMSConfig, CollectionDefinition } from '../config/types.js';
|
|
18
|
+
import type { ActuateCMSConfig, CollectionDefinition, SiteSEOConfig } from '../config/types.js';
|
|
19
19
|
/**
|
|
20
20
|
* Minimal document shape consumed by the composer. Mirrors what `/resolve`
|
|
21
21
|
* returns so the composer works on both server-side calls (Prisma documents)
|
|
@@ -116,6 +116,29 @@ export declare function resolveEffectiveCanonicalUrl(params: {
|
|
|
116
116
|
urlPrefix?: string | null;
|
|
117
117
|
slug?: string | null;
|
|
118
118
|
}): string;
|
|
119
|
+
/** Effective SEO fields a document emits at render time (audit + Content SEO). */
|
|
120
|
+
export interface EffectiveMeta {
|
|
121
|
+
metaTitle: string | null;
|
|
122
|
+
metaDescription: string | null;
|
|
123
|
+
ogImage: string | null;
|
|
124
|
+
noindex: boolean;
|
|
125
|
+
}
|
|
126
|
+
export interface ResolveEffectiveMetaParams {
|
|
127
|
+
data?: Record<string, unknown> | null;
|
|
128
|
+
pageSettings?: Record<string, unknown> | null;
|
|
129
|
+
docTitle?: string | null;
|
|
130
|
+
publishedAt?: Date | string | null;
|
|
131
|
+
collection?: CollectionDefinition | null;
|
|
132
|
+
collectionSlug?: string;
|
|
133
|
+
site?: SiteSEOConfig | undefined;
|
|
134
|
+
siteUrl?: string;
|
|
135
|
+
environment?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Resolve meta title, description, OG image, and noindex the same way
|
|
139
|
+
* `composePageMeta()` does — so audits match what search engines receive.
|
|
140
|
+
*/
|
|
141
|
+
export declare function resolveEffectiveMeta(params: ResolveEffectiveMetaParams): EffectiveMeta;
|
|
119
142
|
/**
|
|
120
143
|
* Resolve the canonical freshness dates for a document so every public surface
|
|
121
144
|
* (JSON-LD, Open Graph, etc.) reports the same recency. `datePublished` prefers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-meta.d.ts","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"page-meta.d.ts","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
|
package/dist/seo/page-meta.js
CHANGED
|
@@ -89,7 +89,8 @@ export function resolveDocumentUrl(params) {
|
|
|
89
89
|
*/
|
|
90
90
|
export function resolveEffectiveCanonicalUrl(params) {
|
|
91
91
|
const data = params.data ?? {};
|
|
92
|
-
const
|
|
92
|
+
const page = pageSettingsFromData(data);
|
|
93
|
+
const explicit = pickString(page.canonical, data.canonical, page.canonicalUrl, data.canonicalUrl);
|
|
93
94
|
if (explicit)
|
|
94
95
|
return explicit;
|
|
95
96
|
return resolveDocumentUrl({
|
|
@@ -99,6 +100,63 @@ export function resolveEffectiveCanonicalUrl(params) {
|
|
|
99
100
|
data,
|
|
100
101
|
});
|
|
101
102
|
}
|
|
103
|
+
function pageSettingsFromData(data) {
|
|
104
|
+
const ps = data._pageSettings ?? data.pageSettings;
|
|
105
|
+
return ps && typeof ps === 'object' && !Array.isArray(ps) ? ps : {};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve meta title, description, OG image, and noindex the same way
|
|
109
|
+
* `composePageMeta()` does — so audits match what search engines receive.
|
|
110
|
+
*/
|
|
111
|
+
export function resolveEffectiveMeta(params) {
|
|
112
|
+
const data = params.data ?? {};
|
|
113
|
+
const page = params.pageSettings ?? pageSettingsFromData(data);
|
|
114
|
+
const site = params.site;
|
|
115
|
+
const siteUrl = trimTrailingSlash(params.siteUrl ?? site?.siteUrl ?? '');
|
|
116
|
+
const siteName = site?.siteName ?? 'Site';
|
|
117
|
+
const collection = params.collection;
|
|
118
|
+
const collectionSlug = params.collectionSlug ?? collection?.slug ?? '';
|
|
119
|
+
const collectionSeo = collection?.seo;
|
|
120
|
+
const schemaType = pickString(page.schemaType, data.schemaType, data.structuredDataType, page.structuredDataType, collectionSeo?.defaultSchemaType) ?? detectSchemaType(collectionSlug);
|
|
121
|
+
const explicitTitle = pickString(page.metaTitle, data.metaTitle, data.seoTitle);
|
|
122
|
+
const rawTitle = pickString(data.title, page.title, params.docTitle) ?? 'Untitled';
|
|
123
|
+
const hasTitleTemplate = typeof site?.titleTemplate === 'string' && site.titleTemplate.trim() !== '';
|
|
124
|
+
const metaTitle = (explicitTitle
|
|
125
|
+
? explicitTitle
|
|
126
|
+
: hasTitleTemplate
|
|
127
|
+
? applySiteTitleTemplate(site.titleTemplate, {
|
|
128
|
+
page: rawTitle,
|
|
129
|
+
site: siteName,
|
|
130
|
+
type: pickString(collection?.labels?.singular, schemaType),
|
|
131
|
+
author: pickString(data.authorName, data.author),
|
|
132
|
+
date: asIsoDate(params.publishedAt ?? data.publishedAt)?.slice(0, 10),
|
|
133
|
+
category: pickString(data.category, data.categories?.[0]),
|
|
134
|
+
tag: pickString(data.tags?.[0], data.tag),
|
|
135
|
+
})
|
|
136
|
+
: rawTitle) || null;
|
|
137
|
+
const metaDescription = pickString(page.metaDescription, data.metaDescription, data.seoDescription, page.keyTakeaway, data.keyTakeaway, data.excerpt, data.description, site?.defaultMetaDescription) ?? null;
|
|
138
|
+
const realImageUrl = pickString(page.ogImage, data.ogImage, asImageUrl(data.featuredImage), asImageUrl(data.heroImage), asImageUrl(data.coverImage), asImageUrl(data.image), site?.defaultOgImage);
|
|
139
|
+
const ogImage = realImageUrl ??
|
|
140
|
+
(siteUrl && metaTitle
|
|
141
|
+
? `${siteUrl}/api/cms/og.png?title=${encodeURIComponent(metaTitle)}`
|
|
142
|
+
: null);
|
|
143
|
+
const robots = resolveRobotsDirectives({
|
|
144
|
+
pageData: {
|
|
145
|
+
robotsPolicy: page.robotsPolicy ?? data.robotsPolicy,
|
|
146
|
+
noIndex: firstDefinedBool(page.noIndex, data.noIndex, data.noindex, data.robotsNoindex) ??
|
|
147
|
+
collectionSeo?.defaultRobots?.noIndex,
|
|
148
|
+
noFollow: firstDefinedBool(page.noFollow, data.noFollow, data.nofollow, data.robotsNofollow) ??
|
|
149
|
+
collectionSeo?.defaultRobots?.noFollow,
|
|
150
|
+
},
|
|
151
|
+
settings: {
|
|
152
|
+
defaultNoIndex: site?.robots?.defaultNoIndex,
|
|
153
|
+
defaultNoFollow: site?.robots?.defaultNoFollow,
|
|
154
|
+
noIndexNonProduction: site?.robots?.noIndexNonProduction,
|
|
155
|
+
},
|
|
156
|
+
environment: resolveSeoEnvironment(params.environment),
|
|
157
|
+
});
|
|
158
|
+
return { metaTitle, metaDescription, ogImage, noindex: robots.noIndex };
|
|
159
|
+
}
|
|
102
160
|
function pickString(...candidates) {
|
|
103
161
|
for (const c of candidates) {
|
|
104
162
|
if (typeof c === 'string' && c.trim().length > 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-meta.js","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"page-meta.js","sourceRoot":"","sources":["../../src/seo/page-meta.ts"],"names":[],"mappings":"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"}
|