@lynxflow/seo-engine 1.6.4 → 1.6.5
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/dist/index.d.ts +0 -1
- package/dist/index.js +0 -102
- package/dist/index.mjs +0 -102
- package/package.json +1 -1
- package/src/index.ts +0 -1
- package/src/pricing-plans.ts +0 -137
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,6 @@ export * from "./brand-icons";
|
|
|
19
19
|
export * from "./ui-icons";
|
|
20
20
|
export * from "./og-image-generator";
|
|
21
21
|
export * from "./free-public-tools";
|
|
22
|
-
export * from "./pricing-plans";
|
|
23
22
|
export * from "./urlytics-engine";
|
|
24
23
|
export * from "./keyword-permutator";
|
|
25
24
|
export * from "./llm-prompt";
|
package/dist/index.js
CHANGED
|
@@ -70,7 +70,6 @@ __export(exports_src, {
|
|
|
70
70
|
RealReviewsSyncEngine: () => RealReviewsSyncEngine,
|
|
71
71
|
RankMathParityEngine: () => RankMathParityEngine,
|
|
72
72
|
PseoMatrixEngine: () => PseoMatrixEngine,
|
|
73
|
-
PricingPolicyEngine: () => PricingPolicyEngine,
|
|
74
73
|
PSEO_AGENT_SYSTEM_PROMPT: () => PSEO_AGENT_SYSTEM_PROMPT,
|
|
75
74
|
OgImageGenerator: () => OgImageGenerator,
|
|
76
75
|
NGramDensityAnalyzer: () => NGramDensityAnalyzer,
|
|
@@ -85,7 +84,6 @@ __export(exports_src, {
|
|
|
85
84
|
LlmContentCleaner: () => LlmContentCleaner,
|
|
86
85
|
LegalDisclaimerEngine: () => LegalDisclaimerEngine,
|
|
87
86
|
LagoTokenMeter: () => LagoTokenMeter,
|
|
88
|
-
LYNX_PRICING_PLANS: () => LYNX_PRICING_PLANS,
|
|
89
87
|
KnowledgeGraphLinker: () => KnowledgeGraphLinker,
|
|
90
88
|
KeywordPermutatorEngine: () => KeywordPermutatorEngine,
|
|
91
89
|
IsrCacheManager: () => IsrCacheManager,
|
|
@@ -4457,106 +4455,6 @@ class FreePublicToolsEngine {
|
|
|
4457
4455
|
});
|
|
4458
4456
|
}
|
|
4459
4457
|
}
|
|
4460
|
-
// src/pricing-plans.ts
|
|
4461
|
-
var LYNX_PRICING_PLANS = [
|
|
4462
|
-
{
|
|
4463
|
-
id: "pro",
|
|
4464
|
-
name: "Pro Starter",
|
|
4465
|
-
badge: "Pour Indépendants & PME",
|
|
4466
|
-
isPopular: false,
|
|
4467
|
-
priceMonthlyEur: 99,
|
|
4468
|
-
priceAnnualEurMonthly: 79,
|
|
4469
|
-
description: "L'essentiel pour dominer votre marché local et capter vos premiers clients qualifiés.",
|
|
4470
|
-
limits: {
|
|
4471
|
-
sitesAllowed: 1,
|
|
4472
|
-
maxProgrammaticPages: 5000,
|
|
4473
|
-
languagesIncluded: 1,
|
|
4474
|
-
monthlyAiBotEvents: 1e4
|
|
4475
|
-
},
|
|
4476
|
-
features: [
|
|
4477
|
-
"1 Domaine connecté",
|
|
4478
|
-
"Jusqu'à 5 000 Pages Métier Indexables",
|
|
4479
|
-
"Balisage Schema.org Riches (Étoiles 4.9★, Prix, FAQ)",
|
|
4480
|
-
"Sitemap XML dynamique & Flux /llms.txt",
|
|
4481
|
-
"Maillage interne géodésique anti-pages orphelines",
|
|
4482
|
-
"Conformité légale SeedRank & Détection anti-dénigrement",
|
|
4483
|
-
"Support standard par email"
|
|
4484
|
-
],
|
|
4485
|
-
ctaLabel: "Démarrer avec Pro",
|
|
4486
|
-
ctaUrl: "/subscribe?plan=pro"
|
|
4487
|
-
},
|
|
4488
|
-
{
|
|
4489
|
-
id: "growth",
|
|
4490
|
-
name: "Growth Scale",
|
|
4491
|
-
badge: "Le Plus Populaire",
|
|
4492
|
-
isPopular: true,
|
|
4493
|
-
priceMonthlyEur: 299,
|
|
4494
|
-
priceAnnualEurMonthly: 239,
|
|
4495
|
-
description: "L'infrastructure complète pour les SaaS, E-commerces et plateformes en forte croissance.",
|
|
4496
|
-
limits: {
|
|
4497
|
-
sitesAllowed: 3,
|
|
4498
|
-
maxProgrammaticPages: 50000,
|
|
4499
|
-
languagesIncluded: 4,
|
|
4500
|
-
monthlyAiBotEvents: 1e5
|
|
4501
|
-
},
|
|
4502
|
-
features: [
|
|
4503
|
-
"3 Domaines connectés",
|
|
4504
|
-
"Jusqu'à 50 000 Pages Métier Indexables",
|
|
4505
|
-
"10 Piliers de Matrices (Local, VS, Alternatives, Cas d'usage)",
|
|
4506
|
-
"Déploiement Multilingue Automatique (FR, EN, ES, DE)",
|
|
4507
|
-
"6 Outils Publics Interactifs (Calculateurs ROI, Simulateur SERP)",
|
|
4508
|
-
"Télémétrie en temps réel des Robots IA (GPTBot, ClaudeBot)",
|
|
4509
|
-
"Génération automatique d'Images OpenGraph 1200x630px",
|
|
4510
|
-
"Connecteurs Next.js, WordPress & Cloudflare Worker",
|
|
4511
|
-
"Support prioritaire sous 24h"
|
|
4512
|
-
],
|
|
4513
|
-
ctaLabel: "Passer à l'Échelle (Essai 14 jours)",
|
|
4514
|
-
ctaUrl: "/subscribe?plan=growth"
|
|
4515
|
-
},
|
|
4516
|
-
{
|
|
4517
|
-
id: "enterprise",
|
|
4518
|
-
name: "Agency & Enterprise",
|
|
4519
|
-
badge: "Pour Agences & Grands Comptes",
|
|
4520
|
-
isPopular: false,
|
|
4521
|
-
priceMonthlyEur: 990,
|
|
4522
|
-
priceAnnualEurMonthly: 790,
|
|
4523
|
-
description: "Puissance maximale sans limites pour agences web, marketplaces et groupes internationaux.",
|
|
4524
|
-
limits: {
|
|
4525
|
-
sitesAllowed: "unlimited",
|
|
4526
|
-
maxProgrammaticPages: "unlimited",
|
|
4527
|
-
languagesIncluded: "unlimited",
|
|
4528
|
-
monthlyAiBotEvents: "unlimited"
|
|
4529
|
-
},
|
|
4530
|
-
features: [
|
|
4531
|
-
"Domaines & Sites Illimités",
|
|
4532
|
-
"Volume de Pages Illimité (1M+ pages)",
|
|
4533
|
-
"Mode Marque Blanche (White-Label Agence)",
|
|
4534
|
-
"Toutes les langues du monde supportées",
|
|
4535
|
-
"Connecteur Laravel & Infrastructure Edge Dédiée",
|
|
4536
|
-
"Audit technique en continu & Alertes SERP par webhook",
|
|
4537
|
-
"Accompagnement architectural dédié & SLA 99.99%"
|
|
4538
|
-
],
|
|
4539
|
-
ctaLabel: "Contacter l'Équipe Enterprise",
|
|
4540
|
-
ctaUrl: "/subscribe?plan=enterprise"
|
|
4541
|
-
}
|
|
4542
|
-
];
|
|
4543
|
-
|
|
4544
|
-
class PricingPolicyEngine {
|
|
4545
|
-
static computeAgencySavingsComparison(customAgencyRateEur = 3500) {
|
|
4546
|
-
const traditional = Math.max(customAgencyRateEur, 2000);
|
|
4547
|
-
const basicAi = 450;
|
|
4548
|
-
const lynxGrowth = 299;
|
|
4549
|
-
const monthlySavings = traditional - lynxGrowth;
|
|
4550
|
-
const annualSavings = monthlySavings * 12;
|
|
4551
|
-
return {
|
|
4552
|
-
traditionalAgencyMonthlyEur: traditional,
|
|
4553
|
-
basicAiToolsMonthlyEur: basicAi,
|
|
4554
|
-
lynxGrowthMonthlyEur: lynxGrowth,
|
|
4555
|
-
monthlyNetSavingsVsAgency: monthlySavings,
|
|
4556
|
-
annualNetSavingsVsAgency: annualSavings
|
|
4557
|
-
};
|
|
4558
|
-
}
|
|
4559
|
-
}
|
|
4560
4458
|
// src/urlytics-engine.ts
|
|
4561
4459
|
class UrlyticsEngine {
|
|
4562
4460
|
static parseUrl(rawUrl) {
|
package/dist/index.mjs
CHANGED
|
@@ -4343,106 +4343,6 @@ class FreePublicToolsEngine {
|
|
|
4343
4343
|
});
|
|
4344
4344
|
}
|
|
4345
4345
|
}
|
|
4346
|
-
// src/pricing-plans.ts
|
|
4347
|
-
var LYNX_PRICING_PLANS = [
|
|
4348
|
-
{
|
|
4349
|
-
id: "pro",
|
|
4350
|
-
name: "Pro Starter",
|
|
4351
|
-
badge: "Pour Indépendants & PME",
|
|
4352
|
-
isPopular: false,
|
|
4353
|
-
priceMonthlyEur: 99,
|
|
4354
|
-
priceAnnualEurMonthly: 79,
|
|
4355
|
-
description: "L'essentiel pour dominer votre marché local et capter vos premiers clients qualifiés.",
|
|
4356
|
-
limits: {
|
|
4357
|
-
sitesAllowed: 1,
|
|
4358
|
-
maxProgrammaticPages: 5000,
|
|
4359
|
-
languagesIncluded: 1,
|
|
4360
|
-
monthlyAiBotEvents: 1e4
|
|
4361
|
-
},
|
|
4362
|
-
features: [
|
|
4363
|
-
"1 Domaine connecté",
|
|
4364
|
-
"Jusqu'à 5 000 Pages Métier Indexables",
|
|
4365
|
-
"Balisage Schema.org Riches (Étoiles 4.9★, Prix, FAQ)",
|
|
4366
|
-
"Sitemap XML dynamique & Flux /llms.txt",
|
|
4367
|
-
"Maillage interne géodésique anti-pages orphelines",
|
|
4368
|
-
"Conformité légale SeedRank & Détection anti-dénigrement",
|
|
4369
|
-
"Support standard par email"
|
|
4370
|
-
],
|
|
4371
|
-
ctaLabel: "Démarrer avec Pro",
|
|
4372
|
-
ctaUrl: "/subscribe?plan=pro"
|
|
4373
|
-
},
|
|
4374
|
-
{
|
|
4375
|
-
id: "growth",
|
|
4376
|
-
name: "Growth Scale",
|
|
4377
|
-
badge: "Le Plus Populaire",
|
|
4378
|
-
isPopular: true,
|
|
4379
|
-
priceMonthlyEur: 299,
|
|
4380
|
-
priceAnnualEurMonthly: 239,
|
|
4381
|
-
description: "L'infrastructure complète pour les SaaS, E-commerces et plateformes en forte croissance.",
|
|
4382
|
-
limits: {
|
|
4383
|
-
sitesAllowed: 3,
|
|
4384
|
-
maxProgrammaticPages: 50000,
|
|
4385
|
-
languagesIncluded: 4,
|
|
4386
|
-
monthlyAiBotEvents: 1e5
|
|
4387
|
-
},
|
|
4388
|
-
features: [
|
|
4389
|
-
"3 Domaines connectés",
|
|
4390
|
-
"Jusqu'à 50 000 Pages Métier Indexables",
|
|
4391
|
-
"10 Piliers de Matrices (Local, VS, Alternatives, Cas d'usage)",
|
|
4392
|
-
"Déploiement Multilingue Automatique (FR, EN, ES, DE)",
|
|
4393
|
-
"6 Outils Publics Interactifs (Calculateurs ROI, Simulateur SERP)",
|
|
4394
|
-
"Télémétrie en temps réel des Robots IA (GPTBot, ClaudeBot)",
|
|
4395
|
-
"Génération automatique d'Images OpenGraph 1200x630px",
|
|
4396
|
-
"Connecteurs Next.js, WordPress & Cloudflare Worker",
|
|
4397
|
-
"Support prioritaire sous 24h"
|
|
4398
|
-
],
|
|
4399
|
-
ctaLabel: "Passer à l'Échelle (Essai 14 jours)",
|
|
4400
|
-
ctaUrl: "/subscribe?plan=growth"
|
|
4401
|
-
},
|
|
4402
|
-
{
|
|
4403
|
-
id: "enterprise",
|
|
4404
|
-
name: "Agency & Enterprise",
|
|
4405
|
-
badge: "Pour Agences & Grands Comptes",
|
|
4406
|
-
isPopular: false,
|
|
4407
|
-
priceMonthlyEur: 990,
|
|
4408
|
-
priceAnnualEurMonthly: 790,
|
|
4409
|
-
description: "Puissance maximale sans limites pour agences web, marketplaces et groupes internationaux.",
|
|
4410
|
-
limits: {
|
|
4411
|
-
sitesAllowed: "unlimited",
|
|
4412
|
-
maxProgrammaticPages: "unlimited",
|
|
4413
|
-
languagesIncluded: "unlimited",
|
|
4414
|
-
monthlyAiBotEvents: "unlimited"
|
|
4415
|
-
},
|
|
4416
|
-
features: [
|
|
4417
|
-
"Domaines & Sites Illimités",
|
|
4418
|
-
"Volume de Pages Illimité (1M+ pages)",
|
|
4419
|
-
"Mode Marque Blanche (White-Label Agence)",
|
|
4420
|
-
"Toutes les langues du monde supportées",
|
|
4421
|
-
"Connecteur Laravel & Infrastructure Edge Dédiée",
|
|
4422
|
-
"Audit technique en continu & Alertes SERP par webhook",
|
|
4423
|
-
"Accompagnement architectural dédié & SLA 99.99%"
|
|
4424
|
-
],
|
|
4425
|
-
ctaLabel: "Contacter l'Équipe Enterprise",
|
|
4426
|
-
ctaUrl: "/subscribe?plan=enterprise"
|
|
4427
|
-
}
|
|
4428
|
-
];
|
|
4429
|
-
|
|
4430
|
-
class PricingPolicyEngine {
|
|
4431
|
-
static computeAgencySavingsComparison(customAgencyRateEur = 3500) {
|
|
4432
|
-
const traditional = Math.max(customAgencyRateEur, 2000);
|
|
4433
|
-
const basicAi = 450;
|
|
4434
|
-
const lynxGrowth = 299;
|
|
4435
|
-
const monthlySavings = traditional - lynxGrowth;
|
|
4436
|
-
const annualSavings = monthlySavings * 12;
|
|
4437
|
-
return {
|
|
4438
|
-
traditionalAgencyMonthlyEur: traditional,
|
|
4439
|
-
basicAiToolsMonthlyEur: basicAi,
|
|
4440
|
-
lynxGrowthMonthlyEur: lynxGrowth,
|
|
4441
|
-
monthlyNetSavingsVsAgency: monthlySavings,
|
|
4442
|
-
annualNetSavingsVsAgency: annualSavings
|
|
4443
|
-
};
|
|
4444
|
-
}
|
|
4445
|
-
}
|
|
4446
4346
|
// src/urlytics-engine.ts
|
|
4447
4347
|
class UrlyticsEngine {
|
|
4448
4348
|
static parseUrl(rawUrl) {
|
|
@@ -7059,7 +6959,6 @@ export {
|
|
|
7059
6959
|
RealReviewsSyncEngine,
|
|
7060
6960
|
RankMathParityEngine,
|
|
7061
6961
|
PseoMatrixEngine,
|
|
7062
|
-
PricingPolicyEngine,
|
|
7063
6962
|
PSEO_AGENT_SYSTEM_PROMPT,
|
|
7064
6963
|
OgImageGenerator,
|
|
7065
6964
|
NGramDensityAnalyzer,
|
|
@@ -7074,7 +6973,6 @@ export {
|
|
|
7074
6973
|
LlmContentCleaner,
|
|
7075
6974
|
LegalDisclaimerEngine,
|
|
7076
6975
|
LagoTokenMeter,
|
|
7077
|
-
LYNX_PRICING_PLANS,
|
|
7078
6976
|
KnowledgeGraphLinker,
|
|
7079
6977
|
KeywordPermutatorEngine,
|
|
7080
6978
|
IsrCacheManager,
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -20,7 +20,6 @@ export * from "./brand-icons";
|
|
|
20
20
|
export * from "./ui-icons";
|
|
21
21
|
export * from "./og-image-generator";
|
|
22
22
|
export * from "./free-public-tools";
|
|
23
|
-
export * from "./pricing-plans";
|
|
24
23
|
export * from "./urlytics-engine";
|
|
25
24
|
export * from "./keyword-permutator";
|
|
26
25
|
export * from "./llm-prompt";
|
package/src/pricing-plans.ts
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 💎 LynxSEO Official Enterprise Pricing & Subscription Tiers
|
|
3
|
-
* Defines the 3 core commercial tiers (Pro, Growth, Enterprise/Agency) with feature matrix,
|
|
4
|
-
* monthly/annual billing models, and ROI value calculator.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export interface PricingPlan {
|
|
8
|
-
id: "pro" | "growth" | "enterprise";
|
|
9
|
-
name: string;
|
|
10
|
-
badge?: string;
|
|
11
|
-
isPopular?: boolean;
|
|
12
|
-
priceMonthlyEur: number;
|
|
13
|
-
priceAnnualEurMonthly: number; // Discounted monthly rate when billed annually (-20%)
|
|
14
|
-
description: string;
|
|
15
|
-
limits: {
|
|
16
|
-
sitesAllowed: number | "unlimited";
|
|
17
|
-
maxProgrammaticPages: number | "unlimited";
|
|
18
|
-
languagesIncluded: number | "unlimited";
|
|
19
|
-
monthlyAiBotEvents: number | "unlimited";
|
|
20
|
-
};
|
|
21
|
-
features: string[];
|
|
22
|
-
ctaLabel: string;
|
|
23
|
-
ctaUrl: string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const LYNX_PRICING_PLANS: PricingPlan[] = [
|
|
27
|
-
{
|
|
28
|
-
id: "pro",
|
|
29
|
-
name: "Pro Starter",
|
|
30
|
-
badge: "Pour Indépendants & PME",
|
|
31
|
-
isPopular: false,
|
|
32
|
-
priceMonthlyEur: 99,
|
|
33
|
-
priceAnnualEurMonthly: 79,
|
|
34
|
-
description: "L'essentiel pour dominer votre marché local et capter vos premiers clients qualifiés.",
|
|
35
|
-
limits: {
|
|
36
|
-
sitesAllowed: 1,
|
|
37
|
-
maxProgrammaticPages: 5_000,
|
|
38
|
-
languagesIncluded: 1,
|
|
39
|
-
monthlyAiBotEvents: 10_000,
|
|
40
|
-
},
|
|
41
|
-
features: [
|
|
42
|
-
"1 Domaine connecté",
|
|
43
|
-
"Jusqu'à 5 000 Pages Métier Indexables",
|
|
44
|
-
"Balisage Schema.org Riches (Étoiles 4.9★, Prix, FAQ)",
|
|
45
|
-
"Sitemap XML dynamique & Flux /llms.txt",
|
|
46
|
-
"Maillage interne géodésique anti-pages orphelines",
|
|
47
|
-
"Conformité légale SeedRank & Détection anti-dénigrement",
|
|
48
|
-
"Support standard par email",
|
|
49
|
-
],
|
|
50
|
-
ctaLabel: "Démarrer avec Pro",
|
|
51
|
-
ctaUrl: "/subscribe?plan=pro",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
id: "growth",
|
|
55
|
-
name: "Growth Scale",
|
|
56
|
-
badge: "Le Plus Populaire",
|
|
57
|
-
isPopular: true,
|
|
58
|
-
priceMonthlyEur: 299,
|
|
59
|
-
priceAnnualEurMonthly: 239,
|
|
60
|
-
description: "L'infrastructure complète pour les SaaS, E-commerces et plateformes en forte croissance.",
|
|
61
|
-
limits: {
|
|
62
|
-
sitesAllowed: 3,
|
|
63
|
-
maxProgrammaticPages: 50_000,
|
|
64
|
-
languagesIncluded: 4,
|
|
65
|
-
monthlyAiBotEvents: 100_000,
|
|
66
|
-
},
|
|
67
|
-
features: [
|
|
68
|
-
"3 Domaines connectés",
|
|
69
|
-
"Jusqu'à 50 000 Pages Métier Indexables",
|
|
70
|
-
"10 Piliers de Matrices (Local, VS, Alternatives, Cas d'usage)",
|
|
71
|
-
"Déploiement Multilingue Automatique (FR, EN, ES, DE)",
|
|
72
|
-
"6 Outils Publics Interactifs (Calculateurs ROI, Simulateur SERP)",
|
|
73
|
-
"Télémétrie en temps réel des Robots IA (GPTBot, ClaudeBot)",
|
|
74
|
-
"Génération automatique d'Images OpenGraph 1200x630px",
|
|
75
|
-
"Connecteurs Next.js, WordPress & Cloudflare Worker",
|
|
76
|
-
"Support prioritaire sous 24h",
|
|
77
|
-
],
|
|
78
|
-
ctaLabel: "Passer à l'Échelle (Essai 14 jours)",
|
|
79
|
-
ctaUrl: "/subscribe?plan=growth",
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
id: "enterprise",
|
|
83
|
-
name: "Agency & Enterprise",
|
|
84
|
-
badge: "Pour Agences & Grands Comptes",
|
|
85
|
-
isPopular: false,
|
|
86
|
-
priceMonthlyEur: 990,
|
|
87
|
-
priceAnnualEurMonthly: 790,
|
|
88
|
-
description: "Puissance maximale sans limites pour agences web, marketplaces et groupes internationaux.",
|
|
89
|
-
limits: {
|
|
90
|
-
sitesAllowed: "unlimited",
|
|
91
|
-
maxProgrammaticPages: "unlimited",
|
|
92
|
-
languagesIncluded: "unlimited",
|
|
93
|
-
monthlyAiBotEvents: "unlimited",
|
|
94
|
-
},
|
|
95
|
-
features: [
|
|
96
|
-
"Domaines & Sites Illimités",
|
|
97
|
-
"Volume de Pages Illimité (1M+ pages)",
|
|
98
|
-
"Mode Marque Blanche (White-Label Agence)",
|
|
99
|
-
"Toutes les langues du monde supportées",
|
|
100
|
-
"Connecteur Laravel & Infrastructure Edge Dédiée",
|
|
101
|
-
"Audit technique en continu & Alertes SERP par webhook",
|
|
102
|
-
"Accompagnement architectural dédié & SLA 99.99%",
|
|
103
|
-
],
|
|
104
|
-
ctaLabel: "Contacter l'Équipe Enterprise",
|
|
105
|
-
ctaUrl: "/subscribe?plan=enterprise",
|
|
106
|
-
},
|
|
107
|
-
];
|
|
108
|
-
|
|
109
|
-
export interface AgencyCostComparison {
|
|
110
|
-
traditionalAgencyMonthlyEur: number;
|
|
111
|
-
basicAiToolsMonthlyEur: number;
|
|
112
|
-
lynxGrowthMonthlyEur: number;
|
|
113
|
-
monthlyNetSavingsVsAgency: number;
|
|
114
|
-
annualNetSavingsVsAgency: number;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export class PricingPolicyEngine {
|
|
118
|
-
/**
|
|
119
|
-
* Compares the financial ROI of LynxSEO Growth Plan vs Traditional SEO Agencies.
|
|
120
|
-
*/
|
|
121
|
-
static computeAgencySavingsComparison(customAgencyRateEur = 3500): AgencyCostComparison {
|
|
122
|
-
const traditional = Math.max(customAgencyRateEur, 2000);
|
|
123
|
-
const basicAi = 450; // Multiple AI copywriting subscriptions + manual editing payroll
|
|
124
|
-
const lynxGrowth = 299;
|
|
125
|
-
|
|
126
|
-
const monthlySavings = traditional - lynxGrowth;
|
|
127
|
-
const annualSavings = monthlySavings * 12;
|
|
128
|
-
|
|
129
|
-
return {
|
|
130
|
-
traditionalAgencyMonthlyEur: traditional,
|
|
131
|
-
basicAiToolsMonthlyEur: basicAi,
|
|
132
|
-
lynxGrowthMonthlyEur: lynxGrowth,
|
|
133
|
-
monthlyNetSavingsVsAgency: monthlySavings,
|
|
134
|
-
annualNetSavingsVsAgency: annualSavings,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
}
|