@lynxflow/seo-engine 2.2.0 → 2.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.
- package/README.md +1 -1
- package/dist/above-fold-cro-auditor.d.ts +41 -0
- package/dist/context-templates-generator.d.ts +27 -0
- package/dist/humanity-ai-scrubber.d.ts +29 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.js +897 -1
- package/dist/index.mjs +897 -1
- package/dist/passive-voice-complexity.d.ts +31 -0
- package/dist/search-intent-classifier.d.ts +28 -0
- package/dist/seo-opportunity-prioritizer.d.ts +37 -0
- package/dist/serp-length-comparator.d.ts +34 -0
- package/dist/trust-signals-extractor.d.ts +28 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ✍️ Readability, Passive Voice & Sentence Complexity Analyzer
|
|
3
|
+
* Analyzes sentence length variance, passive voice frequency, and paragraph density
|
|
4
|
+
* across English, French, German, and Spanish.
|
|
5
|
+
*/
|
|
6
|
+
export interface SentenceDetail {
|
|
7
|
+
text: string;
|
|
8
|
+
wordCount: number;
|
|
9
|
+
isPassive: boolean;
|
|
10
|
+
isTooLong: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface ReadabilityComplexityReport {
|
|
13
|
+
totalSentences: number;
|
|
14
|
+
totalWords: number;
|
|
15
|
+
averageWordsPerSentence: number;
|
|
16
|
+
passiveVoiceRatio: number;
|
|
17
|
+
passiveSentencesCount: number;
|
|
18
|
+
complexSentencesCount: number;
|
|
19
|
+
gradeLevelEstimate: number;
|
|
20
|
+
readabilityEaseScore: number;
|
|
21
|
+
status: "clear_and_punchy" | "acceptable" | "hard_to_read";
|
|
22
|
+
keyWarnings: string[];
|
|
23
|
+
sentences: SentenceDetail[];
|
|
24
|
+
}
|
|
25
|
+
export declare class PassiveVoiceComplexityAnalyzer {
|
|
26
|
+
private static readonly PASSIVE_PATTERNS;
|
|
27
|
+
/**
|
|
28
|
+
* Analyzes text for passive voice, sentence complexity, and readability.
|
|
29
|
+
*/
|
|
30
|
+
static analyze(text: string, language?: string): ReadabilityComplexityReport;
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🎯 Search Intent Classifier & SERP Feature Intent Mapper
|
|
3
|
+
* Ported & optimized from Python search_intent_analyzer.py.
|
|
4
|
+
* Classifies queries as: Informational, Navigational, Transactional, or Commercial Investigation.
|
|
5
|
+
*/
|
|
6
|
+
export type QueryIntentClassification = "informational" | "navigational" | "transactional" | "commercial_investigation";
|
|
7
|
+
export interface SearchIntentResult {
|
|
8
|
+
primaryIntent: QueryIntentClassification;
|
|
9
|
+
confidenceScore: number;
|
|
10
|
+
scores: {
|
|
11
|
+
informational: number;
|
|
12
|
+
navigational: number;
|
|
13
|
+
transactional: number;
|
|
14
|
+
commercial_investigation: number;
|
|
15
|
+
};
|
|
16
|
+
detectedSignals: string[];
|
|
17
|
+
recommendedContentFormat: string;
|
|
18
|
+
}
|
|
19
|
+
export declare class SearchIntentClassifier {
|
|
20
|
+
private static readonly INFORMATIONAL_SIGNALS;
|
|
21
|
+
private static readonly NAVIGATIONAL_SIGNALS;
|
|
22
|
+
private static readonly TRANSACTIONAL_SIGNALS;
|
|
23
|
+
private static readonly COMMERCIAL_SIGNALS;
|
|
24
|
+
/**
|
|
25
|
+
* Classifies query intent in < 0.01ms.
|
|
26
|
+
*/
|
|
27
|
+
static classify(keyword: string, serpFeatures?: string[]): SearchIntentResult;
|
|
28
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 📈 Multi-Factor SEO Opportunity Prioritizer
|
|
3
|
+
* Ported & optimized from Python opportunity_scorer.py.
|
|
4
|
+
* Computes an 8-factor Opportunity Score (0-100) using real CTR curves & GSC ranking proximity.
|
|
5
|
+
*/
|
|
6
|
+
export type OpportunityArchetype = "quick_win" | "top_3_push" | "high_volume_gap" | "underperformer" | "declining";
|
|
7
|
+
export interface OpportunityInput {
|
|
8
|
+
keyword: string;
|
|
9
|
+
currentPosition?: number;
|
|
10
|
+
monthlyImpressions?: number;
|
|
11
|
+
monthlyClicks?: number;
|
|
12
|
+
actualCtr?: number;
|
|
13
|
+
searchVolume?: number;
|
|
14
|
+
difficulty?: number;
|
|
15
|
+
intent?: "informational" | "commercial_investigation" | "transactional" | "navigational";
|
|
16
|
+
}
|
|
17
|
+
export interface OpportunityScoreResult {
|
|
18
|
+
opportunityScore: number;
|
|
19
|
+
archetype: OpportunityArchetype;
|
|
20
|
+
estimatedClickGain: number;
|
|
21
|
+
factors: {
|
|
22
|
+
volumeScore: number;
|
|
23
|
+
positionScore: number;
|
|
24
|
+
intentScore: number;
|
|
25
|
+
competitionScore: number;
|
|
26
|
+
ctrImprovementScore: number;
|
|
27
|
+
};
|
|
28
|
+
priorityLevel: "critical" | "high" | "medium" | "low";
|
|
29
|
+
actionPlan: string;
|
|
30
|
+
}
|
|
31
|
+
export declare class SeoOpportunityPrioritizer {
|
|
32
|
+
private static readonly BENCHMARK_CTR;
|
|
33
|
+
/**
|
|
34
|
+
* Calculates comprehensive opportunity score for content prioritization.
|
|
35
|
+
*/
|
|
36
|
+
static evaluate(input: OpportunityInput): OpportunityScoreResult;
|
|
37
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 📏 SERP Content Length Comparator
|
|
3
|
+
* Analyzes top 10-20 SERP competitor word counts, computes statistical benchmarks
|
|
4
|
+
* (Median, 75th Percentile, Top 3 Average), and recommends the optimal content length.
|
|
5
|
+
*/
|
|
6
|
+
export interface CompetitorWordCount {
|
|
7
|
+
url: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
rank: number;
|
|
10
|
+
wordCount: number;
|
|
11
|
+
}
|
|
12
|
+
export interface SerpLengthAnalysis {
|
|
13
|
+
userWordCount: number;
|
|
14
|
+
targetQuery: string;
|
|
15
|
+
competitorCount: number;
|
|
16
|
+
competitors: CompetitorWordCount[];
|
|
17
|
+
stats: {
|
|
18
|
+
min: number;
|
|
19
|
+
max: number;
|
|
20
|
+
median: number;
|
|
21
|
+
p75: number;
|
|
22
|
+
top3Average: number;
|
|
23
|
+
recommendedTargetWords: number;
|
|
24
|
+
};
|
|
25
|
+
gapToTarget: number;
|
|
26
|
+
status: "insufficient" | "optimal" | "excessive";
|
|
27
|
+
actionPlan: string;
|
|
28
|
+
}
|
|
29
|
+
export declare class SerpLengthComparator {
|
|
30
|
+
/**
|
|
31
|
+
* Evaluates content length against real or simulated SERP competitor word counts.
|
|
32
|
+
*/
|
|
33
|
+
static compareLength(userWordCount: number, targetQuery: string, competitors?: CompetitorWordCount[]): SerpLengthAnalysis;
|
|
34
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🛡️ Trust Signals & Social Proof Extractor
|
|
3
|
+
* Ported & optimized from Python trust_signal_analyzer.py.
|
|
4
|
+
* Extracts testimonials, customer numbers, percentage growth stats, risk reversals, and media mentions.
|
|
5
|
+
*/
|
|
6
|
+
export interface ExtractedTrustSignals {
|
|
7
|
+
totalSignalsCount: number;
|
|
8
|
+
testimonials: Array<{
|
|
9
|
+
quote: string;
|
|
10
|
+
author?: string;
|
|
11
|
+
}>;
|
|
12
|
+
socialProofCounts: string[];
|
|
13
|
+
specificResults: string[];
|
|
14
|
+
riskReversals: string[];
|
|
15
|
+
authorityMentions: string[];
|
|
16
|
+
trustScore: number;
|
|
17
|
+
isSufficientForConversion: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare class TrustSignalsExtractor {
|
|
20
|
+
private static readonly SOCIAL_PROOF_PATTERNS;
|
|
21
|
+
private static readonly RESULT_PATTERNS;
|
|
22
|
+
private static readonly RISK_REVERSAL_PATTERNS;
|
|
23
|
+
private static readonly AUTHORITY_PATTERNS;
|
|
24
|
+
/**
|
|
25
|
+
* Scans text or HTML and extracts all verifiable trust signals.
|
|
26
|
+
*/
|
|
27
|
+
static extract(content: string): ExtractedTrustSignals;
|
|
28
|
+
}
|