diff --git a/www/apps/book/components/Homepage/LinksSection/index.tsx b/www/apps/book/components/Homepage/LinksSection/index.tsx
index 4fc706b941..f68733edb5 100644
--- a/www/apps/book/components/Homepage/LinksSection/index.tsx
+++ b/www/apps/book/components/Homepage/LinksSection/index.tsx
@@ -11,8 +11,8 @@ const HomepageLinksSection = () => {
text: "Create your first application",
},
{
- href: "/learn/customization/custom-features/module",
- text: "Build a Module",
+ href: "https://docs.medusajs.com/cloud/sign-up",
+ text: "Deploy to Medusa Cloud",
},
{
href: "https://docs.medusajs.com/resources/integrations",
diff --git a/www/apps/cloud/app/comparison/page.mdx b/www/apps/cloud/app/comparison/page.mdx
index a60c75dadb..57677e66a2 100644
--- a/www/apps/cloud/app/comparison/page.mdx
+++ b/www/apps/cloud/app/comparison/page.mdx
@@ -98,7 +98,7 @@ However, before choosing self-hosting, it's important to understand the challeng
Requires manual optimization and monitoring to ensure optimal performance.
- Provides continuous performance monitoring and optimization.
+ Provides continuous performance monitoring and optimization, with built-in cacheing support.
@@ -246,7 +246,7 @@ If not optimized correctly, your application may experience slow response times,
### Cloud: Continuous Performance Monitoring
-Medusa provides continuous performance monitoring and optimization on **Cloud**. Medusa continuously monitors applications to identify performance bottlenecks and build tooling to resolve them.
+Medusa provides continuous performance monitoring and optimization on **Cloud**. Medusa continuously monitors applications to identify performance bottlenecks and build tooling to resolve them. Medusa also provides a direct [cache](../cache/page.mdx) integration to [improve performance of business-critical APIs](../cache/page.mdx#performance-benchmark-comparisons).
Cloud users benefit from these optimizations without any additional effort or configuration, ensuring their applications run smoothly and efficiently.
diff --git a/www/apps/cloud/components/Pricing/FeatureSections/index.tsx b/www/apps/cloud/components/Pricing/FeatureSections/index.tsx
index 227670f1f1..0f639aa552 100644
--- a/www/apps/cloud/components/Pricing/FeatureSections/index.tsx
+++ b/www/apps/cloud/components/Pricing/FeatureSections/index.tsx
@@ -16,6 +16,7 @@ import {
Users,
WIP,
} from "@medusajs/icons"
+import { config } from "../../../config"
const P = MDXComponents.p
@@ -26,29 +27,39 @@ interface FeatureSectionsProps {
}
const featureLinks: Record = {
- Orders: "https://docs.medusajs.com/commerce-modules/order",
- Products: "https://docs.medusajs.com/commerce-modules/product",
- "Sales Channels": "https://docs.medusajs.com/commerce-modules/sales-channels",
- "Regions & currencies": "https://docs.medusajs.com/commerce-modules/region",
- "GitHub integration":
- "https://docs.medusajs.com/cloud/projects#2-create-project-from-an-existing-application",
- "Push-to-deploy flow":
- "https://docs.medusajs.com/cloud/deployments#how-are-deployments-created",
- Previews: "https://docs.medusajs.com/cloud/environments/preview",
- "Auto configuration:":
- "https://docs.medusajs.com/cloud/projects#prerequisite-medusa-application-configurations",
- Postgres: "https://docs.medusajs.com/cloud/database",
- Redis: "https://docs.medusajs.com/cloud/redis",
- S3: "https://docs.medusajs.com/cloud/s3",
- "Environment variables":
- "https://docs.medusajs.com/cloud/environments/environment-variables",
- "Data import/export":
- "https://docs.medusajs.com/cloud/database#importexport-database-dumps",
- Logs: "https://docs.medusajs.com/cloud/logs",
- "Multiple Long-Lived Environments":
- "https://docs.medusajs.com/cloud/environments/long-lived",
- "Cloud seats":
- "https://docs.medusajs.com/cloud/organizations#view-organization-members",
+ orders: "/resources/commerce-modules/order",
+ products: "/resources/commerce-modules/product",
+ "sales channels": "/resources/commerce-modules/sales-channels",
+ "regions & currencies": "/resources/commerce-modules/region",
+ "github integration":
+ "/cloud/projects#2-create-project-from-an-existing-application",
+ "push-to-deploy flow": "/cloud/deployments#how-are-deployments-created",
+ previews: "/cloud/environments/preview",
+ "auto configuration:":
+ "/cloud/projects#prerequisite-medusa-application-configurations",
+ postgres: "/cloud/database",
+ redis: "/cloud/redis",
+ s3: "/cloud/s3",
+ "environment variables": "/cloud/environments/environment-variables",
+ "data import/export": "/cloud/database#importexport-database-dumps",
+ logs: "/cloud/logs",
+ "multiple long-lived environments": "/cloud/environments/long-lived",
+ "long-lived environments (lle)": "/cloud/environments/long-lived",
+ "preview environments (pe)": "/cloud/environments/preview",
+ "cloud seats": "/cloud/organizations#view-organization-members",
+ "object storage": "/cloud/s3",
+ "database storage": "/cloud/database",
+ "key value store": "/cloud/redis",
+ "admin dashboard users": "/user-guide/settings/users",
+ "unlimited deployments": "/cloud/deployments",
+ "traffic load balancing": "/cloud/comparison#auto-scaling",
+ "log retention": "/cloud/logs",
+ "real-time 24/7 monitoring": "/cloud/comparison#high-availability",
+ "zero-downtime deployment": "/cloud/deployments",
+ backups: "/cloud/database#cloud-database-backups",
+ "performance tuning": "/cloud/comparison#performance",
+ "sla-backed uptime": "/cloud/comparison#high-availability",
+ support: "/cloud/comparison#support",
}
const featureIcons: Record = {
@@ -72,9 +83,14 @@ const renderBlockContent = (blocks: Block[]) => {
return block.children
.map((child: Span | TooltipBlock) => {
if (child._type === "span") {
- const key = child.text.trim()
+ const key = child.text.trim().toLowerCase()
return featureLinks[key]
- ? "[" + child.text + "](" + featureLinks[key] + ")"
+ ? "[" +
+ child.text +
+ "](" +
+ config.baseUrl +
+ featureLinks[key] +
+ ")"
: child.text
}
return ""
diff --git a/www/apps/cloud/components/Pricing/HeroPricing/index.tsx b/www/apps/cloud/components/Pricing/HeroPricing/index.tsx
index bfe45f85fd..86f671bd93 100644
--- a/www/apps/cloud/components/Pricing/HeroPricing/index.tsx
+++ b/www/apps/cloud/components/Pricing/HeroPricing/index.tsx
@@ -137,7 +137,7 @@ const HeroPricing: React.FC = ({ data }) => {
"bg-medusa-bg-subtle rounded-br"
)}
>
-
+
{option.buttons.map((button) => (
= ({ data }) => {
variant={
button.variant === "primary" || button.variant === "dark"
? "primary"
- : "secondary"
+ : button.variant === "transparent"
+ ? "transparent"
+ : "secondary"
}
- className="w-full txt-compact-xsmall-plus"
+ className={clsx(
+ "w-full txt-compact-xsmall-plus",
+ button.variant === "transparent" &&
+ "text-medusa-fg-subtle"
+ )}
>
{button.link.label}
diff --git a/www/apps/cloud/generated/edit-dates.mjs b/www/apps/cloud/generated/edit-dates.mjs
index 729d0b370e..92ea44d443 100644
--- a/www/apps/cloud/generated/edit-dates.mjs
+++ b/www/apps/cloud/generated/edit-dates.mjs
@@ -22,7 +22,7 @@ export const generatedEditDates = {
"app/billing/manage/page.mdx": "2025-10-08T14:40:23.629Z",
"app/pricing/page.mdx": "2025-09-05T10:31:59.059Z",
"app/sign-up/page.mdx": "2025-10-08T14:40:47.993Z",
- "app/comparison/page.mdx": "2025-09-30T06:17:40.257Z",
+ "app/comparison/page.mdx": "2025-10-22T14:44:01.898Z",
"app/billing/plans/page.mdx": "2025-10-08T14:49:27.009Z",
"app/cache/page.mdx": "2025-10-21T14:27:54.005Z",
"app/deployments/troubleshooting/page.mdx": "2025-10-17T14:44:22.894Z"