aeoptimize 0.2.2 → 0.4.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.
@@ -17,7 +17,7 @@ export function generateLlmsTxt(report, siteInfo) {
17
17
  lines.push('## Pages');
18
18
  lines.push('');
19
19
  for (const page of report.pages) {
20
- const url = page.url.startsWith('http') ? page.url : page.url;
20
+ const url = page.url;
21
21
  lines.push(`- [${page.title}](${url}): AI readability score ${page.scores.total}/100`);
22
22
  }
23
23
  lines.push('');
@@ -29,7 +29,11 @@ export function generateLlmsFullTxt(report, pages) {
29
29
  for (const page of pages) {
30
30
  lines.push(`## ${page.title}`);
31
31
  lines.push('');
32
- lines.push(page.rawText.slice(0, 5000)); // Cap per page
32
+ const maxChars = 5000;
33
+ lines.push(page.rawText.slice(0, maxChars));
34
+ if (page.rawText.length > maxChars) {
35
+ lines.push(`\n[Content truncated: ${page.rawText.length} chars total, showing first ${maxChars}]`);
36
+ }
33
37
  lines.push('');
34
38
  lines.push('---');
35
39
  lines.push('');
@@ -37,7 +41,7 @@ export function generateLlmsFullTxt(report, pages) {
37
41
  return lines.join('\n');
38
42
  }
39
43
  export function generateJsonLd(doc) {
40
- const existing = new Set(doc.jsonLd.map((ld) => ld['@type']));
44
+ const existing = new Set(doc.jsonLd.map((ld) => ld['@type']).filter(Boolean));
41
45
  const generated = [];
42
46
  // Add Article if not present and looks like an article
43
47
  if (!existing.has('Article') && !existing.has('TechArticle') && !existing.has('BlogPosting')) {
@@ -57,15 +61,22 @@ export function generateJsonLd(doc) {
57
61
  const questionHeadings = doc.headings.filter((h) => h.text.endsWith('?'));
58
62
  if (questionHeadings.length >= 2) {
59
63
  const mainEntity = questionHeadings.map((q) => {
60
- // Find the paragraph after this heading
61
- const idx = doc.headings.indexOf(q);
62
- const nextHeadingIdx = idx + 1 < doc.headings.length ? doc.headings.indexOf(doc.headings[idx + 1]) : doc.headings.length;
63
- // Simple heuristic: use the next paragraph
64
- const answerParagraph = doc.paragraphs[idx] || 'Answer not extracted.';
64
+ // Find paragraphs that likely answer this question by searching rawText
65
+ // Look for content between this heading and the next heading
66
+ const qIdx = doc.rawText.indexOf(q.text);
67
+ let answer = 'Answer not extracted.';
68
+ if (qIdx !== -1) {
69
+ const afterQuestion = doc.rawText.slice(qIdx + q.text.length, qIdx + q.text.length + 500).trim();
70
+ // Take first sentence-like chunk
71
+ const firstChunk = afterQuestion.split(/\n\n|\.\s/)[0]?.trim();
72
+ if (firstChunk && firstChunk.length > 10) {
73
+ answer = firstChunk.endsWith('.') ? firstChunk : firstChunk + '.';
74
+ }
75
+ }
65
76
  return {
66
77
  '@type': 'Question',
67
78
  name: q.text,
68
- acceptedAnswer: { '@type': 'Answer', text: answerParagraph },
79
+ acceptedAnswer: { '@type': 'Answer', text: answer },
69
80
  };
70
81
  });
71
82
  generated.push({
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/core/generator.ts"],"names":[],"mappings":"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"}
@@ -21,12 +21,21 @@ export function mergeScores(ruleReport, aiScores) {
21
21
  const sources = availableAiScores.map((s) => s.source).join(', ');
22
22
  methodology = `Rule engine (50%) + AI average [${sources}] (50%)`;
23
23
  }
24
+ // Merge per-dimension scores if AI data available
25
+ const aiDims = averageAiDimensions(availableAiScores);
26
+ const ruleWeight = availableAiScores.length >= 2 ? 0.5 : availableAiScores.length === 1 ? 0.6 : 1.0;
27
+ const aiWeight = 1.0 - ruleWeight;
28
+ const dimMax = { structure: 25, citability: 25, schema: 20, aiMetadata: 15, contentDensity: 15 };
29
+ const mergedOverall = { ...ruleReport.overall, total: consensusScore };
30
+ if (aiDims) {
31
+ const dims = ['structure', 'citability', 'schema', 'aiMetadata', 'contentDensity'];
32
+ for (const dim of dims) {
33
+ mergedOverall[dim] = Math.min(dimMax[dim], Math.round(ruleReport.overall[dim] * ruleWeight + aiDims[dim] * aiWeight));
34
+ }
35
+ }
24
36
  return {
25
37
  ...ruleReport,
26
- overall: {
27
- ...ruleReport.overall,
28
- total: consensusScore,
29
- },
38
+ overall: mergedOverall,
30
39
  ruleScore,
31
40
  aiScores,
32
41
  consensusScore,
@@ -1 +1 @@
1
- {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/core/merger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/core/merger.ts"],"names":[],"mappings":"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"}
@@ -35,19 +35,23 @@ const headingHierarchy = {
35
35
  });
36
36
  }
37
37
  // Check for skipped levels (e.g., H1 -> H3)
38
+ let skipCount = 0;
38
39
  for (let i = 1; i < headings.length; i++) {
39
40
  const prev = headings[i - 1].level;
40
41
  const curr = headings[i].level;
41
42
  if (curr > prev + 1) {
42
- score -= 2;
43
- issues.push({
44
- dimension: 'structure',
45
- severity: 'warning',
46
- message: `Heading level skipped: H${prev} → H${curr}. This confuses AI content parsing.`,
47
- });
48
- break;
43
+ skipCount++;
44
+ if (skipCount <= 3) {
45
+ issues.push({
46
+ dimension: 'structure',
47
+ severity: 'warning',
48
+ message: `Heading level skipped: H${prev} → H${curr}. This confuses AI content parsing.`,
49
+ });
50
+ }
49
51
  }
50
52
  }
53
+ if (skipCount > 0)
54
+ score -= Math.min(3, skipCount);
51
55
  // Check heading count relative to content
52
56
  const wordCount = doc.rawText.split(/\s+/).length;
53
57
  if (wordCount > 500 && headings.length < 3) {
@@ -171,7 +175,8 @@ const selfContainedStatements = {
171
175
  return { score: 0, maxScore: 8, issues, suggestions };
172
176
  }
173
177
  // Heuristic: paragraphs starting with pronouns or relative references are not self-contained
174
- const danglingStarts = /^(this|that|these|those|it|they|he|she|however|moreover|furthermore|additionally|also|but|and|or)\b/i;
178
+ // Only flag strong dangling references (pronouns/demonstratives), not conjunctions
179
+ const danglingStarts = /^(this|that|these|those|it|they|he|she|however|moreover|furthermore|additionally)\b/i;
175
180
  const danglingParagraphs = doc.paragraphs.filter((p) => danglingStarts.test(p.trim()));
176
181
  const ratio = danglingParagraphs.length / doc.paragraphs.length;
177
182
  let score = 8;
@@ -321,8 +326,7 @@ const jsonLdCompleteness = {
321
326
  let checked = 0;
322
327
  for (const ld of doc.jsonLd) {
323
328
  checked++;
324
- const obj = ld;
325
- const missing = requiredFields.filter((f) => !obj[f]);
329
+ const missing = requiredFields.filter((f) => !ld[f]);
326
330
  if (missing.length === 0) {
327
331
  totalScore += 7;
328
332
  }
@@ -331,7 +335,7 @@ const jsonLdCompleteness = {
331
335
  issues.push({
332
336
  dimension: 'schema',
333
337
  severity: 'warning',
334
- message: `JSON-LD (${obj['@type'] || 'unknown'}) missing fields: ${missing.join(', ')}`,
338
+ message: `JSON-LD (${ld['@type'] || 'unknown'}) missing fields: ${missing.join(', ')}`,
335
339
  });
336
340
  }
337
341
  }
@@ -339,8 +343,7 @@ const jsonLdCompleteness = {
339
343
  // Check for author/datePublished on Article types
340
344
  const articles = doc.jsonLd.filter((ld) => /article/i.test(ld['@type'] || ''));
341
345
  for (const article of articles) {
342
- const obj = article;
343
- if (!obj.author) {
346
+ if (!article.author) {
344
347
  suggestions.push({
345
348
  dimension: 'schema',
346
349
  action: 'Add author field to Article schema',
@@ -348,7 +351,7 @@ const jsonLdCompleteness = {
348
351
  detail: 'Articles with author attribution are more likely to be cited by AI.',
349
352
  });
350
353
  }
351
- if (!obj.datePublished) {
354
+ if (!article.datePublished) {
352
355
  suggestions.push({
353
356
  dimension: 'schema',
354
357
  action: 'Add datePublished to Article schema',
@@ -526,12 +529,12 @@ const keywordStuffingDetection = {
526
529
  evaluate(doc) {
527
530
  const issues = [];
528
531
  const suggestions = [];
529
- const words = doc.rawText.toLowerCase().split(/\s+/).filter((w) => w.length > 3);
532
+ const words = doc.rawText.toLowerCase().split(/\s+/).filter((w) => w.length > 1);
530
533
  if (words.length < 50) {
531
534
  return { score: 5, maxScore: 5, issues, suggestions };
532
535
  }
533
536
  // Count word frequency, excluding common stop words
534
- const stopWords = new Set(['that', 'this', 'with', 'from', 'have', 'been', 'they', 'their', 'will', 'would', 'could', 'should', 'about', 'which', 'when', 'what', 'there', 'where', 'your', 'more', 'some', 'than', 'them', 'into', 'other', 'also', 'just', 'only', 'very', 'does', 'each']);
537
+ const stopWords = new Set(['the', 'and', 'for', 'are', 'but', 'not', 'you', 'all', 'can', 'had', 'her', 'was', 'one', 'our', 'out', 'has', 'his', 'how', 'its', 'may', 'new', 'now', 'old', 'see', 'way', 'who', 'did', 'get', 'let', 'say', 'she', 'too', 'use', 'that', 'this', 'with', 'from', 'have', 'been', 'they', 'their', 'will', 'would', 'could', 'should', 'about', 'which', 'when', 'what', 'there', 'where', 'your', 'more', 'some', 'than', 'them', 'into', 'other', 'also', 'just', 'only', 'very', 'does', 'each']);
535
538
  const freq = new Map();
536
539
  for (const word of words) {
537
540
  if (stopWords.has(word))
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/core/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/core/rules.ts"],"names":[],"mappings":"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"}
@@ -17,11 +17,11 @@ export function parseHtml(html, url) {
17
17
  text: $(el).text().trim(),
18
18
  });
19
19
  });
20
- // Extract paragraphs
20
+ // Extract paragraphs (from p, li, dd, and direct text in div/section)
21
21
  const paragraphs = [];
22
- $('p').each((_, el) => {
22
+ $('p, li, dd').each((_, el) => {
23
23
  const text = $(el).text().trim();
24
- if (text.length > 0)
24
+ if (text.length > 20)
25
25
  paragraphs.push(text);
26
26
  });
27
27
  // Extract JSON-LD
@@ -153,14 +153,11 @@ function aggregateScores(doc) {
153
153
  allIssues.push(...result.issues);
154
154
  allSuggestions.push(...result.suggestions);
155
155
  }
156
- // Dimension max points
157
- const dimensionMaxPoints = {
158
- structure: 25,
159
- citability: 25,
160
- schema: 20,
161
- aiMetadata: 15,
162
- contentDensity: 15,
163
- };
156
+ // Derive dimension max points from actual rule weights (not hardcoded)
157
+ const dimensionMaxPoints = { structure: 0, citability: 0, schema: 0, aiMetadata: 0, contentDensity: 0 };
158
+ for (const rule of allRules) {
159
+ dimensionMaxPoints[rule.dimension] += rule.weight;
160
+ }
164
161
  const scores = {
165
162
  structure: 0,
166
163
  citability: 0,
@@ -187,7 +184,12 @@ export function scanDocument(doc) {
187
184
  suggestions,
188
185
  };
189
186
  }
187
+ const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
190
188
  export async function scanFile(filePath) {
189
+ const fileStats = await stat(filePath);
190
+ if (fileStats.size > MAX_FILE_SIZE) {
191
+ throw new Error(`File too large (${(fileStats.size / 1024 / 1024).toFixed(1)}MB). Maximum is 5MB.`);
192
+ }
191
193
  const content = await readFile(filePath, 'utf-8');
192
194
  const ext = extname(filePath).toLowerCase();
193
195
  let doc;
@@ -217,7 +219,19 @@ export async function scanDirectory(dirPath) {
217
219
  const summary = generateSummary(overall, pages.length);
218
220
  return { pages, overall, summary, timestamp: new Date().toISOString() };
219
221
  }
222
+ function validateUrl(raw) {
223
+ const u = new URL(raw);
224
+ if (u.protocol !== 'https:' && u.protocol !== 'http:') {
225
+ throw new Error(`Unsupported scheme: ${u.protocol}. Only http and https are allowed.`);
226
+ }
227
+ const blocked = /^(127\.|10\.|192\.168\.|172\.(1[6-9]|2\d|3[01])\.|169\.254\.|::1$|localhost$)/i;
228
+ if (blocked.test(u.hostname)) {
229
+ throw new Error('Scanning private/loopback addresses is not allowed.');
230
+ }
231
+ return u;
232
+ }
220
233
  export async function scanUrl(url) {
234
+ validateUrl(url);
221
235
  const response = await fetch(url);
222
236
  if (!response.ok) {
223
237
  throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}`);
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/core/scanner.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,11 @@ export interface Link {
35
35
  text: string;
36
36
  rel?: string;
37
37
  }
38
+ export interface JsonLdObject {
39
+ '@type'?: string;
40
+ '@context'?: string;
41
+ [key: string]: unknown;
42
+ }
38
43
  export interface ParsedDocument {
39
44
  url: string;
40
45
  title: string;
@@ -43,7 +48,7 @@ export interface ParsedDocument {
43
48
  frontmatter?: Record<string, unknown>;
44
49
  headings: Heading[];
45
50
  paragraphs: string[];
46
- jsonLd: object[];
51
+ jsonLd: JsonLdObject[];
47
52
  metaTags: Record<string, string>;
48
53
  links: Link[];
49
54
  rawText: string;
@@ -0,0 +1,14 @@
1
+ interface NextConfig {
2
+ webpack?: (config: any, context: any) => any;
3
+ [key: string]: unknown;
4
+ }
5
+ export declare function withAeo(nextConfig?: NextConfig, options?: {
6
+ silent?: boolean;
7
+ outDir?: string;
8
+ }): {
9
+ webpack(config: any, ctx: {
10
+ isServer: boolean;
11
+ dev: boolean;
12
+ }): any;
13
+ };
14
+ export {};
@@ -0,0 +1,49 @@
1
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
+ import { join, extname } from 'node:path';
3
+ import { existsSync } from 'node:fs';
4
+ import { scanDirectory, parseHtml, parseMarkdown } from '../core/scanner.js';
5
+ import { generate } from '../core/generator.js';
6
+ export function withAeo(nextConfig = {}, options) {
7
+ const userWebpack = nextConfig.webpack;
8
+ return {
9
+ ...nextConfig,
10
+ webpack(config, ctx) {
11
+ if (ctx.isServer && !ctx.dev) {
12
+ config.plugins.push({
13
+ apply(compiler) {
14
+ compiler.hooks.afterEmit.tapPromise('AeoPlugin', async () => {
15
+ const cwd = process.cwd();
16
+ const outDir = options?.outDir ?? (existsSync(join(cwd, 'out')) ? join(cwd, 'out') : join(cwd, '.next'));
17
+ const report = await scanDirectory(outDir);
18
+ if (report.pages.length === 0)
19
+ return;
20
+ const pages = [];
21
+ for (const page of report.pages) {
22
+ try {
23
+ const content = await readFile(page.url, 'utf-8');
24
+ const ext = extname(page.url).toLowerCase();
25
+ pages.push(ext === '.md' || ext === '.mdx' ? parseMarkdown(content, page.url) : parseHtml(content, page.url));
26
+ }
27
+ catch { /* skip */ }
28
+ }
29
+ const siteInfo = { name: 'Next.js Site', description: '', baseUrl: outDir };
30
+ const output = generate(report, pages, siteInfo);
31
+ await writeFile(join(outDir, 'llms.txt'), output.llmsTxt, 'utf-8');
32
+ await writeFile(join(outDir, 'llms-full.txt'), output.llmsFullTxt, 'utf-8');
33
+ if (output.jsonLd.length > 0) {
34
+ await mkdir(join(outDir, '_aeo'), { recursive: true });
35
+ await writeFile(join(outDir, '_aeo', 'generated-schemas.json'), JSON.stringify(output.jsonLd, null, 2), 'utf-8');
36
+ }
37
+ if (!options?.silent) {
38
+ console.log(`[aeoptimize] AEO Score: ${report.overall.total}/100 (${report.pages.length} pages)`);
39
+ console.log(`[aeoptimize] Generated: llms.txt, llms-full.txt${output.jsonLd.length ? ', _aeo/generated-schemas.json' : ''}`);
40
+ }
41
+ });
42
+ },
43
+ });
44
+ }
45
+ return userWebpack ? userWebpack(config, ctx) : config;
46
+ },
47
+ };
48
+ }
49
+ //# sourceMappingURL=next.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next.js","sourceRoot":"","sources":["../../src/plugins/next.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare function aeoPlugin(options?: {
2
+ silent?: boolean;
3
+ outDir?: string;
4
+ }): {
5
+ name: string;
6
+ configResolved(config: {
7
+ build: {
8
+ outDir: string;
9
+ };
10
+ }): void;
11
+ closeBundle(): Promise<void>;
12
+ };
@@ -0,0 +1,48 @@
1
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
+ import { join, extname } from 'node:path';
3
+ import { scanDirectory, parseHtml, parseMarkdown } from '../core/scanner.js';
4
+ import { generate } from '../core/generator.js';
5
+ export function aeoPlugin(options) {
6
+ let resolvedOutDir = 'dist';
7
+ return {
8
+ name: 'aeoptimize',
9
+ configResolved(config) {
10
+ resolvedOutDir = config.build.outDir;
11
+ },
12
+ async closeBundle() {
13
+ const outDir = options?.outDir || resolvedOutDir;
14
+ const report = await scanDirectory(outDir);
15
+ if (report.pages.length === 0) {
16
+ if (!options?.silent)
17
+ console.log('[aeoptimize] No pages found in build output.');
18
+ return;
19
+ }
20
+ const pages = [];
21
+ for (const page of report.pages) {
22
+ try {
23
+ const content = await readFile(page.url, 'utf-8');
24
+ const ext = extname(page.url).toLowerCase();
25
+ pages.push(ext === '.md' || ext === '.mdx' ? parseMarkdown(content, page.url) : parseHtml(content, page.url));
26
+ }
27
+ catch { /* skip unreadable */ }
28
+ }
29
+ const siteInfo = {
30
+ name: pages[0]?.title?.split('|')[0]?.trim() || 'Site',
31
+ description: pages[0]?.metaTags?.description || '',
32
+ baseUrl: outDir,
33
+ };
34
+ const output = generate(report, pages, siteInfo);
35
+ await writeFile(join(outDir, 'llms.txt'), output.llmsTxt, 'utf-8');
36
+ await writeFile(join(outDir, 'llms-full.txt'), output.llmsFullTxt, 'utf-8');
37
+ if (output.jsonLd.length > 0) {
38
+ await mkdir(join(outDir, '_aeo'), { recursive: true });
39
+ await writeFile(join(outDir, '_aeo', 'generated-schemas.json'), JSON.stringify(output.jsonLd, null, 2), 'utf-8');
40
+ }
41
+ if (!options?.silent) {
42
+ console.log(`[aeoptimize] AEO Score: ${report.overall.total}/100 (${report.pages.length} pages)`);
43
+ console.log(`[aeoptimize] Generated: llms.txt, llms-full.txt${output.jsonLd.length ? ', _aeo/generated-schemas.json' : ''}`);
44
+ }
45
+ },
46
+ };
47
+ }
48
+ //# sourceMappingURL=vite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../src/plugins/vite.ts"],"names":[],"mappings":"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"}