@pseolint/core 0.7.1 → 0.7.3
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/LICENSE +21 -21
- package/README.md +27 -4
- package/dist/algorithms/content-effort/cache.d.ts +5 -0
- package/dist/algorithms/content-effort/cache.d.ts.map +1 -0
- package/dist/algorithms/content-effort/cache.js +23 -0
- package/dist/algorithms/content-effort/cache.js.map +1 -0
- package/dist/algorithms/content-effort/index.d.ts +4 -0
- package/dist/algorithms/content-effort/index.d.ts.map +1 -0
- package/dist/algorithms/content-effort/index.js +4 -0
- package/dist/algorithms/content-effort/index.js.map +1 -0
- package/dist/algorithms/content-effort/judge.d.ts +36 -0
- package/dist/algorithms/content-effort/judge.d.ts.map +1 -0
- package/dist/algorithms/content-effort/judge.js +69 -0
- package/dist/algorithms/content-effort/judge.js.map +1 -0
- package/dist/algorithms/content-effort/schema.d.ts +13 -0
- package/dist/algorithms/content-effort/schema.d.ts.map +1 -0
- package/dist/algorithms/content-effort/schema.js +20 -0
- package/dist/algorithms/content-effort/schema.js.map +1 -0
- package/dist/auditor.d.ts +18 -1
- package/dist/auditor.d.ts.map +1 -1
- package/dist/auditor.js +155 -16
- package/dist/auditor.js.map +1 -1
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +18 -3
- package/dist/cache.js.map +1 -1
- package/dist/formatters/template-cards.js +32 -32
- package/dist/framework-detect.d.ts +6 -0
- package/dist/framework-detect.d.ts.map +1 -0
- package/dist/framework-detect.js +22 -0
- package/dist/framework-detect.js.map +1 -0
- package/dist/rule-references.d.ts.map +1 -1
- package/dist/rule-references.js +1 -0
- package/dist/rule-references.js.map +1 -1
- package/dist/rules/content/eeat-signals.d.ts +13 -0
- package/dist/rules/content/eeat-signals.d.ts.map +1 -1
- package/dist/rules/content/eeat-signals.js +36 -4
- package/dist/rules/content/eeat-signals.js.map +1 -1
- package/dist/rules/content/unique-value.d.ts +2 -2
- package/dist/rules/content/unique-value.d.ts.map +1 -1
- package/dist/rules/content/unique-value.js +8 -2
- package/dist/rules/content/unique-value.js.map +1 -1
- package/dist/rules/content/value-add.d.ts +8 -2
- package/dist/rules/content/value-add.d.ts.map +1 -1
- package/dist/rules/content/value-add.js +39 -48
- package/dist/rules/content/value-add.js.map +1 -1
- package/dist/rules/content/wikipedia-paraphrase.d.ts +12 -7
- package/dist/rules/content/wikipedia-paraphrase.d.ts.map +1 -1
- package/dist/rules/content/wikipedia-paraphrase.js +52 -13
- package/dist/rules/content/wikipedia-paraphrase.js.map +1 -1
- package/dist/rules/schema/consistency.d.ts.map +1 -1
- package/dist/rules/schema/consistency.js +16 -12
- package/dist/rules/schema/consistency.js.map +1 -1
- package/dist/rules/schema/json-ld-valid.d.ts.map +1 -1
- package/dist/rules/schema/json-ld-valid.js +8 -1
- package/dist/rules/schema/json-ld-valid.js.map +1 -1
- package/dist/rules/schema/required-fields.d.ts.map +1 -1
- package/dist/rules/schema/required-fields.js +47 -1
- package/dist/rules/schema/required-fields.js.map +1 -1
- package/dist/rules/scope.d.ts.map +1 -1
- package/dist/rules/scope.js +1 -0
- package/dist/rules/scope.js.map +1 -1
- package/dist/rules/spam/boilerplate-ratio.d.ts.map +1 -1
- package/dist/rules/spam/boilerplate-ratio.js +36 -22
- package/dist/rules/spam/boilerplate-ratio.js.map +1 -1
- package/dist/rules/spam/template-diversity.d.ts.map +1 -1
- package/dist/rules/spam/template-diversity.js +37 -2
- package/dist/rules/spam/template-diversity.js.map +1 -1
- package/dist/rules/tech/csr-bailout.d.ts +8 -0
- package/dist/rules/tech/csr-bailout.d.ts.map +1 -0
- package/dist/rules/tech/csr-bailout.js +48 -0
- package/dist/rules/tech/csr-bailout.js.map +1 -0
- package/dist/rules/tech/og-completeness.d.ts +8 -3
- package/dist/rules/tech/og-completeness.d.ts.map +1 -1
- package/dist/rules/tech/og-completeness.js +15 -7
- package/dist/rules/tech/og-completeness.js.map +1 -1
- package/dist/rules/tech/soft-404.d.ts +6 -0
- package/dist/rules/tech/soft-404.d.ts.map +1 -1
- package/dist/rules/tech/soft-404.js +23 -0
- package/dist/rules/tech/soft-404.js.map +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/schemas/audit-summary.schema.json +300 -300
- package/dist/rules/aeo/non-replicable-value.d.ts +0 -9
- package/dist/rules/aeo/non-replicable-value.d.ts.map +0 -1
- package/dist/rules/aeo/non-replicable-value.js +0 -95
- package/dist/rules/aeo/non-replicable-value.js.map +0 -1
- package/dist/rules/cannibal/keyword-collision.d.ts +0 -3
- package/dist/rules/cannibal/keyword-collision.d.ts.map +0 -1
- package/dist/rules/cannibal/keyword-collision.js +0 -25
- package/dist/rules/cannibal/keyword-collision.js.map +0 -1
- package/dist/rules/cannibal/title-overlap.d.ts +0 -3
- package/dist/rules/cannibal/title-overlap.d.ts.map +0 -1
- package/dist/rules/cannibal/title-overlap.js +0 -43
- package/dist/rules/cannibal/title-overlap.js.map +0 -1
- package/dist/rules/content/heading-uniqueness.d.ts +0 -3
- package/dist/rules/content/heading-uniqueness.d.ts.map +0 -1
- package/dist/rules/content/heading-uniqueness.js +0 -56
- package/dist/rules/content/heading-uniqueness.js.map +0 -1
- package/dist/rules/links/hub-pages.d.ts +0 -7
- package/dist/rules/links/hub-pages.d.ts.map +0 -1
- package/dist/rules/links/hub-pages.js +0 -73
- package/dist/rules/links/hub-pages.js.map +0 -1
package/dist/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,45 +147,45 @@ export function renderTemplateCardsHtml(templates, opts) {
|
|
|
147
147
|
const uniformity = uniformityPct(t);
|
|
148
148
|
const isHighlighted = opts.filterTemplate === t.signature;
|
|
149
149
|
const highlightAttr = isHighlighted ? ' data-highlighted="true"' : "";
|
|
150
|
-
return `<div class="tmpl-card tmpl-${vTone}"${highlightAttr}>
|
|
151
|
-
<div class="tmpl-head">
|
|
152
|
-
<code class="tmpl-sig">${escapeHtml(t.signature)}</code>
|
|
153
|
-
<span class="verdict-badge tone-${vTone}">${escapeHtml(t.verdict)}</span>
|
|
154
|
-
<span class="tmpl-grade tone-${gTone}">${escapeHtml(grade)}</span>
|
|
155
|
-
</div>
|
|
156
|
-
<div class="tmpl-stats">
|
|
157
|
-
<span class="tmpl-coverage">${escapeHtml(coverage)}</span>
|
|
158
|
-
<span class="tmpl-uniformity">uniformity ${escapeHtml(uniformity)}</span>
|
|
159
|
-
${topDriver ? `<span class="tmpl-driver">${escapeHtml(topDriver)}</span>` : ""}
|
|
160
|
-
</div>
|
|
150
|
+
return `<div class="tmpl-card tmpl-${vTone}"${highlightAttr}>
|
|
151
|
+
<div class="tmpl-head">
|
|
152
|
+
<code class="tmpl-sig">${escapeHtml(t.signature)}</code>
|
|
153
|
+
<span class="verdict-badge tone-${vTone}">${escapeHtml(t.verdict)}</span>
|
|
154
|
+
<span class="tmpl-grade tone-${gTone}">${escapeHtml(grade)}</span>
|
|
155
|
+
</div>
|
|
156
|
+
<div class="tmpl-stats">
|
|
157
|
+
<span class="tmpl-coverage">${escapeHtml(coverage)}</span>
|
|
158
|
+
<span class="tmpl-uniformity">uniformity ${escapeHtml(uniformity)}</span>
|
|
159
|
+
${topDriver ? `<span class="tmpl-driver">${escapeHtml(topDriver)}</span>` : ""}
|
|
160
|
+
</div>
|
|
161
161
|
</div>`;
|
|
162
162
|
}).join("\n");
|
|
163
|
-
return `<section class="template-cards">
|
|
164
|
-
<h2 class="section-title">Templates (${templates.length})</h2>
|
|
165
|
-
<div class="tmpl-grid">
|
|
166
|
-
${cards}
|
|
167
|
-
</div>
|
|
163
|
+
return `<section class="template-cards">
|
|
164
|
+
<h2 class="section-title">Templates (${templates.length})</h2>
|
|
165
|
+
<div class="tmpl-grid">
|
|
166
|
+
${cards}
|
|
167
|
+
</div>
|
|
168
168
|
</section>`;
|
|
169
169
|
}
|
|
170
170
|
/**
|
|
171
171
|
* CSS rules for the per-template card grid. Injected once by the HTML formatter
|
|
172
172
|
* into the document <style> block.
|
|
173
173
|
*/
|
|
174
|
-
export const TEMPLATE_CARDS_CSS = `
|
|
175
|
-
.template-cards{margin-top:32px}
|
|
176
|
-
.template-cards .section-title{font-size:13px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
|
|
177
|
-
.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
|
|
178
|
-
.tmpl-card{padding:16px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--border)}
|
|
179
|
-
.tmpl-card[data-highlighted="true"]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
|
|
180
|
-
.tmpl-card.tmpl-success{border-left:3px solid var(--success)}
|
|
181
|
-
.tmpl-card.tmpl-warning{border-left:3px solid var(--warning)}
|
|
182
|
-
.tmpl-card.tmpl-destructive{border-left:3px solid var(--destructive)}
|
|
183
|
-
.tmpl-card.tmpl-critical{border-left:3px solid var(--critical)}
|
|
184
|
-
.tmpl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
|
|
185
|
-
.tmpl-sig{font-size:12px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;color:var(--fg);background:var(--card-2);padding:2px 8px;border-radius:6px;border:1px solid var(--border)}
|
|
186
|
-
.tmpl-grade{font-size:14px;font-weight:700;margin-left:auto}
|
|
187
|
-
.tone-success{color:var(--success)} .tone-warning{color:var(--warning)} .tone-destructive{color:var(--destructive)} .tone-critical{color:var(--critical)}
|
|
188
|
-
.tmpl-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
|
|
189
|
-
.tmpl-driver{color:var(--fg)}
|
|
174
|
+
export const TEMPLATE_CARDS_CSS = `
|
|
175
|
+
.template-cards{margin-top:32px}
|
|
176
|
+
.template-cards .section-title{font-size:13px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
|
|
177
|
+
.tmpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
|
|
178
|
+
.tmpl-card{padding:16px 18px;border-radius:var(--r);background:var(--card);border:1px solid var(--border)}
|
|
179
|
+
.tmpl-card[data-highlighted="true"]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}
|
|
180
|
+
.tmpl-card.tmpl-success{border-left:3px solid var(--success)}
|
|
181
|
+
.tmpl-card.tmpl-warning{border-left:3px solid var(--warning)}
|
|
182
|
+
.tmpl-card.tmpl-destructive{border-left:3px solid var(--destructive)}
|
|
183
|
+
.tmpl-card.tmpl-critical{border-left:3px solid var(--critical)}
|
|
184
|
+
.tmpl-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
|
|
185
|
+
.tmpl-sig{font-size:12px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;color:var(--fg);background:var(--card-2);padding:2px 8px;border-radius:6px;border:1px solid var(--border)}
|
|
186
|
+
.tmpl-grade{font-size:14px;font-weight:700;margin-left:auto}
|
|
187
|
+
.tone-success{color:var(--success)} .tone-warning{color:var(--warning)} .tone-destructive{color:var(--destructive)} .tone-critical{color:var(--critical)}
|
|
188
|
+
.tmpl-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted);font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
|
|
189
|
+
.tmpl-driver{color:var(--fg)}
|
|
190
190
|
`;
|
|
191
191
|
//# sourceMappingURL=template-cards.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type ClientFramework = "nextjs" | "react" | "vite" | "astro";
|
|
2
|
+
/** Detect a client-side framework from raw HTML body markers (not headers). */
|
|
3
|
+
export declare function detectClientFrameworkFromHtml(html: string): ClientFramework | null;
|
|
4
|
+
/** Count interactive form controls present in HTML. Used symmetrically on raw + rendered. */
|
|
5
|
+
export declare function countInteractive(html: string): number;
|
|
6
|
+
//# sourceMappingURL=framework-detect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-detect.d.ts","sourceRoot":"","sources":["../src/framework-detect.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAMpE,+EAA+E;AAC/E,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAMlF;AAID,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { load } from "cheerio";
|
|
2
|
+
const NEXT = [/self\.__next_f/, /\/_next\/static\//, /id="__next"/];
|
|
3
|
+
const VITE = [/\/@vite\//, /<script[^>]+type="module"[^>]+src="\//i];
|
|
4
|
+
const ASTRO = [/astro-island/, /\/_astro\//];
|
|
5
|
+
/** Detect a client-side framework from raw HTML body markers (not headers). */
|
|
6
|
+
export function detectClientFrameworkFromHtml(html) {
|
|
7
|
+
if (NEXT.some((re) => re.test(html)))
|
|
8
|
+
return "nextjs";
|
|
9
|
+
if (VITE.some((re) => re.test(html)))
|
|
10
|
+
return "vite";
|
|
11
|
+
if (ASTRO.some((re) => re.test(html)))
|
|
12
|
+
return "astro";
|
|
13
|
+
if (/id="root"/.test(html) && /<script[^>]+src=/i.test(html))
|
|
14
|
+
return "react";
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const INTERACTIVE = "input, select, textarea, button, form";
|
|
18
|
+
/** Count interactive form controls present in HTML. Used symmetrically on raw + rendered. */
|
|
19
|
+
export function countInteractive(html) {
|
|
20
|
+
return load(html)(INTERACTIVE).length;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=framework-detect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framework-detect.js","sourceRoot":"","sources":["../src/framework-detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,MAAM,IAAI,GAAG,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;AACpE,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,wCAAwC,CAAC,CAAC;AACrE,MAAM,KAAK,GAAG,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AAE7C,+EAA+E;AAC/E,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACpD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IACtD,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,OAAO,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-references.d.ts","sourceRoot":"","sources":["../src/rule-references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"rule-references.d.ts","sourceRoot":"","sources":["../src/rule-references.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8ClD,CAAC"}
|
package/dist/rule-references.js
CHANGED
|
@@ -29,6 +29,7 @@ export const RULE_REFERENCES = {
|
|
|
29
29
|
"tech/soft-404": "https://developers.google.com/search/docs/crawling-indexing/soft-404-errors",
|
|
30
30
|
"tech/hreflang-consistency": "https://developers.google.com/search/docs/specialty/international/managing-multi-regional-sites",
|
|
31
31
|
"tech/og-completeness": "https://ogp.me/",
|
|
32
|
+
"tech/csr-bailout": "https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics",
|
|
32
33
|
"schema/json-ld-valid": "https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data",
|
|
33
34
|
"schema/required-fields": "https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data",
|
|
34
35
|
"schema/consistency": "https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-references.js","sourceRoot":"","sources":["../src/rule-references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,oFAAoF;IAC3G,kBAAkB,EAAE,kFAAkF;IACtG,mBAAmB,EAAE,iFAAiF;IACtG,wBAAwB,EAAE,iFAAiF;IAC3G,yBAAyB,EAAE,kFAAkF;IAC7G,2BAA2B,EAAE,kGAAkG;IAC/H,sBAAsB,EAAE,kFAAkF;IAC1G,wBAAwB,EAAE,kFAAkF;IAC5G,sBAAsB,EAAE,iFAAiF;IACzG,yBAAyB,EAAE,gFAAgF;IAC3G,wBAAwB,EAAE,sFAAsF;IAChH,sBAAsB,EAAE,sFAAsF;IAC9G,2BAA2B,EAAE,sFAAsF;IACnH,0BAA0B,EAAE,iEAAiE;IAC7F,2BAA2B,EAAE,0EAA0E;IACvG,wBAAwB,EAAE,yFAAyF;IACnH,oBAAoB,EAAE,6EAA6E;IACnG,iBAAiB,EAAE,6EAA6E;IAChG,4BAA4B,EAAE,6EAA6E;IAC3G,kBAAkB,EAAE,6EAA6E;IACjG,+BAA+B,EAAE,oFAAoF;IACrH,wBAAwB,EAAE,0EAA0E;IACpG,4BAA4B,EAAE,wFAAwF;IACtH,iCAAiC,EAAE,wFAAwF;IAC3H,8BAA8B,EAAE,4EAA4E;IAC5G,2BAA2B,EAAE,+EAA+E;IAC5G,qBAAqB,EAAE,2EAA2E;IAClG,eAAe,EAAE,6EAA6E;IAC9F,2BAA2B,EAAE,iGAAiG;IAC9H,sBAAsB,EAAE,iBAAiB;IACzC,sBAAsB,EAAE,4FAA4F;IACpH,wBAAwB,EAAE,4FAA4F;IACtH,oBAAoB,EAAE,4FAA4F;IAClH,sBAAsB,EAAE,wFAAwF;IAChH,sBAAsB,EAAE,iFAAiF;IACzG,6BAA6B,EAAE,oFAAoF;IACnH,cAAc,EAAE,qBAAqB;IACrC,oBAAoB,EAAE,0CAA0C;IAChE,uBAAuB,EAAE,wEAAwE;IACjG,kBAAkB,EAAE,8EAA8E;IAClG,kBAAkB,EAAE,wEAAwE;IAC5F,mBAAmB,EAAE,iFAAiF;IACtG,wBAAwB,EAAE,4FAA4F;IACtH,kBAAkB,EAAE,iFAAiF;CACtG,CAAC"}
|
|
1
|
+
{"version":3,"file":"rule-references.js","sourceRoot":"","sources":["../src/rule-references.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,qBAAqB,EAAE,oFAAoF;IAC3G,kBAAkB,EAAE,kFAAkF;IACtG,mBAAmB,EAAE,iFAAiF;IACtG,wBAAwB,EAAE,iFAAiF;IAC3G,yBAAyB,EAAE,kFAAkF;IAC7G,2BAA2B,EAAE,kGAAkG;IAC/H,sBAAsB,EAAE,kFAAkF;IAC1G,wBAAwB,EAAE,kFAAkF;IAC5G,sBAAsB,EAAE,iFAAiF;IACzG,yBAAyB,EAAE,gFAAgF;IAC3G,wBAAwB,EAAE,sFAAsF;IAChH,sBAAsB,EAAE,sFAAsF;IAC9G,2BAA2B,EAAE,sFAAsF;IACnH,0BAA0B,EAAE,iEAAiE;IAC7F,2BAA2B,EAAE,0EAA0E;IACvG,wBAAwB,EAAE,yFAAyF;IACnH,oBAAoB,EAAE,6EAA6E;IACnG,iBAAiB,EAAE,6EAA6E;IAChG,4BAA4B,EAAE,6EAA6E;IAC3G,kBAAkB,EAAE,6EAA6E;IACjG,+BAA+B,EAAE,oFAAoF;IACrH,wBAAwB,EAAE,0EAA0E;IACpG,4BAA4B,EAAE,wFAAwF;IACtH,iCAAiC,EAAE,wFAAwF;IAC3H,8BAA8B,EAAE,4EAA4E;IAC5G,2BAA2B,EAAE,+EAA+E;IAC5G,qBAAqB,EAAE,2EAA2E;IAClG,eAAe,EAAE,6EAA6E;IAC9F,2BAA2B,EAAE,iGAAiG;IAC9H,sBAAsB,EAAE,iBAAiB;IACzC,kBAAkB,EAAE,8FAA8F;IAClH,sBAAsB,EAAE,4FAA4F;IACpH,wBAAwB,EAAE,4FAA4F;IACtH,oBAAoB,EAAE,4FAA4F;IAClH,sBAAsB,EAAE,wFAAwF;IAChH,sBAAsB,EAAE,iFAAiF;IACzG,6BAA6B,EAAE,oFAAoF;IACnH,cAAc,EAAE,qBAAqB;IACrC,oBAAoB,EAAE,0CAA0C;IAChE,uBAAuB,EAAE,wEAAwE;IACjG,kBAAkB,EAAE,8EAA8E;IAClG,kBAAkB,EAAE,wEAAwE;IAC5F,mBAAmB,EAAE,iFAAiF;IACtG,wBAAwB,EAAE,4FAA4F;IACtH,kBAAkB,EAAE,iFAAiF;CACtG,CAAC"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
import type { ParsedPage, RuleResult } from "../../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Count how many of the 4 E-E-A-T signal categories the page satisfies.
|
|
4
|
+
*
|
|
5
|
+
* Categories:
|
|
6
|
+
* 1. About-page link — a same-host href containing /about
|
|
7
|
+
* 2. Author identity — any authorSignals field present
|
|
8
|
+
* 3. Published date — page.publishedDate set
|
|
9
|
+
* 4. Transparency text — "sources:", "references:", "last updated", etc.
|
|
10
|
+
* in page.contentText (NOT raw HTML, to avoid footer/JS false positives)
|
|
11
|
+
*
|
|
12
|
+
* Exported so value-add can reuse this without duplicating logic.
|
|
13
|
+
*/
|
|
14
|
+
export declare function countSignalCategories(page: ParsedPage): number;
|
|
2
15
|
export declare function eeatSignalsRule(pages: ParsedPage[]): RuleResult[];
|
|
3
16
|
//# sourceMappingURL=eeat-signals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eeat-signals.d.ts","sourceRoot":"","sources":["../../../src/rules/content/eeat-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"eeat-signals.d.ts","sourceRoot":"","sources":["../../../src/rules/content/eeat-signals.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU7D;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAiC9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAsBjE"}
|
|
@@ -1,23 +1,55 @@
|
|
|
1
|
-
const
|
|
1
|
+
const EEAT_TEXT_PATTERNS = [
|
|
2
2
|
/last\s+updated/i,
|
|
3
3
|
/last\s+modified/i,
|
|
4
4
|
/reviewed\s+by/i,
|
|
5
5
|
/\bsources:/i,
|
|
6
6
|
/\breferences:/i
|
|
7
7
|
];
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Count how many of the 4 E-E-A-T signal categories the page satisfies.
|
|
10
|
+
*
|
|
11
|
+
* Categories:
|
|
12
|
+
* 1. About-page link — a same-host href containing /about
|
|
13
|
+
* 2. Author identity — any authorSignals field present
|
|
14
|
+
* 3. Published date — page.publishedDate set
|
|
15
|
+
* 4. Transparency text — "sources:", "references:", "last updated", etc.
|
|
16
|
+
* in page.contentText (NOT raw HTML, to avoid footer/JS false positives)
|
|
17
|
+
*
|
|
18
|
+
* Exported so value-add can reuse this without duplicating logic.
|
|
19
|
+
*/
|
|
20
|
+
export function countSignalCategories(page) {
|
|
9
21
|
let count = 0;
|
|
10
|
-
|
|
22
|
+
// 1. About-page: same-host link with /about in the path
|
|
23
|
+
const pageHost = (() => {
|
|
24
|
+
try {
|
|
25
|
+
return new URL(page.url).host;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return "";
|
|
29
|
+
}
|
|
30
|
+
})();
|
|
31
|
+
if (page.resolvedHrefs.some((href) => {
|
|
32
|
+
try {
|
|
33
|
+
const u = new URL(href);
|
|
34
|
+
return u.host === pageHost && /\/about\b/i.test(u.pathname);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
})) {
|
|
11
40
|
count += 1;
|
|
12
41
|
}
|
|
42
|
+
// 2. Author identity
|
|
13
43
|
const { metaAuthor, schemaAuthor, bylineElement, relAuthorLink } = page.authorSignals;
|
|
14
44
|
if (metaAuthor !== "" || schemaAuthor || bylineElement || relAuthorLink) {
|
|
15
45
|
count += 1;
|
|
16
46
|
}
|
|
47
|
+
// 3. Published date
|
|
17
48
|
if (page.publishedDate) {
|
|
18
49
|
count += 1;
|
|
19
50
|
}
|
|
20
|
-
|
|
51
|
+
// 4. Transparency text — check contentText (parsed visible text), not raw HTML
|
|
52
|
+
if (EEAT_TEXT_PATTERNS.some((pattern) => pattern.test(page.contentText))) {
|
|
21
53
|
count += 1;
|
|
22
54
|
}
|
|
23
55
|
return count;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eeat-signals.js","sourceRoot":"","sources":["../../../src/rules/content/eeat-signals.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG;IACzB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,gBAAgB;CACjB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"eeat-signals.js","sourceRoot":"","sources":["../../../src/rules/content/eeat-signals.ts"],"names":[],"mappings":"AAEA,MAAM,kBAAkB,GAAG;IACzB,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,aAAa;IACb,gBAAgB;CACjB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAgB;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,wDAAwD;IACxD,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC;YAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC;IACL,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC3B,CAAC,CAAC,EAAE,CAAC;QACH,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,qBAAqB;IACrB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;IACtF,IAAI,UAAU,KAAK,EAAE,IAAI,YAAY,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;QACxE,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,+EAA+E;IAC/E,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAmB;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAExE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEpC,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC;gBACN,MAAM,EAAE,sBAAsB;gBAC9B,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,OAAO,OAAO,CAAC,MAAM,mGAAmG;gBACjI,GAAG,EAAE,oHAAoH;gBACzH,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;aAC9C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,EAAE,sBAAsB;QAC9B,QAAQ,EAAE,MAAe;QACzB,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,uDAAuD;QAC3E,OAAO,EAAE,IAAI,CAAC,GAAG;QACjB,GAAG,EAAE,0GAA0G;KAChH,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ParsedPage, RuleResult } from "../../types.js";
|
|
1
|
+
import type { ParsedPage, RuleResult, EntityMaskPattern } from "../../types.js";
|
|
2
2
|
export interface UniqueValueThresholds {
|
|
3
3
|
/** Unique-content density below this fires (info). Default 0.20. */
|
|
4
4
|
passBelow: number;
|
|
@@ -13,5 +13,5 @@ export interface UniqueValueThresholds {
|
|
|
13
13
|
* large original page stays high. Continuous, so it doesn't shuffle at the margin.
|
|
14
14
|
* Volume is spam/thin-content's job; exact twins are spam/near-duplicate's.
|
|
15
15
|
*/
|
|
16
|
-
export declare function uniqueValueRule(pages: ParsedPage[], thresholds: UniqueValueThresholds): RuleResult[];
|
|
16
|
+
export declare function uniqueValueRule(pages: ParsedPage[], thresholds: UniqueValueThresholds, entityPatterns?: EntityMaskPattern[]): RuleResult[];
|
|
17
17
|
//# sourceMappingURL=unique-value.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique-value.d.ts","sourceRoot":"","sources":["../../../src/rules/content/unique-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"unique-value.d.ts","sourceRoot":"","sources":["../../../src/rules/content/unique-value.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGhF,MAAM,WAAW,qBAAqB;IACpC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB;AAYD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,qBAAqB,EACjC,cAAc,GAAE,iBAAiB,EAAO,GACvC,UAAU,EAAE,CA6Cd"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { maskEntities } from "../../algorithms/entity-mask.js";
|
|
1
2
|
function tokenize(text) {
|
|
2
3
|
// Lowercase, split on whitespace, strip edge punctuation so "word", "word."
|
|
3
4
|
// and "(word)" are one token.
|
|
@@ -15,14 +16,19 @@ function tokenize(text) {
|
|
|
15
16
|
* large original page stays high. Continuous, so it doesn't shuffle at the margin.
|
|
16
17
|
* Volume is spam/thin-content's job; exact twins are spam/near-duplicate's.
|
|
17
18
|
*/
|
|
18
|
-
export function uniqueValueRule(pages, thresholds) {
|
|
19
|
+
export function uniqueValueRule(pages, thresholds, entityPatterns = []) {
|
|
19
20
|
const { passBelow, errorBelow } = thresholds;
|
|
20
21
|
const N = pages.length;
|
|
21
22
|
const lnN = Math.log(N);
|
|
22
23
|
if (N <= 1 || lnN === 0)
|
|
23
24
|
return []; // can't measure rarity against a single page
|
|
25
|
+
// Mask entities (names, numbers, dates) before measuring rarity. Otherwise a
|
|
26
|
+
// scaled-content farm — same template skeleton, swapped entity per page —
|
|
27
|
+
// scores HIGH density because each page's entity tokens are page-exclusive.
|
|
28
|
+
// Masking collapses the swapped entities so the residual measures originality
|
|
29
|
+
// of the *non-entity* prose: templated skeleton -> low, genuine analysis -> high.
|
|
24
30
|
const df = new Map();
|
|
25
|
-
const pageDistinct = pages.map((p) => new Set(tokenize(p.contentText)));
|
|
31
|
+
const pageDistinct = pages.map((p) => new Set(tokenize(maskEntities(p.contentText, entityPatterns))));
|
|
26
32
|
for (const distinct of pageDistinct) {
|
|
27
33
|
for (const t of distinct)
|
|
28
34
|
df.set(t, (df.get(t) ?? 0) + 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unique-value.js","sourceRoot":"","sources":["../../../src/rules/content/unique-value.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unique-value.js","sourceRoot":"","sources":["../../../src/rules/content/unique-value.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,14 @@ import type { ParsedPage, RuleResult } from "../../types.js";
|
|
|
6
6
|
* Aggregates 7 per-page signal scores (originality, freshness, facts,
|
|
7
7
|
* E-E-A-T, translation, cliché-reuse, wikipedia-paraphrase) into a
|
|
8
8
|
* single 0-1 quality score. Each signal weighted equally at 1/7 ≈ 14.3%.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
*
|
|
10
|
+
* E-E-A-T sub-score is a continuous fraction (categoriesPresent/4), not
|
|
11
|
+
* a 3-step value. Reuses countSignalCategories from eeat-signals to avoid
|
|
12
|
+
* logic drift between the two rules.
|
|
13
|
+
*
|
|
14
|
+
* Fires ONE finding per page when score < 0.5:
|
|
15
|
+
* - warning (score ∈ [0.35, 0.5)) — borderline, low confidence
|
|
16
|
+
* - error (score < 0.35) — clearly low value-add
|
|
11
17
|
*/
|
|
12
18
|
export declare function valueAddRule(pages: ParsedPage[], findings: RuleResult[]): RuleResult[];
|
|
13
19
|
//# sourceMappingURL=value-add.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-add.d.ts","sourceRoot":"","sources":["../../../src/rules/content/value-add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"value-add.d.ts","sourceRoot":"","sources":["../../../src/rules/content/value-add.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,gBAAgB,CAAC;AA0HvE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAoBtF"}
|
|
@@ -1,26 +1,6 @@
|
|
|
1
1
|
import { hasAuthoritativeCitation } from "../../algorithms/fact-extraction.js";
|
|
2
|
+
import { countSignalCategories } from "./eeat-signals.js";
|
|
2
3
|
const RULE_ID = "content/value-add";
|
|
3
|
-
const EEAT_HTML_PATTERNS = [
|
|
4
|
-
/last\s+updated/i,
|
|
5
|
-
/last\s+modified/i,
|
|
6
|
-
/reviewed\s+by/i,
|
|
7
|
-
/\bsources:/i,
|
|
8
|
-
/\breferences:/i,
|
|
9
|
-
];
|
|
10
|
-
function countEeatCategories(page) {
|
|
11
|
-
let count = 0;
|
|
12
|
-
if (page.resolvedHrefs.some((h) => /\/about\b/i.test(h)))
|
|
13
|
-
count += 1;
|
|
14
|
-
const { metaAuthor, schemaAuthor, bylineElement, relAuthorLink } = page.authorSignals;
|
|
15
|
-
if (metaAuthor !== "" || schemaAuthor || bylineElement || relAuthorLink)
|
|
16
|
-
count += 1;
|
|
17
|
-
if (page.publishedDate)
|
|
18
|
-
count += 1;
|
|
19
|
-
if (EEAT_HTML_PATTERNS.some((p) => p.test(page.html)) ||
|
|
20
|
-
hasAuthoritativeCitation(page.resolvedHrefs, page.url))
|
|
21
|
-
count += 1;
|
|
22
|
-
return count;
|
|
23
|
-
}
|
|
24
4
|
function computeSignals(page, allFindings) {
|
|
25
5
|
const pageFindings = allFindings.filter((f) => f.pageUrl === page.url);
|
|
26
6
|
// Originality: 1.0 if regurgitated-content doesn't fire, 0.0 if it does
|
|
@@ -50,18 +30,14 @@ function computeSignals(page, allFindings) {
|
|
|
50
30
|
else {
|
|
51
31
|
facts = 0.0;
|
|
52
32
|
}
|
|
53
|
-
// E-E-A-T:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
eeat = 0.0;
|
|
64
|
-
}
|
|
33
|
+
// E-E-A-T: continuous fraction of 4 categories present.
|
|
34
|
+
// Reuses countSignalCategories from eeat-signals (no duplicate logic).
|
|
35
|
+
// Also grants the "sources" credit for authoritative outbound citations.
|
|
36
|
+
const eeatCount = countSignalCategories(page);
|
|
37
|
+
const hasCitation = hasAuthoritativeCitation(page.resolvedHrefs, page.url);
|
|
38
|
+
// Clamp to max 4 after adding citation credit (if sources category already counted it won't double-count)
|
|
39
|
+
const effectiveEeatCount = Math.min(4, eeatCount + (hasCitation && eeatCount < 4 ? 1 : 0));
|
|
40
|
+
const eeat = effectiveEeatCount / 4;
|
|
65
41
|
// Translation: 1.0 unless translation-no-op lists this page
|
|
66
42
|
const hasTranslationNoOp = allFindings.some((f) => f.ruleId === "content/translation-no-op" &&
|
|
67
43
|
(f.pageUrl === page.url || (f.relatedUrls ?? []).includes(page.url)));
|
|
@@ -69,13 +45,7 @@ function computeSignals(page, allFindings) {
|
|
|
69
45
|
// Cliché reuse (signal 6): 1.0 if common-phrase-reuse doesn't fire, 0.0 if it does
|
|
70
46
|
const hasClicheReuse = pageFindings.some((f) => f.ruleId === "content/common-phrase-reuse");
|
|
71
47
|
const clicheReuse = hasClicheReuse ? 0.0 : 1.0;
|
|
72
|
-
// Wikipedia paraphrase (signal 7
|
|
73
|
-
// fire on this page, 0.0 if it does. The rule fires at warning/low when
|
|
74
|
-
// page text overlaps ≥40% with the bundled trigram corpus — a real signal
|
|
75
|
-
// for "content lifted from Wikipedia," orthogonal to the other 6 originality
|
|
76
|
-
// proxies. Adding it shifts each signal's weight from 1/6 (16.7%) to 1/7
|
|
77
|
-
// (14.3%) — boundary cases at score=0.30 and score=0.50 may shift by
|
|
78
|
-
// ±0.024 per signal, which is below the granularity of severity bands.
|
|
48
|
+
// Wikipedia paraphrase (signal 7): 1.0 if wikipedia-paraphrase doesn't fire, 0.0 if it does
|
|
79
49
|
const hasWikipediaParaphrase = pageFindings.some((f) => f.ruleId === "content/wikipedia-paraphrase");
|
|
80
50
|
const wikipediaParaphrase = hasWikipediaParaphrase ? 0.0 : 1.0;
|
|
81
51
|
return { originality, freshness, facts, eeat, translation, clicheReuse, wikipediaParaphrase };
|
|
@@ -92,10 +62,24 @@ function meanScore(signals) {
|
|
|
92
62
|
];
|
|
93
63
|
return values.reduce((a, b) => a + b, 0) / values.length;
|
|
94
64
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Two-band severity for the composite score:
|
|
67
|
+
* - score in [0.35, 0.5) → "warning" (borderline: page is weak but not egregiously thin)
|
|
68
|
+
* - score < 0.35 → "error" (clearly low value-add)
|
|
69
|
+
*
|
|
70
|
+
* Confidence scales with distance from the fire threshold:
|
|
71
|
+
* - score < 0.2 → "high"
|
|
72
|
+
* - score in [0.2, 0.35) → "medium"
|
|
73
|
+
* - score in [0.35, 0.5) → "low" (borderline warning)
|
|
74
|
+
*/
|
|
75
|
+
function severityAndConfidence(score) {
|
|
76
|
+
if (score >= 0.35) {
|
|
77
|
+
return { severity: "warning", confidence: "low" };
|
|
78
|
+
}
|
|
79
|
+
if (score < 0.2) {
|
|
80
|
+
return { severity: "error", confidence: "high" };
|
|
81
|
+
}
|
|
82
|
+
return { severity: "error", confidence: "medium" };
|
|
99
83
|
}
|
|
100
84
|
function buildMessage(page, score, signals) {
|
|
101
85
|
const pct = (v) => `${(v * 100).toFixed(0)}%`;
|
|
@@ -119,8 +103,14 @@ function buildMessage(page, score, signals) {
|
|
|
119
103
|
* Aggregates 7 per-page signal scores (originality, freshness, facts,
|
|
120
104
|
* E-E-A-T, translation, cliché-reuse, wikipedia-paraphrase) into a
|
|
121
105
|
* single 0-1 quality score. Each signal weighted equally at 1/7 ≈ 14.3%.
|
|
122
|
-
*
|
|
123
|
-
*
|
|
106
|
+
*
|
|
107
|
+
* E-E-A-T sub-score is a continuous fraction (categoriesPresent/4), not
|
|
108
|
+
* a 3-step value. Reuses countSignalCategories from eeat-signals to avoid
|
|
109
|
+
* logic drift between the two rules.
|
|
110
|
+
*
|
|
111
|
+
* Fires ONE finding per page when score < 0.5:
|
|
112
|
+
* - warning (score ∈ [0.35, 0.5)) — borderline, low confidence
|
|
113
|
+
* - error (score < 0.35) — clearly low value-add
|
|
124
114
|
*/
|
|
125
115
|
export function valueAddRule(pages, findings) {
|
|
126
116
|
const results = [];
|
|
@@ -129,10 +119,11 @@ export function valueAddRule(pages, findings) {
|
|
|
129
119
|
const score = meanScore(signals);
|
|
130
120
|
if (score >= 0.5)
|
|
131
121
|
continue;
|
|
122
|
+
const { severity, confidence } = severityAndConfidence(score);
|
|
132
123
|
results.push({
|
|
133
124
|
ruleId: RULE_ID,
|
|
134
|
-
severity
|
|
135
|
-
confidence
|
|
125
|
+
severity,
|
|
126
|
+
confidence,
|
|
136
127
|
message: buildMessage(page, score, signals),
|
|
137
128
|
fix: "Add proprietary content (original analysis, primary-source data, expert commentary, original imagery) to lift the value-add score above 0.5. Score is a composite — improve any underweight signal.",
|
|
138
129
|
pageUrl: page.url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-add.js","sourceRoot":"","sources":["../../../src/rules/content/value-add.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"value-add.js","sourceRoot":"","sources":["../../../src/rules/content/value-add.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { ParsedPage, RuleResult } from "../../types.js";
|
|
2
2
|
/**
|
|
3
|
-
* content/wikipedia-paraphrase —
|
|
3
|
+
* content/wikipedia-paraphrase — advisory originality signal (v0.5.14+).
|
|
4
4
|
*
|
|
5
|
-
* Detects pages whose contentText has high trigram overlap with the
|
|
6
|
-
* Wikipedia reference corpus.
|
|
7
|
-
*
|
|
5
|
+
* Detects pages whose contentText has unusually high trigram overlap with the
|
|
6
|
+
* bundled Wikipedia reference corpus. This is a weak, advisory signal only:
|
|
7
|
+
* trigram overlap cannot distinguish actual paraphrase from legitimate topical
|
|
8
|
+
* proximity (e.g. a legal-template page naturally shares many encyclopedic
|
|
9
|
+
* trigrams with Wikipedia articles on the same topic).
|
|
8
10
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
+
* Two guards reduce false positives:
|
|
12
|
+
* 1. Minimum-length guard: pages below MIN_TRIGRAM_COUNT trigrams (~200
|
|
13
|
+
* words) are skipped entirely — bloom noise alone dominates on short pages.
|
|
14
|
+
* 2. Raised threshold: THRESHOLD = 0.55, well above the bloom noise floor
|
|
15
|
+
* (~5%) and typical topical-proximity baseline.
|
|
11
16
|
*
|
|
12
|
-
* Fires: one warning/low-confidence finding per qualifying page (rate >= 0.
|
|
17
|
+
* Fires: one warning/low-confidence finding per qualifying page (rate >= 0.55).
|
|
13
18
|
*/
|
|
14
19
|
export declare function wikipediaParaphraseRule(pages: ParsedPage[]): RuleResult[];
|
|
15
20
|
//# sourceMappingURL=wikipedia-paraphrase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wikipedia-paraphrase.d.ts","sourceRoot":"","sources":["../../../src/rules/content/wikipedia-paraphrase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"wikipedia-paraphrase.d.ts","sourceRoot":"","sources":["../../../src/rules/content/wikipedia-paraphrase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkC7D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAgCzE"}
|