aeoptimize 0.5.2 → 0.6.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.
@@ -2,7 +2,7 @@
2
2
  const headingHierarchy = {
3
3
  id: 'heading-hierarchy',
4
4
  dimension: 'structure',
5
- weight: 8,
5
+ weight: 10,
6
6
  evaluate(doc) {
7
7
  const issues = [];
8
8
  const suggestions = [];
@@ -11,27 +11,19 @@ const headingHierarchy = {
11
11
  issues.push({
12
12
  dimension: 'structure',
13
13
  severity: 'critical',
14
- message: 'No headings found. AI engines rely on heading structure to understand content hierarchy.',
14
+ message: 'No headings found. Descriptive headings help readers and parsers understand the page structure.',
15
15
  });
16
- return { score: 0, maxScore: 8, issues, suggestions };
16
+ return { score: 0, maxScore: 10, issues, suggestions };
17
17
  }
18
- let score = 8;
19
- // Check for single H1
18
+ let score = 10;
19
+ // A clear main heading is useful, but multiple H1 elements are not an automatic SEO error.
20
20
  const h1s = headings.filter((h) => h.level === 1);
21
21
  if (h1s.length === 0) {
22
- score -= 3;
23
- issues.push({
24
- dimension: 'structure',
25
- severity: 'warning',
26
- message: 'No H1 heading found. Every page should have exactly one H1.',
27
- });
28
- }
29
- else if (h1s.length > 1) {
30
22
  score -= 2;
31
23
  issues.push({
32
24
  dimension: 'structure',
33
25
  severity: 'warning',
34
- message: `Found ${h1s.length} H1 headings. Use exactly one H1 per page.`,
26
+ message: 'No H1 heading found. Add a descriptive main heading when the page does not expose an equivalent primary title.',
35
27
  });
36
28
  }
37
29
  // Check for skipped levels (e.g., H1 -> H3)
@@ -45,7 +37,7 @@ const headingHierarchy = {
45
37
  issues.push({
46
38
  dimension: 'structure',
47
39
  severity: 'warning',
48
- message: `Heading level skipped: H${prev} → H${curr}. This confuses AI content parsing.`,
40
+ message: `Heading level skipped: H${prev} → H${curr}. Review whether the document outline still communicates the intended hierarchy.`,
49
41
  });
50
42
  }
51
43
  }
@@ -60,32 +52,32 @@ const headingHierarchy = {
60
52
  dimension: 'structure',
61
53
  action: 'Add more headings to break up long content',
62
54
  impact: 'medium',
63
- detail: `${wordCount} words with only ${headings.length} headings. Aim for one heading per 200-300 words.`,
55
+ detail: `${wordCount} words with only ${headings.length} headings. Add sections where they improve navigation; no fixed heading-to-word ratio is required.`,
64
56
  });
65
57
  }
66
- return { score: Math.max(0, score), maxScore: 8, issues, suggestions };
58
+ return { score: Math.max(0, score), maxScore: 10, issues, suggestions };
67
59
  },
68
60
  };
