@rankcli/agent-runtime 0.0.9 → 0.0.11
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 +90 -196
- package/dist/analyzer-GMURJADU.mjs +7 -0
- package/dist/chunk-2JADKV3Z.mjs +244 -0
- package/dist/chunk-3ZSCLNTW.mjs +557 -0
- package/dist/chunk-4E4MQOSP.mjs +374 -0
- package/dist/chunk-6BWS3CLP.mjs +16 -0
- package/dist/chunk-AK2IC22C.mjs +206 -0
- package/dist/chunk-K6VSXDD6.mjs +293 -0
- package/dist/chunk-M27NQCWW.mjs +303 -0
- package/dist/{chunk-YNZYHEYM.mjs → chunk-PJLNXOLN.mjs} +0 -14
- package/dist/chunk-VSQD74I7.mjs +474 -0
- package/dist/core-web-vitals-analyzer-TE6LQJMS.mjs +7 -0
- package/dist/geo-analyzer-D47LTMMA.mjs +25 -0
- package/dist/image-optimization-analyzer-XP4OQGRP.mjs +9 -0
- package/dist/index.d.mts +612 -17
- package/dist/index.d.ts +612 -17
- package/dist/index.js +9020 -2686
- package/dist/index.mjs +4177 -328
- package/dist/internal-linking-analyzer-MRMBV7NM.mjs +9 -0
- package/dist/mobile-seo-analyzer-67HNQ7IO.mjs +7 -0
- package/dist/security-headers-analyzer-3ZUQARS5.mjs +9 -0
- package/dist/structured-data-analyzer-2I4NQAUP.mjs +9 -0
- package/package.json +2 -2
- package/src/analyzers/core-web-vitals-analyzer.test.ts +236 -0
- package/src/analyzers/core-web-vitals-analyzer.ts +557 -0
- package/src/analyzers/geo-analyzer.test.ts +310 -0
- package/src/analyzers/geo-analyzer.ts +814 -0
- package/src/analyzers/image-optimization-analyzer.test.ts +145 -0
- package/src/analyzers/image-optimization-analyzer.ts +348 -0
- package/src/analyzers/index.ts +233 -0
- package/src/analyzers/internal-linking-analyzer.test.ts +141 -0
- package/src/analyzers/internal-linking-analyzer.ts +419 -0
- package/src/analyzers/mobile-seo-analyzer.test.ts +140 -0
- package/src/analyzers/mobile-seo-analyzer.ts +455 -0
- package/src/analyzers/security-headers-analyzer.test.ts +115 -0
- package/src/analyzers/security-headers-analyzer.ts +318 -0
- package/src/analyzers/structured-data-analyzer.test.ts +210 -0
- package/src/analyzers/structured-data-analyzer.ts +590 -0
- package/src/audit/engine.ts +3 -3
- package/src/audit/types.ts +3 -2
- package/src/fixer/framework-fixes.test.ts +489 -0
- package/src/fixer/framework-fixes.ts +3418 -0
- package/src/frameworks/detector.ts +642 -114
- package/src/frameworks/suggestion-engine.ts +38 -1
- package/src/index.ts +3 -0
- package/src/types.ts +15 -1
- package/dist/analyzer-2CSWIQGD.mjs +0 -6
package/dist/index.d.mts
CHANGED
|
@@ -90,14 +90,14 @@ interface HeadingStructure {
|
|
|
90
90
|
text: string;
|
|
91
91
|
level: number;
|
|
92
92
|
}
|
|
93
|
-
interface ImageInfo$
|
|
93
|
+
interface ImageInfo$2 {
|
|
94
94
|
src: string;
|
|
95
95
|
alt: string | null;
|
|
96
96
|
width?: string;
|
|
97
97
|
height?: string;
|
|
98
98
|
loading?: string;
|
|
99
99
|
}
|
|
100
|
-
interface LinkInfo {
|
|
100
|
+
interface LinkInfo$1 {
|
|
101
101
|
href: string;
|
|
102
102
|
text: string;
|
|
103
103
|
isInternal: boolean;
|
|
@@ -111,7 +111,8 @@ interface FrameworkInfo$1 {
|
|
|
111
111
|
name: string;
|
|
112
112
|
version?: string;
|
|
113
113
|
router?: 'app' | 'pages' | 'file-based' | 'custom';
|
|
114
|
-
|
|
114
|
+
language?: 'javascript' | 'typescript' | 'ruby' | 'python' | 'php' | 'java' | 'csharp' | 'go' | 'elixir' | 'rust';
|
|
115
|
+
metaPattern: 'metadata-export' | 'head-component' | 'frontmatter' | 'meta-function' | 'html-head' | 'erb-helpers' | 'blade-components' | 'thymeleaf' | 'razor' | 'heex' | 'go-templates' | 'django-templates' | 'server-rendered';
|
|
115
116
|
}
|
|
116
117
|
interface Fix {
|
|
117
118
|
issue: {
|
|
@@ -131,8 +132,8 @@ interface ToolResult {
|
|
|
131
132
|
}
|
|
132
133
|
type ToolFunction = (params: Record<string, unknown>) => Promise<ToolResult>;
|
|
133
134
|
|
|
134
|
-
type IssueSeverity = 'error' | 'warning' | 'notice';
|
|
135
|
-
type IssueCategory = 'crawlability' | 'indexability' | 'on-page' | 'content' | 'links' | 'images' | 'structured-data' | 'performance' | 'security' | 'mobile' | 'international' | 'ai-readiness' | 'social' | 'local-seo' | 'accessibility' | 'framework';
|
|
135
|
+
type IssueSeverity = 'critical' | 'error' | 'warning' | 'info' | 'notice';
|
|
136
|
+
type IssueCategory = 'crawlability' | 'indexability' | 'on-page' | 'content' | 'links' | 'images' | 'structured-data' | 'performance' | 'security' | 'mobile' | 'international' | 'ai-readiness' | 'social' | 'local-seo' | 'accessibility' | 'framework' | 'technical';
|
|
136
137
|
interface AuditIssue {
|
|
137
138
|
code: string;
|
|
138
139
|
severity: IssueSeverity;
|
|
@@ -319,7 +320,7 @@ interface ImageData {
|
|
|
319
320
|
lazyLoaded: number;
|
|
320
321
|
withDimensions: number;
|
|
321
322
|
}
|
|
322
|
-
declare function analyzeImages(html: string, baseUrl: string, checkBroken?: boolean): Promise<{
|
|
323
|
+
declare function analyzeImages$1(html: string, baseUrl: string, checkBroken?: boolean): Promise<{
|
|
323
324
|
issues: AuditIssue[];
|
|
324
325
|
data: ImageData;
|
|
325
326
|
}>;
|
|
@@ -376,18 +377,18 @@ declare function checkCertificate(url: string): Promise<{
|
|
|
376
377
|
issues: AuditIssue[];
|
|
377
378
|
}>;
|
|
378
379
|
|
|
379
|
-
interface SchemaItem {
|
|
380
|
+
interface SchemaItem$1 {
|
|
380
381
|
type: string;
|
|
381
382
|
data: Record<string, unknown>;
|
|
382
383
|
errors: string[];
|
|
383
384
|
warnings: string[];
|
|
384
385
|
}
|
|
385
386
|
interface StructuredDataData {
|
|
386
|
-
schemas: SchemaItem[];
|
|
387
|
+
schemas: SchemaItem$1[];
|
|
387
388
|
hasSchema: boolean;
|
|
388
389
|
schemaTypes: string[];
|
|
389
390
|
}
|
|
390
|
-
declare function analyzeStructuredData(html: string, url: string): {
|
|
391
|
+
declare function analyzeStructuredData$1(html: string, url: string): {
|
|
391
392
|
issues: AuditIssue[];
|
|
392
393
|
data: StructuredDataData;
|
|
393
394
|
};
|
|
@@ -690,7 +691,7 @@ interface SecurityHeadersData {
|
|
|
690
691
|
/**
|
|
691
692
|
* Analyze security headers
|
|
692
693
|
*/
|
|
693
|
-
declare function analyzeSecurityHeaders(url: string): Promise<{
|
|
694
|
+
declare function analyzeSecurityHeaders$1(url: string): Promise<{
|
|
694
695
|
issues: AuditIssue[];
|
|
695
696
|
data: SecurityHeadersData;
|
|
696
697
|
}>;
|
|
@@ -730,7 +731,7 @@ declare function analyzeDOMStructure(html: string, url: string): {
|
|
|
730
731
|
data: DOMAnalysisData;
|
|
731
732
|
};
|
|
732
733
|
|
|
733
|
-
interface ImageInfo {
|
|
734
|
+
interface ImageInfo$1 {
|
|
734
735
|
src: string;
|
|
735
736
|
alt: string | null;
|
|
736
737
|
width: number | null;
|
|
@@ -746,7 +747,7 @@ interface ModernImagesData {
|
|
|
746
747
|
modernFormatCount: number;
|
|
747
748
|
legacyFormatCount: number;
|
|
748
749
|
modernFormatPercentage: number;
|
|
749
|
-
images: ImageInfo[];
|
|
750
|
+
images: ImageInfo$1[];
|
|
750
751
|
hasSourceSet: boolean;
|
|
751
752
|
hasPictureElements: boolean;
|
|
752
753
|
}
|
|
@@ -3186,6 +3187,19 @@ declare function generateSvelteKitSEOHead(options: MetaFixOptions): GeneratedCod
|
|
|
3186
3187
|
declare function generateAngularSEOService(options: MetaFixOptions): GeneratedCode;
|
|
3187
3188
|
declare function getFrameworkSpecificFix(framework: FrameworkInfo$1, options: MetaFixOptions): GeneratedCode;
|
|
3188
3189
|
declare function generateNextJsPagesRouterHead(options: MetaFixOptions): GeneratedCode;
|
|
3190
|
+
declare function generateRailsSEOHelper(options: MetaFixOptions): GeneratedCode;
|
|
3191
|
+
declare function generateDjangoSEOHelper(options: MetaFixOptions): GeneratedCode;
|
|
3192
|
+
declare function generateLaravelSEOHelper(options: MetaFixOptions): GeneratedCode;
|
|
3193
|
+
declare function generateSpringBootSEO(options: MetaFixOptions): GeneratedCode;
|
|
3194
|
+
declare function generatePhoenixSEO(options: MetaFixOptions): GeneratedCode;
|
|
3195
|
+
declare function generateGoSEO(options: MetaFixOptions): GeneratedCode;
|
|
3196
|
+
declare function generateAspNetCoreSEO(options: MetaFixOptions): GeneratedCode;
|
|
3197
|
+
declare function generateHTMXSEO(options: MetaFixOptions): GeneratedCode;
|
|
3198
|
+
declare function generateHugoSEO(options: MetaFixOptions): GeneratedCode;
|
|
3199
|
+
declare function generateJekyllSEO(options: MetaFixOptions): GeneratedCode;
|
|
3200
|
+
declare function generateEleventySEO(options: MetaFixOptions): GeneratedCode;
|
|
3201
|
+
declare function generateRemixSEO(options: MetaFixOptions): GeneratedCode;
|
|
3202
|
+
declare function getFrameworkSpecificFixExtended(framework: FrameworkInfo$1, options: MetaFixOptions): GeneratedCode;
|
|
3189
3203
|
|
|
3190
3204
|
/**
|
|
3191
3205
|
* World-Class JSON-LD Schema Generators
|
|
@@ -4794,20 +4808,591 @@ declare function getAIVisibilitySummary(results: LLMCitationResult[]): {
|
|
|
4794
4808
|
overallSentiment: 'positive' | 'neutral' | 'negative' | 'mixed' | null;
|
|
4795
4809
|
};
|
|
4796
4810
|
|
|
4811
|
+
/**
|
|
4812
|
+
* Mobile SEO Analyzer
|
|
4813
|
+
*
|
|
4814
|
+
* Analyzes mobile-friendliness and mobile SEO best practices.
|
|
4815
|
+
* Critical for Google's mobile-first indexing.
|
|
4816
|
+
*/
|
|
4817
|
+
|
|
4818
|
+
interface MobileSEOResult {
|
|
4819
|
+
score: number;
|
|
4820
|
+
viewport: ViewportAnalysis;
|
|
4821
|
+
touchTargets: TouchTargetAnalysis;
|
|
4822
|
+
fontSizes: FontSizeAnalysis;
|
|
4823
|
+
contentWidth: ContentWidthAnalysis;
|
|
4824
|
+
mobileSpecific: MobileSpecificAnalysis;
|
|
4825
|
+
issues: AuditIssue[];
|
|
4826
|
+
recommendations: string[];
|
|
4827
|
+
}
|
|
4828
|
+
interface ViewportAnalysis {
|
|
4829
|
+
hasViewport: boolean;
|
|
4830
|
+
isResponsive: boolean;
|
|
4831
|
+
viewportContent?: string;
|
|
4832
|
+
issues: string[];
|
|
4833
|
+
}
|
|
4834
|
+
interface TouchTargetAnalysis {
|
|
4835
|
+
smallTargets: number;
|
|
4836
|
+
properTargets: number;
|
|
4837
|
+
issues: string[];
|
|
4838
|
+
}
|
|
4839
|
+
interface FontSizeAnalysis {
|
|
4840
|
+
hasResponsiveFonts: boolean;
|
|
4841
|
+
smallFontIndicators: number;
|
|
4842
|
+
issues: string[];
|
|
4843
|
+
}
|
|
4844
|
+
interface ContentWidthAnalysis {
|
|
4845
|
+
hasHorizontalScroll: boolean;
|
|
4846
|
+
fixedWidthElements: number;
|
|
4847
|
+
issues: string[];
|
|
4848
|
+
}
|
|
4849
|
+
interface MobileSpecificAnalysis {
|
|
4850
|
+
hasAppleTouchIcon: boolean;
|
|
4851
|
+
hasThemeColor: boolean;
|
|
4852
|
+
hasManifest: boolean;
|
|
4853
|
+
hasMobileOptimizedImages: boolean;
|
|
4854
|
+
avoidsMobilePopups: boolean;
|
|
4855
|
+
issues: string[];
|
|
4856
|
+
}
|
|
4857
|
+
/**
|
|
4858
|
+
* Main mobile SEO analysis
|
|
4859
|
+
*/
|
|
4860
|
+
declare function analyzeMobileSEO(html: string, url: string): MobileSEOResult;
|
|
4861
|
+
|
|
4862
|
+
/**
|
|
4863
|
+
* Internal Linking Analyzer
|
|
4864
|
+
*
|
|
4865
|
+
* Analyzes internal link structure for SEO optimization.
|
|
4866
|
+
* Checks link distribution, anchor text, orphan pages, and link depth.
|
|
4867
|
+
*/
|
|
4868
|
+
|
|
4869
|
+
interface InternalLinkingResult {
|
|
4870
|
+
score: number;
|
|
4871
|
+
totalLinks: number;
|
|
4872
|
+
internalLinks: number;
|
|
4873
|
+
externalLinks: number;
|
|
4874
|
+
navigationLinks: number;
|
|
4875
|
+
contentLinks: number;
|
|
4876
|
+
uniqueInternalTargets: number;
|
|
4877
|
+
linksWithKeywords: number;
|
|
4878
|
+
linksWithGenericText: number;
|
|
4879
|
+
orphanRisk: boolean;
|
|
4880
|
+
linkDetails: LinkInfo[];
|
|
4881
|
+
anchorTextAnalysis: AnchorTextStats;
|
|
4882
|
+
issues: AuditIssue[];
|
|
4883
|
+
recommendations: string[];
|
|
4884
|
+
}
|
|
4885
|
+
interface LinkInfo {
|
|
4886
|
+
href: string;
|
|
4887
|
+
text: string;
|
|
4888
|
+
isInternal: boolean;
|
|
4889
|
+
isNavigation: boolean;
|
|
4890
|
+
rel?: string;
|
|
4891
|
+
title?: string;
|
|
4892
|
+
issues: string[];
|
|
4893
|
+
}
|
|
4894
|
+
interface AnchorTextStats {
|
|
4895
|
+
total: number;
|
|
4896
|
+
descriptive: number;
|
|
4897
|
+
generic: number;
|
|
4898
|
+
empty: number;
|
|
4899
|
+
tooLong: number;
|
|
4900
|
+
imageLinks: number;
|
|
4901
|
+
patterns: {
|
|
4902
|
+
text: string;
|
|
4903
|
+
count: number;
|
|
4904
|
+
}[];
|
|
4905
|
+
}
|
|
4906
|
+
/**
|
|
4907
|
+
* Analyze internal linking structure
|
|
4908
|
+
*/
|
|
4909
|
+
declare function analyzeInternalLinking(html: string, url: string): InternalLinkingResult;
|
|
4910
|
+
/**
|
|
4911
|
+
* Suggest internal linking opportunities
|
|
4912
|
+
*/
|
|
4913
|
+
declare function suggestInternalLinks(content: string, availablePages: {
|
|
4914
|
+
url: string;
|
|
4915
|
+
title: string;
|
|
4916
|
+
keywords: string[];
|
|
4917
|
+
}[]): {
|
|
4918
|
+
keyword: string;
|
|
4919
|
+
suggestedUrl: string;
|
|
4920
|
+
suggestedTitle: string;
|
|
4921
|
+
relevance: number;
|
|
4922
|
+
}[];
|
|
4923
|
+
|
|
4924
|
+
/**
|
|
4925
|
+
* Image Optimization Analyzer
|
|
4926
|
+
*
|
|
4927
|
+
* Analyzes images for SEO and performance optimization.
|
|
4928
|
+
* Checks formats, dimensions, alt text, lazy loading, and compression indicators.
|
|
4929
|
+
*/
|
|
4930
|
+
|
|
4931
|
+
interface ImageAnalysisResult {
|
|
4932
|
+
score: number;
|
|
4933
|
+
totalImages: number;
|
|
4934
|
+
imagesWithAlt: number;
|
|
4935
|
+
imagesWithDimensions: number;
|
|
4936
|
+
imagesWithLazyLoading: number;
|
|
4937
|
+
modernFormats: number;
|
|
4938
|
+
legacyFormats: number;
|
|
4939
|
+
oversizedImages: ImageInfo[];
|
|
4940
|
+
missingAlt: ImageInfo[];
|
|
4941
|
+
decorativeWithoutRole: ImageInfo[];
|
|
4942
|
+
issues: AuditIssue[];
|
|
4943
|
+
recommendations: string[];
|
|
4944
|
+
}
|
|
4945
|
+
interface ImageInfo {
|
|
4946
|
+
src: string;
|
|
4947
|
+
alt?: string;
|
|
4948
|
+
width?: number;
|
|
4949
|
+
height?: number;
|
|
4950
|
+
format?: string;
|
|
4951
|
+
loading?: string;
|
|
4952
|
+
issues: string[];
|
|
4953
|
+
}
|
|
4954
|
+
/**
|
|
4955
|
+
* Analyze all images on a page
|
|
4956
|
+
*/
|
|
4957
|
+
declare function analyzeImages(html: string, url: string): ImageAnalysisResult;
|
|
4958
|
+
/**
|
|
4959
|
+
* Generate responsive image HTML
|
|
4960
|
+
*/
|
|
4961
|
+
declare function generateResponsiveImage(options: {
|
|
4962
|
+
src: string;
|
|
4963
|
+
alt: string;
|
|
4964
|
+
widths: number[];
|
|
4965
|
+
sizes?: string;
|
|
4966
|
+
loading?: 'lazy' | 'eager';
|
|
4967
|
+
className?: string;
|
|
4968
|
+
}): string;
|
|
4969
|
+
|
|
4970
|
+
/**
|
|
4971
|
+
* Structured Data / Schema.org Analyzer
|
|
4972
|
+
*
|
|
4973
|
+
* Validates JSON-LD structured data for SEO and AI search optimization.
|
|
4974
|
+
* Checks for common schema types, required properties, and best practices.
|
|
4975
|
+
*/
|
|
4976
|
+
|
|
4977
|
+
interface StructuredDataResult {
|
|
4978
|
+
score: number;
|
|
4979
|
+
schemas: SchemaItem[];
|
|
4980
|
+
hasOrganization: boolean;
|
|
4981
|
+
hasWebSite: boolean;
|
|
4982
|
+
hasWebPage: boolean;
|
|
4983
|
+
hasBreadcrumb: boolean;
|
|
4984
|
+
hasArticle: boolean;
|
|
4985
|
+
hasProduct: boolean;
|
|
4986
|
+
hasFAQ: boolean;
|
|
4987
|
+
hasHowTo: boolean;
|
|
4988
|
+
hasLocalBusiness: boolean;
|
|
4989
|
+
hasEvent: boolean;
|
|
4990
|
+
hasReview: boolean;
|
|
4991
|
+
issues: AuditIssue[];
|
|
4992
|
+
recommendations: string[];
|
|
4993
|
+
}
|
|
4994
|
+
interface SchemaItem {
|
|
4995
|
+
type: string;
|
|
4996
|
+
isValid: boolean;
|
|
4997
|
+
errors: string[];
|
|
4998
|
+
warnings: string[];
|
|
4999
|
+
properties: string[];
|
|
5000
|
+
}
|
|
5001
|
+
/**
|
|
5002
|
+
* Analyze all structured data on a page
|
|
5003
|
+
*/
|
|
5004
|
+
declare function analyzeStructuredData(html: string, url: string): StructuredDataResult;
|
|
5005
|
+
/**
|
|
5006
|
+
* Generate recommended schema for a page type
|
|
5007
|
+
*/
|
|
5008
|
+
declare function generateSchemaTemplate(pageType: 'article' | 'product' | 'faq' | 'local-business' | 'website', options: {
|
|
5009
|
+
siteName: string;
|
|
5010
|
+
siteUrl: string;
|
|
5011
|
+
authorName?: string;
|
|
5012
|
+
organizationName?: string;
|
|
5013
|
+
}): string;
|
|
5014
|
+
|
|
5015
|
+
/**
|
|
5016
|
+
* Security Headers Analyzer
|
|
5017
|
+
*
|
|
5018
|
+
* Analyzes HTTP security headers that impact SEO and trust signals.
|
|
5019
|
+
* Many security headers are now considered ranking factors.
|
|
5020
|
+
*/
|
|
5021
|
+
|
|
5022
|
+
interface SecurityHeadersResult {
|
|
5023
|
+
score: number;
|
|
5024
|
+
https: {
|
|
5025
|
+
enabled: boolean;
|
|
5026
|
+
hasHSTS: boolean;
|
|
5027
|
+
hstsMaxAge?: number;
|
|
5028
|
+
includesSubdomains: boolean;
|
|
5029
|
+
preload: boolean;
|
|
5030
|
+
};
|
|
5031
|
+
contentSecurity: {
|
|
5032
|
+
hasCSP: boolean;
|
|
5033
|
+
policy?: string;
|
|
5034
|
+
issues: string[];
|
|
5035
|
+
};
|
|
5036
|
+
frameOptions: {
|
|
5037
|
+
hasXFrameOptions: boolean;
|
|
5038
|
+
value?: string;
|
|
5039
|
+
};
|
|
5040
|
+
contentTypeOptions: {
|
|
5041
|
+
hasXContentTypeOptions: boolean;
|
|
5042
|
+
};
|
|
5043
|
+
xssProtection: {
|
|
5044
|
+
hasXXSSProtection: boolean;
|
|
5045
|
+
value?: string;
|
|
5046
|
+
};
|
|
5047
|
+
referrerPolicy: {
|
|
5048
|
+
hasReferrerPolicy: boolean;
|
|
5049
|
+
value?: string;
|
|
5050
|
+
};
|
|
5051
|
+
permissionsPolicy: {
|
|
5052
|
+
hasPermissionsPolicy: boolean;
|
|
5053
|
+
policy?: string;
|
|
5054
|
+
};
|
|
5055
|
+
issues: AuditIssue[];
|
|
5056
|
+
grade: 'A+' | 'A' | 'B' | 'C' | 'D' | 'F';
|
|
5057
|
+
}
|
|
5058
|
+
/**
|
|
5059
|
+
* Analyze security headers
|
|
5060
|
+
*/
|
|
5061
|
+
declare function analyzeSecurityHeaders(headers: Record<string, string>, url: string): SecurityHeadersResult;
|
|
5062
|
+
/**
|
|
5063
|
+
* Generate recommended security headers
|
|
5064
|
+
*/
|
|
5065
|
+
declare function generateSecurityHeaders(siteUrl: string): Record<string, string>;
|
|
5066
|
+
|
|
5067
|
+
/**
|
|
5068
|
+
* Core Web Vitals Analyzer
|
|
5069
|
+
*
|
|
5070
|
+
* Estimates Core Web Vitals from HTML analysis without actual page load.
|
|
5071
|
+
* Identifies common issues that impact LCP, FID, CLS, INP, and TTFB.
|
|
5072
|
+
*/
|
|
5073
|
+
|
|
5074
|
+
interface CoreWebVitalsEstimate {
|
|
5075
|
+
lcp: {
|
|
5076
|
+
estimate: 'good' | 'needs-improvement' | 'poor' | 'unknown';
|
|
5077
|
+
issues: string[];
|
|
5078
|
+
recommendations: string[];
|
|
5079
|
+
};
|
|
5080
|
+
fid: {
|
|
5081
|
+
estimate: 'good' | 'needs-improvement' | 'poor' | 'unknown';
|
|
5082
|
+
issues: string[];
|
|
5083
|
+
recommendations: string[];
|
|
5084
|
+
};
|
|
5085
|
+
cls: {
|
|
5086
|
+
estimate: 'good' | 'needs-improvement' | 'poor' | 'unknown';
|
|
5087
|
+
issues: string[];
|
|
5088
|
+
recommendations: string[];
|
|
5089
|
+
};
|
|
5090
|
+
inp: {
|
|
5091
|
+
estimate: 'good' | 'needs-improvement' | 'poor' | 'unknown';
|
|
5092
|
+
issues: string[];
|
|
5093
|
+
recommendations: string[];
|
|
5094
|
+
};
|
|
5095
|
+
ttfb: {
|
|
5096
|
+
estimate: 'good' | 'needs-improvement' | 'poor' | 'unknown';
|
|
5097
|
+
issues: string[];
|
|
5098
|
+
recommendations: string[];
|
|
5099
|
+
};
|
|
5100
|
+
overallScore: number;
|
|
5101
|
+
issues: AuditIssue[];
|
|
5102
|
+
}
|
|
5103
|
+
/**
|
|
5104
|
+
* Main Core Web Vitals analysis function
|
|
5105
|
+
*/
|
|
5106
|
+
declare function analyzeCoreWebVitals(html: string, url: string, headers?: Record<string, string>): CoreWebVitalsEstimate;
|
|
5107
|
+
|
|
5108
|
+
/**
|
|
5109
|
+
* GEO (Generative Engine Optimization) Analyzer
|
|
5110
|
+
*
|
|
5111
|
+
* Industry-first analyzer for AI search visibility.
|
|
5112
|
+
* Checks if your site is optimized for ChatGPT, Perplexity, Claude, and other AI search engines.
|
|
5113
|
+
*
|
|
5114
|
+
* Features:
|
|
5115
|
+
* - AI crawler accessibility detection
|
|
5116
|
+
* - LLM-friendly content structure analysis
|
|
5117
|
+
* - Citation-optimized formatting
|
|
5118
|
+
* - Entity and fact extraction readiness
|
|
5119
|
+
* - AI search ranking factors
|
|
5120
|
+
*/
|
|
5121
|
+
|
|
5122
|
+
interface GEOAnalysisResult {
|
|
5123
|
+
score: number;
|
|
5124
|
+
aiCrawlerAccess: AIAccessResult;
|
|
5125
|
+
contentStructure: ContentStructureResult;
|
|
5126
|
+
citationReadiness: CitationResult;
|
|
5127
|
+
entityExtraction: EntityResult;
|
|
5128
|
+
llmSignals: LLMSignalResult;
|
|
5129
|
+
issues: AuditIssue[];
|
|
5130
|
+
recommendations: string[];
|
|
5131
|
+
}
|
|
5132
|
+
interface AIAccessResult {
|
|
5133
|
+
robotsTxtAllowsAI: boolean;
|
|
5134
|
+
blockedCrawlers: string[];
|
|
5135
|
+
allowedCrawlers: string[];
|
|
5136
|
+
hasPrerendering: boolean;
|
|
5137
|
+
jsRenderingRequired: boolean;
|
|
5138
|
+
serverSideRendered: boolean;
|
|
5139
|
+
}
|
|
5140
|
+
interface ContentStructureResult {
|
|
5141
|
+
hasStructuredData: boolean;
|
|
5142
|
+
hasFAQSchema: boolean;
|
|
5143
|
+
hasHowToSchema: boolean;
|
|
5144
|
+
hasArticleSchema: boolean;
|
|
5145
|
+
hasProductSchema: boolean;
|
|
5146
|
+
hasBreadcrumbs: boolean;
|
|
5147
|
+
headingHierarchy: 'good' | 'needs-work' | 'poor';
|
|
5148
|
+
contentSections: number;
|
|
5149
|
+
listsAndTables: number;
|
|
5150
|
+
}
|
|
5151
|
+
interface CitationResult {
|
|
5152
|
+
hasCitations: boolean;
|
|
5153
|
+
hasExternalLinks: boolean;
|
|
5154
|
+
hasStatistics: boolean;
|
|
5155
|
+
hasQuotes: boolean;
|
|
5156
|
+
hasAuthorInfo: boolean;
|
|
5157
|
+
hasPublishDate: boolean;
|
|
5158
|
+
hasLastModified: boolean;
|
|
5159
|
+
trustSignals: string[];
|
|
5160
|
+
}
|
|
5161
|
+
interface EntityResult {
|
|
5162
|
+
namedEntities: string[];
|
|
5163
|
+
definedTerms: string[];
|
|
5164
|
+
hasDefinitions: boolean;
|
|
5165
|
+
hasComparisons: boolean;
|
|
5166
|
+
questionAnswerPairs: number;
|
|
5167
|
+
}
|
|
5168
|
+
interface LLMSignalResult {
|
|
5169
|
+
contentClarity: number;
|
|
5170
|
+
factDensity: number;
|
|
5171
|
+
structureQuality: number;
|
|
5172
|
+
citationQuality: number;
|
|
5173
|
+
overallLLMFriendliness: number;
|
|
5174
|
+
}
|
|
5175
|
+
/**
|
|
5176
|
+
* Analyze robots.txt for AI crawler permissions
|
|
5177
|
+
*/
|
|
5178
|
+
declare function analyzeRobotsTxtForAI(robotsTxt: string): {
|
|
5179
|
+
allowed: string[];
|
|
5180
|
+
blocked: string[];
|
|
5181
|
+
recommendations: string[];
|
|
5182
|
+
};
|
|
5183
|
+
/**
|
|
5184
|
+
* Detect if page is server-side rendered or requires JS
|
|
5185
|
+
*/
|
|
5186
|
+
declare function detectRenderingMode(html: string): {
|
|
5187
|
+
serverSideRendered: boolean;
|
|
5188
|
+
jsRenderingRequired: boolean;
|
|
5189
|
+
hasPrerendering: boolean;
|
|
5190
|
+
contentInHTML: boolean;
|
|
5191
|
+
signals: string[];
|
|
5192
|
+
};
|
|
5193
|
+
/**
|
|
5194
|
+
* Analyze content structure for LLM consumption
|
|
5195
|
+
*/
|
|
5196
|
+
declare function analyzeContentStructure(html: string): ContentStructureResult;
|
|
5197
|
+
/**
|
|
5198
|
+
* Analyze citation readiness (trust signals for AI)
|
|
5199
|
+
*/
|
|
5200
|
+
declare function analyzeCitationReadiness(html: string): CitationResult;
|
|
5201
|
+
/**
|
|
5202
|
+
* Extract entities and structured information
|
|
5203
|
+
*/
|
|
5204
|
+
declare function analyzeEntityExtraction(html: string): EntityResult;
|
|
5205
|
+
/**
|
|
5206
|
+
* Calculate LLM-friendliness signals
|
|
5207
|
+
*/
|
|
5208
|
+
declare function calculateLLMSignals(structure: ContentStructureResult, citation: CitationResult, entity: EntityResult, html: string): LLMSignalResult;
|
|
5209
|
+
/**
|
|
5210
|
+
* Main GEO analysis function
|
|
5211
|
+
*/
|
|
5212
|
+
declare function analyzeGEO(html: string, url: string, robotsTxt?: string): Promise<GEOAnalysisResult>;
|
|
5213
|
+
/**
|
|
5214
|
+
* Generate AI-optimized robots.txt
|
|
5215
|
+
*/
|
|
5216
|
+
declare function generateAIFriendlyRobotsTxt(siteUrl: string): string;
|
|
5217
|
+
declare const AI_CRAWLERS_INFO: {
|
|
5218
|
+
GPTBot: {
|
|
5219
|
+
userAgent: string;
|
|
5220
|
+
company: string;
|
|
5221
|
+
purpose: string;
|
|
5222
|
+
};
|
|
5223
|
+
ChatGPTUser: {
|
|
5224
|
+
userAgent: string;
|
|
5225
|
+
company: string;
|
|
5226
|
+
purpose: string;
|
|
5227
|
+
};
|
|
5228
|
+
OAI_SearchBot: {
|
|
5229
|
+
userAgent: string;
|
|
5230
|
+
company: string;
|
|
5231
|
+
purpose: string;
|
|
5232
|
+
};
|
|
5233
|
+
ClaudeBot: {
|
|
5234
|
+
userAgent: string;
|
|
5235
|
+
company: string;
|
|
5236
|
+
purpose: string;
|
|
5237
|
+
};
|
|
5238
|
+
anthropic_ai: {
|
|
5239
|
+
userAgent: string;
|
|
5240
|
+
company: string;
|
|
5241
|
+
purpose: string;
|
|
5242
|
+
};
|
|
5243
|
+
PerplexityBot: {
|
|
5244
|
+
userAgent: string;
|
|
5245
|
+
company: string;
|
|
5246
|
+
purpose: string;
|
|
5247
|
+
};
|
|
5248
|
+
GoogleOther: {
|
|
5249
|
+
userAgent: string;
|
|
5250
|
+
company: string;
|
|
5251
|
+
purpose: string;
|
|
5252
|
+
};
|
|
5253
|
+
Bingbot: {
|
|
5254
|
+
userAgent: string;
|
|
5255
|
+
company: string;
|
|
5256
|
+
purpose: string;
|
|
5257
|
+
};
|
|
5258
|
+
FacebookBot: {
|
|
5259
|
+
userAgent: string;
|
|
5260
|
+
company: string;
|
|
5261
|
+
purpose: string;
|
|
5262
|
+
};
|
|
5263
|
+
MetaAI: {
|
|
5264
|
+
userAgent: string;
|
|
5265
|
+
company: string;
|
|
5266
|
+
purpose: string;
|
|
5267
|
+
};
|
|
5268
|
+
Applebot: {
|
|
5269
|
+
userAgent: string;
|
|
5270
|
+
company: string;
|
|
5271
|
+
purpose: string;
|
|
5272
|
+
};
|
|
5273
|
+
Amazonbot: {
|
|
5274
|
+
userAgent: string;
|
|
5275
|
+
company: string;
|
|
5276
|
+
purpose: string;
|
|
5277
|
+
};
|
|
5278
|
+
YouBot: {
|
|
5279
|
+
userAgent: string;
|
|
5280
|
+
company: string;
|
|
5281
|
+
purpose: string;
|
|
5282
|
+
};
|
|
5283
|
+
CCBot: {
|
|
5284
|
+
userAgent: string;
|
|
5285
|
+
company: string;
|
|
5286
|
+
purpose: string;
|
|
5287
|
+
};
|
|
5288
|
+
cohere_ai: {
|
|
5289
|
+
userAgent: string;
|
|
5290
|
+
company: string;
|
|
5291
|
+
purpose: string;
|
|
5292
|
+
};
|
|
5293
|
+
};
|
|
5294
|
+
|
|
5295
|
+
/**
|
|
5296
|
+
* Comprehensive SEO Analysis
|
|
5297
|
+
*
|
|
5298
|
+
* Runs all analyzers and produces a unified report.
|
|
5299
|
+
*/
|
|
5300
|
+
interface ComprehensiveSEOResult {
|
|
5301
|
+
url: string;
|
|
5302
|
+
timestamp: string;
|
|
5303
|
+
overallScore: number;
|
|
5304
|
+
grades: {
|
|
5305
|
+
geo: number;
|
|
5306
|
+
coreWebVitals: number;
|
|
5307
|
+
security: string;
|
|
5308
|
+
structuredData: number;
|
|
5309
|
+
images: number;
|
|
5310
|
+
internalLinking: number;
|
|
5311
|
+
mobile: number;
|
|
5312
|
+
};
|
|
5313
|
+
geo: GEOAnalysisResult;
|
|
5314
|
+
coreWebVitals: CoreWebVitalsEstimate;
|
|
5315
|
+
security: SecurityHeadersResult;
|
|
5316
|
+
structuredData: StructuredDataResult;
|
|
5317
|
+
images: ImageAnalysisResult;
|
|
5318
|
+
internalLinking: InternalLinkingResult;
|
|
5319
|
+
mobile: MobileSEOResult;
|
|
5320
|
+
allIssues: AuditIssue[];
|
|
5321
|
+
prioritizedRecommendations: string[];
|
|
5322
|
+
}
|
|
5323
|
+
/**
|
|
5324
|
+
* Run comprehensive SEO analysis
|
|
5325
|
+
*/
|
|
5326
|
+
declare function analyzeComprehensive(html: string, url: string, options?: {
|
|
5327
|
+
robotsTxt?: string;
|
|
5328
|
+
headers?: Record<string, string>;
|
|
5329
|
+
}): Promise<ComprehensiveSEOResult>;
|
|
5330
|
+
|
|
5331
|
+
type index$1_AIAccessResult = AIAccessResult;
|
|
5332
|
+
declare const index$1_AI_CRAWLERS_INFO: typeof AI_CRAWLERS_INFO;
|
|
5333
|
+
type index$1_AnchorTextStats = AnchorTextStats;
|
|
5334
|
+
type index$1_CitationResult = CitationResult;
|
|
5335
|
+
type index$1_ComprehensiveSEOResult = ComprehensiveSEOResult;
|
|
5336
|
+
type index$1_ContentStructureResult = ContentStructureResult;
|
|
5337
|
+
type index$1_ContentWidthAnalysis = ContentWidthAnalysis;
|
|
5338
|
+
type index$1_CoreWebVitalsEstimate = CoreWebVitalsEstimate;
|
|
5339
|
+
type index$1_EntityResult = EntityResult;
|
|
5340
|
+
type index$1_FontSizeAnalysis = FontSizeAnalysis;
|
|
5341
|
+
type index$1_GEOAnalysisResult = GEOAnalysisResult;
|
|
5342
|
+
type index$1_ImageAnalysisResult = ImageAnalysisResult;
|
|
5343
|
+
type index$1_ImageInfo = ImageInfo;
|
|
5344
|
+
type index$1_InternalLinkingResult = InternalLinkingResult;
|
|
5345
|
+
type index$1_LLMSignalResult = LLMSignalResult;
|
|
5346
|
+
type index$1_LinkInfo = LinkInfo;
|
|
5347
|
+
type index$1_MobileSEOResult = MobileSEOResult;
|
|
5348
|
+
type index$1_MobileSpecificAnalysis = MobileSpecificAnalysis;
|
|
5349
|
+
type index$1_SchemaItem = SchemaItem;
|
|
5350
|
+
type index$1_SecurityHeadersResult = SecurityHeadersResult;
|
|
5351
|
+
type index$1_StructuredDataResult = StructuredDataResult;
|
|
5352
|
+
type index$1_TouchTargetAnalysis = TouchTargetAnalysis;
|
|
5353
|
+
type index$1_ViewportAnalysis = ViewportAnalysis;
|
|
5354
|
+
declare const index$1_analyzeCitationReadiness: typeof analyzeCitationReadiness;
|
|
5355
|
+
declare const index$1_analyzeComprehensive: typeof analyzeComprehensive;
|
|
5356
|
+
declare const index$1_analyzeContentStructure: typeof analyzeContentStructure;
|
|
5357
|
+
declare const index$1_analyzeCoreWebVitals: typeof analyzeCoreWebVitals;
|
|
5358
|
+
declare const index$1_analyzeEntityExtraction: typeof analyzeEntityExtraction;
|
|
5359
|
+
declare const index$1_analyzeGEO: typeof analyzeGEO;
|
|
5360
|
+
declare const index$1_analyzeImages: typeof analyzeImages;
|
|
5361
|
+
declare const index$1_analyzeInternalLinking: typeof analyzeInternalLinking;
|
|
5362
|
+
declare const index$1_analyzeMobileSEO: typeof analyzeMobileSEO;
|
|
5363
|
+
declare const index$1_analyzeRobotsTxtForAI: typeof analyzeRobotsTxtForAI;
|
|
5364
|
+
declare const index$1_analyzeSecurityHeaders: typeof analyzeSecurityHeaders;
|
|
5365
|
+
declare const index$1_analyzeStructuredData: typeof analyzeStructuredData;
|
|
5366
|
+
declare const index$1_calculateLLMSignals: typeof calculateLLMSignals;
|
|
5367
|
+
declare const index$1_detectRenderingMode: typeof detectRenderingMode;
|
|
5368
|
+
declare const index$1_generateAIFriendlyRobotsTxt: typeof generateAIFriendlyRobotsTxt;
|
|
5369
|
+
declare const index$1_generateResponsiveImage: typeof generateResponsiveImage;
|
|
5370
|
+
declare const index$1_generateSchemaTemplate: typeof generateSchemaTemplate;
|
|
5371
|
+
declare const index$1_generateSecurityHeaders: typeof generateSecurityHeaders;
|
|
5372
|
+
declare const index$1_suggestInternalLinks: typeof suggestInternalLinks;
|
|
5373
|
+
declare namespace index$1 {
|
|
5374
|
+
export { type index$1_AIAccessResult as AIAccessResult, index$1_AI_CRAWLERS_INFO as AI_CRAWLERS_INFO, type index$1_AnchorTextStats as AnchorTextStats, type index$1_CitationResult as CitationResult, type index$1_ComprehensiveSEOResult as ComprehensiveSEOResult, type index$1_ContentStructureResult as ContentStructureResult, type index$1_ContentWidthAnalysis as ContentWidthAnalysis, type index$1_CoreWebVitalsEstimate as CoreWebVitalsEstimate, type index$1_EntityResult as EntityResult, type index$1_FontSizeAnalysis as FontSizeAnalysis, type index$1_GEOAnalysisResult as GEOAnalysisResult, type index$1_ImageAnalysisResult as ImageAnalysisResult, type index$1_ImageInfo as ImageInfo, type index$1_InternalLinkingResult as InternalLinkingResult, type index$1_LLMSignalResult as LLMSignalResult, type index$1_LinkInfo as LinkInfo, type index$1_MobileSEOResult as MobileSEOResult, type index$1_MobileSpecificAnalysis as MobileSpecificAnalysis, type index$1_SchemaItem as SchemaItem, type index$1_SecurityHeadersResult as SecurityHeadersResult, type index$1_StructuredDataResult as StructuredDataResult, type index$1_TouchTargetAnalysis as TouchTargetAnalysis, type index$1_ViewportAnalysis as ViewportAnalysis, index$1_analyzeCitationReadiness as analyzeCitationReadiness, index$1_analyzeComprehensive as analyzeComprehensive, index$1_analyzeContentStructure as analyzeContentStructure, index$1_analyzeCoreWebVitals as analyzeCoreWebVitals, index$1_analyzeEntityExtraction as analyzeEntityExtraction, index$1_analyzeGEO as analyzeGEO, index$1_analyzeImages as analyzeImages, index$1_analyzeInternalLinking as analyzeInternalLinking, index$1_analyzeMobileSEO as analyzeMobileSEO, index$1_analyzeRobotsTxtForAI as analyzeRobotsTxtForAI, index$1_analyzeSecurityHeaders as analyzeSecurityHeaders, index$1_analyzeStructuredData as analyzeStructuredData, index$1_calculateLLMSignals as calculateLLMSignals, index$1_detectRenderingMode as detectRenderingMode, index$1_generateAIFriendlyRobotsTxt as generateAIFriendlyRobotsTxt, index$1_generateResponsiveImage as generateResponsiveImage, index$1_generateSchemaTemplate as generateSchemaTemplate, index$1_generateSecurityHeaders as generateSecurityHeaders, index$1_suggestInternalLinks as suggestInternalLinks };
|
|
5375
|
+
}
|
|
5376
|
+
|
|
4797
5377
|
/**
|
|
4798
5378
|
* Framework Detection
|
|
4799
5379
|
*
|
|
4800
5380
|
* Detects web frameworks from:
|
|
4801
5381
|
* 1. HTML signatures (data attributes, meta tags, scripts)
|
|
4802
|
-
* 2. package.json
|
|
5382
|
+
* 2. package.json / Gemfile / requirements.txt / composer.json / etc.
|
|
4803
5383
|
* 3. File structure patterns
|
|
5384
|
+
* 4. HTTP response headers
|
|
5385
|
+
*
|
|
5386
|
+
* Supports 25+ frameworks across JavaScript, Ruby, Python, PHP, Java, C#, Go, and Elixir.
|
|
4804
5387
|
*/
|
|
4805
|
-
type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'rails' | 'laravel' | '
|
|
5388
|
+
type Framework = 'react' | 'nextjs' | 'vue' | 'nuxt' | 'angular' | 'svelte' | 'sveltekit' | 'astro' | 'remix' | 'gatsby' | 'solidjs' | 'qwik' | 'fresh' | 'rails' | 'django' | 'flask' | 'fastapi' | 'laravel' | 'symfony' | 'wordpress' | 'spring' | 'aspnet' | 'go' | 'phoenix' | 'htmx' | 'hotwire' | 'hugo' | 'jekyll' | 'eleventy' | 'pelican' | 'unknown';
|
|
5389
|
+
type Language = 'javascript' | 'typescript' | 'ruby' | 'python' | 'php' | 'java' | 'csharp' | 'go' | 'elixir' | 'rust' | 'unknown';
|
|
4806
5390
|
interface FrameworkInfo {
|
|
4807
5391
|
framework: Framework;
|
|
4808
5392
|
version?: string;
|
|
5393
|
+
language: Language;
|
|
4809
5394
|
confidence: 'high' | 'medium' | 'low';
|
|
4810
|
-
detected_from: 'html' | 'package.json' | 'files' | 'headers';
|
|
5395
|
+
detected_from: 'html' | 'package.json' | 'files' | 'headers' | 'gemfile' | 'requirements' | 'composer' | 'pom' | 'csproj' | 'go.mod' | 'mix.exs';
|
|
4811
5396
|
meta_framework?: Framework;
|
|
4812
5397
|
}
|
|
4813
5398
|
/**
|
|
@@ -4815,7 +5400,7 @@ interface FrameworkInfo {
|
|
|
4815
5400
|
*/
|
|
4816
5401
|
declare function detectFromHtml(html: string): FrameworkInfo | null;
|
|
4817
5402
|
/**
|
|
4818
|
-
* Detect framework from package.json content
|
|
5403
|
+
* Detect framework from package.json content (JavaScript/TypeScript)
|
|
4819
5404
|
*/
|
|
4820
5405
|
declare function detectFromPackageJson(packageJson: {
|
|
4821
5406
|
dependencies?: Record<string, string>;
|
|
@@ -4834,6 +5419,16 @@ declare function detectFramework(options: {
|
|
|
4834
5419
|
dependencies?: Record<string, string>;
|
|
4835
5420
|
devDependencies?: Record<string, string>;
|
|
4836
5421
|
};
|
|
5422
|
+
composerJson?: {
|
|
5423
|
+
require?: Record<string, string>;
|
|
5424
|
+
'require-dev'?: Record<string, string>;
|
|
5425
|
+
};
|
|
5426
|
+
gemfileContent?: string;
|
|
5427
|
+
requirementsContent?: string;
|
|
5428
|
+
pomXmlContent?: string;
|
|
5429
|
+
csprojContent?: string;
|
|
5430
|
+
goModContent?: string;
|
|
5431
|
+
mixExsContent?: string;
|
|
4837
5432
|
headers?: Record<string, string>;
|
|
4838
5433
|
files?: string[];
|
|
4839
5434
|
}): FrameworkInfo;
|
|
@@ -5012,4 +5607,4 @@ interface SyncAuditResult {
|
|
|
5012
5607
|
*/
|
|
5013
5608
|
declare function runSyncAudit(url: string, html: string, checksLimit: number): SyncAuditResult;
|
|
5014
5609
|
|
|
5015
|
-
export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$
|
|
5610
|
+
export { type AIContentConfig, type AIKeywordResearchOptions, type AgentDefinition, type AgentTool, type AlertChannel, type AlertConfig, type AlertMessage, type AlertResult, type AlertSeverity, type AlertType, type AuditAlertPayload, type AuditIssue, type AuditIssueData, type AuditOptions, type AuditPRResult, type AuditReport, type AuditReportData, type AuditRunnerOptions, type AuditRunnerResult, type AuditSchedule, type BlogPostConfig, type BrandConfig, type CIAction, type CIKeywordOptions, type CIKeywordResult, COMMIT_TYPES, type ChangelogConfig, type ChangelogResult, type CitationCheckOptions, type CommitConfig, type ComparisonConfig, type ComparisonRow, type CompetitiveInsight, type CompetitiveSearchOptions, type CompetitiveSearchResult, type CompetitorComparison, type CompetitorKeywordResult, type CompetitorOverlap, type CompetitorTool, type ContentElements, type ContentGeneratorOptions, type ContentRecommendation, type ConventionalCommit, type CrawlResult, type CrawlStats, type CrawledPage, type CreateAuditPROptions, type CreatePROptions, type DataForSEOCredentials, type DiscoveredPage, type EnhancedToolIdea, type ExecOptions, type ExecuteOptions, type ExecutionResult, type FAQItem, type FAQSchemaOptions, type FeaturedSnippetAnalysis, type Fix, type FixFile, type FixGeneratorOptions, type FixResult, type FrameworkInfo$1 as FrameworkInfo, type FreeKeywordResult, type FreeToolIdea, type GA4Config, type GEOAlert, type GEOAlertType, type GEOHistory, type GEOHistoryOptions, type GEOQuery, type GEOReport, type GEOResult, type GEOTrend, type GSCConfig, type GSCCredentials, type GSCPerformanceData, type GSCQueryData, type GSCQueryResult, type GeneratedCode, type GeneratedContent, type GeneratedFix, type HeadingStructure, type HeadlineAnalysis, type HealthScore, ISSUE_DEFINITIONS, type ImageInfo$2 as ImageInfo, type InjectionResult, type IntentAnalysis, type IssueCategory, type IssueDefinition, type IssueSeverity, type KeyFact, type KeyFactsOptions, type KeywordAction, type KeywordCluster, type KeywordData, type KeywordDensityAnalysis, type KeywordOpportunity, type KeywordRecommendation, type KeywordResearchOptions, type KeywordResearchResult, type KeywordStats, type KeywordTopic, type LLMCitationResult, type LLMJudgeOptions, type LLMProvider, LOCATION_CODES, type LSIKeyword, type LinkInfo$1 as LinkInfo, type Mention, type MentionType, type MetaData, type MetaFixOptions, type NGram, type NLPAnalysisResult, OG_IMAGE_SPECS, type OptimizeOptions, type PRConfig, type PRDescription, PRIORITY_WEIGHTS, type PRResult, type PageAudit, type PageData, type PageMeta, type PaidKeywordResult, type ParsedResponse, type PlanTier, type ProviderStats, type QuickWin, type ReadabilityResult, type ReadmeConfig, type ReadmeResult, type ReportBranding, type ReportConfig, type ReportData, type ReportPageData, type RouteInfo, type SEOAnalysisResult, type SEOFixCommit, type SEOFixSummary, type SEOIssue, type SEORecommendation, type SEOScore, SEO_SCOPES, SITE_PROFILE_QUESTIONS, type ScheduledAuditConfig, type ScheduledAuditResult, type SchemaData, Schemas, type SearchIntent, type Sentiment, type SiteCrawlResult, type SiteProfile, type SiteSummary, type SnippetRecommendation, type SnippetType, type SocialMetaConfig, type SocialMetaFix, type SummarizerOptions, type TFIDFResult, type ToolFeasibilityScore, type ToolFunction, type ToolResult, type TopicClusterResult, type TopicModel, type TrackingOptions, type TrendDirection, type UncertaintyAssessment, type WizardQuestion, type WizardResponse, type WizardResult, type WizardSession, type WorkflowConfig, addTrackingResult, analyzeAnchorText, analyzeCanonicalAdvanced, analyzeClientRendering, analyzeContentFreshness, analyzeConversionElements, analyzeDOMStructure, analyzeEntitySEO, analyzeFeaturedSnippetPotential, analyzeFreshnessSignals, analyzeFunnelIntent, analyzeHeadings, analyzeHeadline, analyzeHreflang, analyzeImages$1 as analyzeImages, analyzeInteractiveTools, analyzeKeywordDensity, analyzeKeywordPlacement, analyzeKeywords, analyzeLinks, analyzeLocalSEO, analyzeMobile, analyzeModernImages, analyzeNavBoostSignals, analyzeOnPage, analyzePagination, analyzePerformance, analyzePlatformPresence, analyzeReadability, analyzeRedirectChain, analyzeRedirects, analyzeResponsiveImages, analyzeSERPPreview, analyzeSecurity, analyzeSecurityHeaders$1 as analyzeSecurityHeaders, analyzeSocialMeta, analyzeStructuredData$1 as analyzeStructuredData, analyzeTopicalClusters, analyzeTrackerBloat, analyzeUrl, analyzeUrlSafety, index$1 as analyzers, applyFixes, buildGSCApiRequest, buildGSCRequest, calculateAIVisibilityScore, calculateBM25, calculateTFIDF$1 as calculateKeywordTFIDF, calculateNextRun, calculateTFIDF, checkAIBotBlocking, checkAMP, checkAdsTxt, checkAppleTouchIcon, checkBalance, checkCertificate, checkDMARC, checkGitHubCLI, checkInternalRedirects, checkJSRenderingRatio, checkLLMCitations, checkLlmsTxt, checkMobileResources, checkPlaintextEmails, checkRedirects, checkRobots, checkRobotsTxt, checkSPF, checkSitemap, classifyIntent, classifyIntents, clusterKeywordsByEmbedding, compareCompetitorVisibility, comparePeriods, completeWizard, crawlSite, crawlUrl, createAuditPR, createFallbackSummary, createGEOHistory, createPullRequest, createSEOCommit, createSEOCommits, detectDuplicates, detectFramework$1 as detectFramework, detectGitHubPages, detectMentions, detectSoft404, detectTechnologies, detectVisibilityChanges, discoverCompetitorKeywords, discoverPagesFromLinks, discoverRoutesFromRepo, enhanceSummaryWithCompetitors, enhanceToolIdea, enrichKeywordsWithEstimates, ensureGitRepo, evaluateAndEnhanceToolIdeas, evaluateToolFeasibility, executeAgent, extractContentHash, extractEntityPhrases, extractImages, extractKeyPhrases, extractLinks, extractMeta, extractNgrams, extractSchema, extractSeedKeywords, extractTopics, fetchCoreWebVitals, findAlmostPage1Keywords, findCTROpportunities, findHtmlEntry, findLSIKeywords, findPageFiles, findTopPerformers, formatAlertMessage, formatCIResult, formatCompetitorReport, formatConventionalCommit, formatFeaturedSnippetReport, formatHeadlineReport, formatIntentReport, formatKeywordDensityReport, formatKeywordReport, formatPRBody, formatPRTitle, formatReadabilityReport, formatReport, formatSEOCommitMessage, formatTopicReport, formatWizardProgress, index as frameworks, generateAICitableContent, generateAllFixes, generateAngularSEOService, generateAspNetCoreSEO, generateAstroBaseHead, generateAstroMeta, generateBlogPost, generateBranchName, generateChangelog, generateCommitSummary, generateComparisonTable, generateCompleteSocialMetaSetup, generateDjangoSEOHelper, generateDuplicateIssues, generateEleventySEO, generateFAQSchema, generateFixes, generateGA4EnvTemplate, generateGA4ReactComponent, generateGA4Script, generateGA4ViteScript, generateGEOReport, generateGSCVerificationTag, generateGitHubActionSetup, generateGoSEO, generateHTMLReport, generateHTMLSocialMeta, generateHTMXSEO, generateHeadlineVariations, generateHugoSEO, generateJekyllSEO, generateJsonReport, generateKeyFacts, generateLaravelSEOHelper, generateMarkdownReport, generateNextAppMetadata, generateNextJsAppRouterMetadata, generateNextJsPagesRouterHead, generateNextPagesHead, generateNuxtSEOHead, generatePDFReport, generatePRDescription, generatePhoenixSEO, generateRailsSEOHelper, generateReactHelmetSocialMeta, generateReactSEOHead, generateRecommendationQueries, generateRemixMeta, generateRemixSEO, generateSecretsDoc, generateSocialMetaFix, generateSpringBootSEO, generateSvelteKitMeta, generateSvelteKitSEOHead, generateUncertaintyQuestions, generateVueSEOHead, generateWizardQuestions, generateWorkflow, getAIVisibilitySummary, getAutocompleteSuggestions, getDateRange, getExpandedSuggestions, getFrameworkSpecificFix, getFrameworkSpecificFixExtended, getGSCSetupInstructions, getGitUser, getKeywordData, getKeywordSuggestions, getMaxKdThreshold, getNextQuestion, getRelatedKeywords, getVisibilityTrend, groupKeywordsByTopic, identifyQuickWins, injectGA4, injectGSCVerification, interpolatePrompt, isGitRepo, listFiles, loadAgent, loadAgentByName, mergePages, optimizeForAI, optimizeReadme, parseGEOResponse, parseGSCResponse, parseSitemap, prioritizeKeywords, processWizardResponse, readFile, routesToUrls, runAIKeywordResearch, runAIReadinessChecks, runAdditionalChecks, runAuditWithFixes, runCIKeywordResearch, runCrawlabilityChecks, runDirectAnalysis, runFullAudit, runKeywordResearch, runNLPAnalysis, runScheduledAudit, runSyncAudit, scoreContentSEO, scoreMention, searchCompetitors, searchFormatConverters, searchHackerNews, sendAlert, sendAlerts, sendDiscordAlert, sendSlackAlert, shouldRunAudit, shouldSendAlert, startWizardSession, suggestSchemaTypes, summarizeSite, tokenize, tools, trackLLMVisibility, transformGSCData, urlSafetyDatabase, wizardResponsesToContext, writeFile, writeGitHubActionFiles };
|