69
61
  const paragraphLength = {
70
62
  id: 'paragraph-length',
71
63
  dimension: 'structure',
72
- weight: 7,
64
+ weight: 8,
73
65
  evaluate(doc) {
74
66
  const issues = [];
75
67
  const suggestions = [];
76
68
  const { paragraphs } = doc;
77
69
  if (paragraphs.length === 0) {
78
- return { score: 0, maxScore: 7, issues: [{ dimension: 'structure', severity: 'warning', message: 'No paragraphs detected.' }], suggestions };
70
+ return { score: 0, maxScore: 8, issues: [{ dimension: 'structure', severity: 'warning', message: 'No paragraphs detected.' }], suggestions };
79
71
  }
80
72
  const longParagraphs = paragraphs.filter((p) => p.split(/\s+/).length > 150);
81
73
  const ratio = longParagraphs.length / paragraphs.length;
82
- let score = 7;
74
+ let score = 8;
83
75
  if (ratio > 0.5) {
84
76
  score -= 5;
85
77
  issues.push({
86
78
  dimension: 'structure',
87
79
  severity: 'critical',
88
- message: `${longParagraphs.length}/${paragraphs.length} paragraphs exceed 150 words. LLMs struggle to extract citable quotes from long paragraphs.`,
80
+ message: `${longParagraphs.length}/${paragraphs.length} paragraphs exceed the configured 150-word readability heuristic.`,
89
81
  });
90
82
  }
91
83
  else if (ratio > 0.2) {
@@ -93,74 +85,48 @@ const paragraphLength = {
93
85
  issues.push({
94
86
  dimension: 'structure',
95
87
  severity: 'warning',
96
- message: `${longParagraphs.length} paragraphs exceed 150 words. Split them for better AI citability.`,
88
+ message: `${longParagraphs.length} paragraphs exceed the configured 150-word readability heuristic.`,
97
89
  });
98
90
  }
99
91
  if (longParagraphs.length > 0) {
100
92
  suggestions.push({
101
93
  dimension: 'structure',
102
- action: 'Split long paragraphs into self-contained statements',
94
+ action: 'Review long paragraphs for readability',
103
95
  impact: 'high',
104
- detail: 'Ideal paragraph length for AI extraction: 40-80 words. Each paragraph should express one complete idea.',
96
+ detail: 'Split only where it improves comprehension. Paragraph length is a configurable heuristic, not a ranking or citation factor.',
105
97
  });
106
98
  }
107
- return { score: Math.max(0, score), maxScore: 7, issues, suggestions };
99
+ return { score: Math.max(0, score), maxScore: 8, issues, suggestions };
108
100
  },
109
101
  };
110
102
  const faqPresence = {
111
103
  id: 'faq-presence',
112
104
  dimension: 'structure',
113
- weight: 5,
114
- evaluate(doc) {
115
- const issues = [];
116
- const suggestions = [];
117
- const hasFaqHeading = doc.headings.some((h) => /faq|frequently asked|common questions/i.test(h.text));
118
- const hasFaqSchema = doc.jsonLd.some((ld) => ld['@type'] === 'FAQPage');
119
- const hasQuestionHeadings = doc.headings.filter((h) => h.text.endsWith('?')).length >= 2;
120
- let score = 0;
121
- if (hasFaqSchema)
122
- score += 3;
123
- if (hasFaqHeading || hasQuestionHeadings)
124
- score += 2;
125
- if (score === 0) {
126
- suggestions.push({
127
- dimension: 'structure',
128
- action: 'Add FAQ section with question-format headings',
129
- impact: 'high',
130
- detail: 'FAQ sections are highly cited by AI search engines. Structure as H2/H3 questions with concise answers.',
131
- });
132
- }
133
- else if (!hasFaqSchema && (hasFaqHeading || hasQuestionHeadings)) {
134
- suggestions.push({
135
- dimension: 'structure',
136
- action: 'Add FAQPage JSON-LD schema for existing FAQ content',
137
- impact: 'medium',
138
- detail: 'You have FAQ-like content but no FAQPage schema markup.',
139
- });
140
- }
141
- return { score: Math.min(5, score), maxScore: 5, issues, suggestions };
105
+ weight: 0,
106
+ evaluate(_doc) {
107
+ return { score: 0, maxScore: 0, issues: [], suggestions: [] };
142
108
  },
143
109
  };
144
110
  const listUsage = {
145
111
  id: 'list-usage',
146
112
  dimension: 'structure',
147
- weight: 5,
113
+ weight: 7,
148
114
  evaluate(doc) {
149
115
  const suggestions = [];
150
116
  // Check for list-like patterns in raw text
151
117
  const hasLists = /(?:<[ou]l>|^[-*]\s|^\d+\.\s)/m.test(doc.html || doc.markdown || '');
152
118
  const wordCount = doc.rawText.split(/\s+/).length;
153
- let score = 5;
119
+ let score = 7;
154
120
  if (!hasLists && wordCount > 300) {
155
- score = 2;
121
+ score = 4;
156
122
  suggestions.push({
157
123
  dimension: 'structure',
158
124
  action: 'Add bullet or numbered lists for scannable content',
159
125
  impact: 'low',
160
- detail: 'Lists help AI engines extract key points. Convert sequences or steps into structured lists.',
126
+ detail: 'Use a list when the content is genuinely a sequence or set; do not convert prose only to satisfy the score.',
161
127
  });
162
128
  }
163
- return { score, maxScore: 5, issues: [], suggestions };
129
+ return { score, maxScore: 7, issues: [], suggestions };
164
130
  },
165
131
  };
166
132
  // ── Citability Rules (25 pts) ──────────────────────────────────────
@@ -207,32 +173,31 @@ const dataStatsPresence = {
207
173
  dimension: 'citability',
208
174
  weight: 7,
209
175
  evaluate(doc) {
176
+ const issues = [];
210
177
  const suggestions = [];
211
178
  // Look for numbers, percentages, dates, monetary values
212
179
  const dataPatterns = /(\d+%|\$[\d,.]+|€[\d,.]+|\d{4}[-/]\d{2}[-/]\d{2}|\d+\s*(users|customers|companies|countries|years|months|hours|minutes|seconds|ms|GB|MB|TB|requests|transactions))/gi;
213
180
  const matches = doc.rawText.match(dataPatterns) || [];
214
- const wordCount = doc.rawText.split(/\s+/).length;
215
- const dataPerKWords = (matches.length / wordCount) * 1000;
216
- let score;
217
- if (dataPerKWords >= 3) {
218
- score = 7;
219
- }
220
- else if (dataPerKWords >= 1) {
221
- score = 5;
222
- }
223
- else if (matches.length > 0) {
224
- score = 3;
181
+ if (matches.length === 0) {
182
+ return { score: 7, maxScore: 7, issues, suggestions };
225
183
  }
226
- else {
227
- score = 1;
184
+ const hasSourceLanguage = /(?:according to|source:|reference:|cited from|data from)/i.test(doc.rawText);
185
+ const hasExternalLink = doc.links.some((link) => /^https?:\/\//i.test(link.href));
186
+ if (!hasSourceLanguage && !hasExternalLink) {
187
+ issues.push({
188
+ dimension: 'citability',
189
+ severity: 'warning',
190
+ message: `Found ${matches.length} quantitative claim${matches.length === 1 ? '' : 's'} without a detectable source reference.`,
191
+ });
228
192
  suggestions.push({
229
193
  dimension: 'citability',
230
- action: 'Add specific data points, statistics, or metrics',
194
+ action: 'Cite the source for quantitative claims',
231
195
  impact: 'high',
232
- detail: 'AI engines strongly prefer content with concrete numbers. Add dates, percentages, counts, or benchmarks.',
196
+ detail: 'Do not add statistics merely to improve a score. Link each material number to a reliable source or explain the measurement method.',
233
197
  });
198
+ return { score: 3, maxScore: 7, issues, suggestions };
234
199
  }
235
- return { score, maxScore: 7, issues: [], suggestions };
200
+ return { score: 7, maxScore: 7, issues, suggestions };
236
201
  },
237
202
  };
238
203
  const clearDefinitions = {
@@ -256,7 +221,7 @@ const clearDefinitions = {
256
221
  dimension: 'citability',
257
222
  action: 'Add clear definitions for key terms',
258
223
  impact: 'medium',
259
- detail: 'Use "X is Y" pattern to define concepts. AI engines often extract these as featured snippets.',
224
+ detail: 'Define unfamiliar terms where readers need them. This is a clarity heuristic, not a featured-snippet guarantee.',
260
225
  });
261
226
  }
262
227
  return { score, maxScore: 5, issues: [], suggestions };
@@ -287,7 +252,7 @@ const attribution = {
287
252
  dimension: 'citability',
288
253
  action: 'Add author and publication date metadata',
289
254
  impact: 'medium',
290
- detail: 'AI engines weigh attributed content higher. Add meta author, published date, and source citations.',
255
+ detail: 'For authored or time-sensitive content, add accurate author, publication date, and source references. Omit fields that do not apply.',
291
256
  });
292
257
  }
293
258
  return { score: Math.min(5, score), maxScore: 5, issues, suggestions };
@@ -297,41 +262,41 @@ const attribution = {
297
262
  const jsonLdPresence = {
298
263
  id: 'json-ld-presence',
299
264
  dimension: 'schema',
300
- weight: 6,
265
+ weight: 8,
301
266
  evaluate(doc) {
302
267
  const issues = [];
303
268
  if (doc.jsonLd.length === 0) {
304
269
  issues.push({
305
270
  dimension: 'schema',
306
- severity: 'critical',
307
- message: 'No JSON-LD structured data found. AI engines rely heavily on structured data to understand content.',
271
+ severity: 'info',
272
+ message: 'No JSON-LD structured data found. Add a supported type only when it matches visible content and serves a defined search feature.',
308
273
  });
309
- return { score: 0, maxScore: 6, issues, suggestions: [] };
274
+ return { score: 8, maxScore: 8, issues, suggestions: [] };
310
275
  }
311
- return { score: 6, maxScore: 6, issues, suggestions: [] };
276
+ return { score: 8, maxScore: 8, issues, suggestions: [] };
312
277
  },
313
278
  };
314
279
  const jsonLdCompleteness = {
315
280
  id: 'json-ld-completeness',
316
281
  dimension: 'schema',
317
- weight: 7,
282
+ weight: 12,
318
283
  evaluate(doc) {
319
284
  const issues = [];
320
285
  const suggestions = [];
321
286
  if (doc.jsonLd.length === 0) {
322
- return { score: 0, maxScore: 7, issues, suggestions };
287
+ return { score: 12, maxScore: 12, issues, suggestions };
323
288
  }
324
- const requiredFields = ['@type', 'name', 'description'];
289
+ const requiredFields = ['@context', '@type'];
325
290
  let totalScore = 0;
326
291
  let checked = 0;
327
292
  for (const ld of doc.jsonLd) {
328
293
  checked++;
329
294
  const missing = requiredFields.filter((f) => !ld[f]);
330
295
  if (missing.length === 0) {
331
- totalScore += 7;
296
+ totalScore += 12;
332
297
  }
333
298
  else {
334
- totalScore += Math.max(0, 7 - missing.length * 2);
299
+ totalScore += Math.max(0, 12 - missing.length * 6);
335
300
  issues.push({
336
301
  dimension: 'schema',
337
302
  severity: 'warning',
@@ -348,7 +313,7 @@ const jsonLdCompleteness = {
348
313
  dimension: 'schema',
349
314
  action: 'Add author field to Article schema',
350
315
  impact: 'medium',
351
- detail: 'Articles with author attribution are more likely to be cited by AI.',
316
+ detail: 'Add an accurate author only when the visible article identifies that author.',
352
317
  });
353
318
  }
354
319
  if (!article.datePublished) {
@@ -356,69 +321,43 @@ const jsonLdCompleteness = {
356
321
  dimension: 'schema',
357
322
  action: 'Add datePublished to Article schema',
358
323
  impact: 'medium',
359
- detail: 'AI engines prefer content with clear publication dates.',
324
+ detail: 'Add the actual publication date only when it is visible or otherwise verifiable.',
360
325
  });
361
326
  }
362
327
  }
363
- return { score: Math.min(7, score), maxScore: 7, issues, suggestions };
328
+ return { score: Math.min(12, score), maxScore: 12, issues, suggestions };
364
329
  },
365
330
  };
366
331
  const aiRelevantSchemaTypes = {
367
332
  id: 'ai-relevant-schema-types',
368
333
  dimension: 'schema',
369
- weight: 7,
334
+ weight: 0,
370
335
  evaluate(doc) {
371
336
  const suggestions = [];
372
- const aiRelevantTypes = ['Article', 'FAQPage', 'HowTo', 'Product', 'Organization', 'BreadcrumbList', 'WebPage', 'TechArticle'];
373
- const foundTypes = new Set(doc.jsonLd.map((ld) => ld['@type']).filter(Boolean));
374
- const relevantFound = aiRelevantTypes.filter((t) => foundTypes.has(t));
375
- let score;
376
- if (relevantFound.length >= 3) {
377
- score = 7;
378
- }
379
- else if (relevantFound.length >= 2) {
380
- score = 5;
381
- }
382
- else if (relevantFound.length === 1) {
383
- score = 3;
384
- }
385
- else {
386
- score = 0;
337
+ if (doc.jsonLd.length > 0) {
387
338
  suggestions.push({
388
339
  dimension: 'schema',
389
- action: 'Add AI-relevant schema types',
390
- impact: 'high',
391
- detail: `Consider adding: ${aiRelevantTypes.slice(0, 4).join(', ')}. These types are most frequently extracted by AI search engines.`,
340
+ action: 'Validate structured data against the applicable feature documentation',
341
+ impact: 'low',
342
+ detail: 'Schema type count has no score impact. Validate required properties and ensure every value matches visible page content.',
392
343
  });
393
344
  }
394
- return { score, maxScore: 7, issues: [], suggestions };
345
+ return { score: 0, maxScore: 0, issues: [], suggestions };
395
346
  },
396
347
  };
397
348
  // ── AI Metadata Rules (15 pts) ─────────────────────────────────────
398
349
  const llmsTxtPresence = {
399
350
  id: 'llms-txt-presence',
400
351
  dimension: 'aiMetadata',
401
- weight: 5,
402
- evaluate(doc) {
403
- const suggestions = [];
404
- // For now, check meta tags for llms.txt reference or if the doc itself is llms.txt
405
- const hasLlmsTxtMeta = !!doc.metaTags['llms-txt'] || doc.links.some((l) => /llms\.txt/i.test(l.href));
406
- if (!hasLlmsTxtMeta) {
407
- suggestions.push({
408
- dimension: 'aiMetadata',
409
- action: 'Create and link an llms.txt file',
410
- impact: 'high',
411
- detail: 'llms.txt is the emerging standard for making your site AI-readable. Use `aeo generate` to create one.',
412
- });
413
- return { score: 0, maxScore: 5, issues: [], suggestions };
414
- }
415
- return { score: 5, maxScore: 5, issues: [], suggestions };
352
+ weight: 0,
353
+ evaluate(_doc) {
354
+ return { score: 0, maxScore: 0, issues: [], suggestions: [] };
416
355
  },
417
356
  };
418
357
  const robotsTxtAiConfig = {
419
358
  id: 'robots-txt-ai-config',
420
359
  dimension: 'aiMetadata',
421
- weight: 5,
360
+ weight: 8,
422
361
  evaluate(doc) {
423
362
  const suggestions = [];
424
363
  // This rule checks meta robots and hints; actual robots.txt checking is done at directory/URL level
@@ -427,29 +366,29 @@ const robotsTxtAiConfig = {
427
366
  if (hasNoindex) {
428
367
  return {
429
368
  score: 0,
430
- maxScore: 5,
369
+ maxScore: 8,
431
370
  issues: [{
432
371
  dimension: 'aiMetadata',
433
372
  severity: 'critical',
434
- message: 'Page has noindex meta tag. AI crawlers will skip this page.',
373
+ message: 'Page has a noindex meta tag. Search engines may exclude it from results; review whether that is intentional.',
435
374
  }],
436
375
  suggestions,
437
376
  };
438
377
  }
439
- // Give partial credit full robots.txt analysis requires directory-level scan
378
+ // Page-level noindex is deterministic. Site-level crawler access must be verified separately.
440
379
  suggestions.push({
441
380
  dimension: 'aiMetadata',
442
- action: 'Configure robots.txt with explicit AI crawler rules',
443
- impact: 'medium',
444
- detail: 'Add rules for GPTBot, ClaudeBot, PerplexityBot, Google-Extended to control AI crawler access.',
381
+ action: 'Verify crawler access separately from the page score',
382
+ impact: 'low',
383
+ detail: 'robots.txt, CDN bot controls, and each service crawler have different effects. A permissive rule does not guarantee indexing or citation.',
445
384
  });
446
- return { score: 3, maxScore: 5, issues: [], suggestions };
385
+ return { score: 8, maxScore: 8, issues: [], suggestions };
447
386
  },
448
387
  };
449
388
  const metaDescriptionQuality = {
450
389
  id: 'meta-description-quality',
451
390
  dimension: 'aiMetadata',
452
- weight: 5,
391
+ weight: 7,
453
392
  evaluate(doc) {
454
393
  const issues = [];
455
394
  const suggestions = [];
@@ -458,34 +397,33 @@ const metaDescriptionQuality = {
458
397
  issues.push({
459
398
  dimension: 'aiMetadata',
460
399
  severity: 'warning',
461
- message: 'No meta description found. AI engines use this as a primary content summary.',
400
+ message: 'No meta description found. Search engines may generate a snippet from page content instead.',
462
401
  });
463
- return { score: 0, maxScore: 5, issues, suggestions };
464
- }
465
- let score = 3;
466
- // Check length
467
- if (desc.length >= 50 && desc.length <= 160) {
468
- score += 2;
402
+ return { score: 0, maxScore: 7, issues, suggestions };
469
403
  }
470
- else if (desc.length < 50) {
471
- score += 0;
404
+ const words = desc.trim().split(/\s+/).filter(Boolean);
405
+ const looksGeneric = words.length < 3 || /^(home|welcome|official site|website)$/i.test(desc.trim());
406
+ const commaCount = (desc.match(/,/g) || []).length;
407
+ const looksLikeKeywordList = commaCount >= 4 && !/[.!?]/.test(desc);
408
+ if (looksGeneric) {
472
409
  suggestions.push({
473
410
  dimension: 'aiMetadata',
474
- action: 'Expand meta description to 50-160 characters',
475
- impact: 'low',
476
- detail: `Current length: ${desc.length} characters. Too short for AI to use as summary.`,
411
+ action: 'Write a page-specific meta description',
412
+ impact: 'medium',
413
+ detail: 'Describe the page accurately. Google does not impose a fixed meta-description length limit.',
477
414
  });
415
+ return { score: 3, maxScore: 7, issues, suggestions };
478
416
  }
479
- else {
480
- score += 1;
417
+ if (looksLikeKeywordList) {
481
418
  suggestions.push({
482
419
  dimension: 'aiMetadata',
483
- action: 'Shorten meta description to under 160 characters',
484
- impact: 'low',
485
- detail: `Current length: ${desc.length} characters. May be truncated by AI engines.`,
420
+ action: 'Replace the keyword list with a readable page summary',
421
+ impact: 'medium',
422
+ detail: 'A descriptive sentence is more useful than comma-separated terms. Length alone does not determine quality.',
486
423
  });
424
+ return { score: 3, maxScore: 7, issues, suggestions };
487
425
  }
488
- return { score, maxScore: 5, issues, suggestions };
426
+ return { score: 7, maxScore: 7, issues, suggestions };
489
427
  },
490
428
  };
491
429
  // ── Content Density Rules (15 pts) ─────────────────────────────────
@@ -567,7 +505,7 @@ const keywordStuffingDetection = {
567
505
  // Low diversity + high consecutive repetition = stuffing
568
506
  if (diversity < 0.25 && consecutiveHits >= 2) {
569
507
  score = 0;
570
- issues.push({ dimension: 'contentDensity', severity: 'warning', message: `Low vocabulary diversity (${(diversity * 100).toFixed(0)}%) with repetitive phrasing. This pattern signals keyword stuffing to AI engines.` });
508
+ issues.push({ dimension: 'contentDensity', severity: 'warning', message: `Low vocabulary diversity (${(diversity * 100).toFixed(0)}%) with repetitive phrasing. Review this as a possible keyword-stuffing pattern.` });
571
509
  suggestions.push({ dimension: 'contentDensity', action: 'Diversify vocabulary and vary sentence structure', impact: 'high', detail: 'Use synonyms, rephrase repeated concepts, and ensure each sentence adds unique value.' });
572
510
  }
573
511
  else if (diversity < 0.3 || consecutiveHits >= 2) {
@@ -598,7 +536,7 @@ const contentUniquenessSignals = {
598
536
  dimension: 'contentDensity',
599
537
  action: 'Add original data, examples, or unique insights',
600
538
  impact: 'medium',
601
- detail: 'AI engines prefer content with original research, unique data points, or practical examples over generic information.',
539
+ detail: 'Add verifiable original research, practical examples, or implementation details when they help the reader. Do not invent data to satisfy this heuristic.',
602
540
  });
603
541
  }
604
542
  return { score: Math.min(5, score), maxScore: 5, issues: [], suggestions };
@@ -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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"}
@@ -253,17 +253,6 @@ async function fetchWithSafeRedirects(input, init, maxRedirects = 10) {
253
253
  }
254
254
  throw new Error(`Too many redirects while fetching ${currentUrl.toString()}`);
255
255
  }
256
- async function checkLlmsTxt(url) {
257
- try {
258
- const u = new URL(url);
259
- const llmsUrl = `${u.protocol}//${u.host}/llms.txt`;
260
- const res = await fetchWithSafeRedirects(llmsUrl, { method: 'HEAD' });
261
- return res.ok;
262
- }
263
- catch {
264
- return false;
265
- }
266
- }
267
256
  function findChromePath() {
268
257
  const candidates = process.platform === 'darwin'
269
258
  ? ['/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', '/Applications/Chromium.app/Contents/MacOS/Chromium']
@@ -318,10 +307,7 @@ function isSpaLikely(html) {
318
307
  }
319
308
  export async function scanUrl(url) {
320
309
  validateUrl(url);
321
- const [response, hasLlmsTxt] = await Promise.all([
322
- fetchWithSafeRedirects(url),
323
- checkLlmsTxt(url),
324
- ]);
310
+ const response = await fetchWithSafeRedirects(url);
325
311
  if (!response.ok) {
326
312
  throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}`);
327
313
  }
@@ -341,10 +327,6 @@ export async function scanUrl(url) {
341
327
  }
342
328
  }
343
329
  const doc = parseHtml(html, url);
344
- // Inject llms.txt discovery into metaTags so rules can pick it up
345
- if (hasLlmsTxt && !doc.metaTags['llms-txt']) {
346
- doc.metaTags['llms-txt'] = '/llms.txt';
347
- }
348
330
  const analysis = scanDocument(doc);
349
331
  return {
350
332
  pages: [analysis],
@@ -406,6 +388,6 @@ function averageScores(scores) {
406
388
  }
407
389
  function generateSummary(scores, pageCount) {
408
390
  const grade = scores.total >= 80 ? 'Excellent' : scores.total >= 60 ? 'Good' : scores.total >= 40 ? 'Needs Work' : 'Poor';
409
- return `AI Readability: ${grade} (${scores.total}/100) across ${pageCount} page${pageCount > 1 ? 's' : ''}`;
391
+ return `Content readiness: ${grade} (${scores.total}/100) across ${pageCount} page${pageCount > 1 ? 's' : ''}`;
410
392
  }
411
393
  //# sourceMappingURL=scanner.js.map