-
{card.title}
+ {card.title}
{card.isCustomPricing ? (
diff --git a/ee/apps/landing/components/site-footer.tsx b/ee/apps/landing/components/site-footer.tsx
index 370c7273..5337528d 100644
--- a/ee/apps/landing/components/site-footer.tsx
+++ b/ee/apps/landing/components/site-footer.tsx
@@ -27,9 +27,14 @@ export function SiteFooter() {
Desktop
-
+
Cloud
-
+
Enterprise
diff --git a/ee/apps/landing/components/site-nav.tsx b/ee/apps/landing/components/site-nav.tsx
index d0d85c2f..671ed6a8 100644
--- a/ee/apps/landing/components/site-nav.tsx
+++ b/ee/apps/landing/components/site-nav.tsx
@@ -11,7 +11,7 @@ type Props = {
downloadHref?: string;
mobilePrimaryHref?: string;
mobilePrimaryLabel?: string;
- active?: "home" | "pricing" | "download" | "enterprise" | "den" | "docs";
+ active?: "home" | "pricing" | "download" | "enterprise" | "cloud" | "docs";
};
export function SiteNav(props: Props) {
@@ -32,13 +32,16 @@ export function SiteNav(props: Props) {
const callExternal = /^https?:\/\//.test(callHref);
const mobilePrimaryExternal = /^https?:\/\//.test(mobilePrimaryHref);
const navItems = [
- { href: "/docs", label: "Docs", key: "docs" },
+ { href: "/docs", label: "Docs", key: "docs", newTab: true },
{ href: "/pricing", label: "Pricing", key: "pricing" },
{ href: "/download", label: "Desktop", key: "download" },
- { href: "https://app.openworklabs.com", label: "Cloud", key: "den" },
+ { href: "https://app.openworklabs.com", label: "Cloud", key: "cloud" },
{ href: "/enterprise", label: "Enterprise", key: "enterprise" }
] as const;
+ const opensInNewTab = (item: (typeof navItems)[number]) =>
+ ("newTab" in item && item.newTab) || /^(?:https?:\/\/)/.test(item.href);
+
const navLink = (isActive: boolean) =>
isActive
? "text-[#011627]"
@@ -64,7 +67,7 @@ export function SiteNav(props: Props) {
{item.label}
@@ -117,7 +120,7 @@ export function SiteNav(props: Props) {
| Array
>;
+};
+
+export function StructuredData({ data }: StructuredDataProps) {
+ return (
+
+ );
+}
diff --git a/ee/apps/landing/components/webmcp-provider.tsx b/ee/apps/landing/components/webmcp-provider.tsx
index 8cca7280..2761f1ef 100644
--- a/ee/apps/landing/components/webmcp-provider.tsx
+++ b/ee/apps/landing/components/webmcp-provider.tsx
@@ -18,7 +18,7 @@ const destinations: Record = {
download: "/download",
pricing: "/pricing",
enterprise: "/enterprise",
- den: "/den",
+ cloud: "https://app.openworklabs.com",
docs: "/docs",
trust: "/trust",
feedback: "/feedback",
@@ -91,7 +91,7 @@ const tools: Tool[] = [
{
name: "navigate_to",
description:
- "Navigate the current tab to a key section of openworklabs.com. Use this when the user expresses intent to view pricing, download, enterprise, den (cloud), docs, trust, or feedback.",
+ "Navigate the current tab to a key section of openworklabs.com. Use this when the user expresses intent to view pricing, download, enterprise, cloud, docs, trust, or feedback.",
inputSchema: {
type: "object",
properties: {
diff --git a/ee/apps/landing/lib/agent-markdown.ts b/ee/apps/landing/lib/agent-markdown.ts
index 504b4ec4..6a7506b7 100644
--- a/ee/apps/landing/lib/agent-markdown.ts
+++ b/ee/apps/landing/lib/agent-markdown.ts
@@ -14,9 +14,9 @@ const home = `# OpenWork
- **Try it free** — [Download the desktop app](https://openworklabs.com/download)
- **Hosted cloud workers** — [Pricing](https://openworklabs.com/pricing) (\\$50/mo per worker)
+- **Sign in to the hosted workspace** — [Cloud](https://app.openworklabs.com)
- **SSO / audit / procurement** — [Enterprise](https://openworklabs.com/enterprise)
- **Docs** — [openworklabs.com/docs](https://openworklabs.com/docs)
-- **Den (team workspace)** — [openworklabs.com/den](https://openworklabs.com/den)
## For agents
@@ -28,7 +28,7 @@ const home = `# OpenWork
Backed by Y Combinator.
`
-const pricing = `# Pricing
+const pricing = `# OpenWork pricing — free, team, and enterprise
> OpenWork has three tiers: free open-source desktop, \\$50/mo Team Starter, and custom Enterprise.
@@ -59,9 +59,9 @@ const pricing = `# Pricing
Prices exclude taxes.
`
-const enterprise = `# OpenWork for Enterprise
+const enterprise = `# A privacy-first alternative to Claude Cowork for your organization
-> Secure hosting for safe, permissioned AI employees. SSO, audit, custom deployment, and procurement support.
+> The open-source Claude Cowork alternative — self-hosted, permissioned, and compliance-ready. SSO, audit, custom deployment, and procurement support.
## What Enterprise includes
@@ -79,32 +79,10 @@ const enterprise = `# OpenWork for Enterprise
## Next step
- [Book a call](https://openworklabs.com/enterprise#book)
-- See [Trust & security](https://openworklabs.com/trust) for data handling, subprocessors, and incident SLA
+- [Security Review](https://openworklabs.com/trust) — data handling, subprocessors, and incident SLA
- See [Pricing](https://openworklabs.com/pricing) for tier comparison
`
-const den = `# Den — Agents that never sleep
-
-> Cloud workspace for long-running tasks, background automation, and the same agent workflows you use locally in OpenWork, without keeping your own machine awake.
-
-## What Den is
-
-- Personal cloud workspace for OpenWork agents
-- Runs long-running and scheduled tasks without a local machine
-- Same skills, plugins, and MCP servers as the desktop app
-- \\$50/mo per worker — free for a limited time
-
-## Get started
-
-- CTA: [Start a cloud worker](https://app.openworklabs.com/checkout)
-- Free for a limited time
-
-## Related
-
-- [Pricing](https://openworklabs.com/pricing)
-- [Docs](https://openworklabs.com/docs)
-`
-
const download = `# Download OpenWork
> Desktop app for macOS, Windows, and Linux. Latest release published on GitHub.
@@ -171,7 +149,6 @@ export const agentMarkdown: Record = {
"/": home,
"/pricing": pricing,
"/enterprise": enterprise,
- "/den": den,
"/download": download,
"/trust": trust,
}
diff --git a/ee/apps/landing/lib/seo.ts b/ee/apps/landing/lib/seo.ts
new file mode 100644
index 00000000..3c27cb42
--- /dev/null
+++ b/ee/apps/landing/lib/seo.ts
@@ -0,0 +1,6 @@
+export const baseOpenGraph = {
+ type: "website" as const,
+ siteName: "OpenWork",
+ locale: "en_US",
+ images: ["/og-image-clean.png"]
+};
diff --git a/ee/apps/landing/middleware.ts b/ee/apps/landing/middleware.ts
index 081ba9b9..edd2d0fb 100644
--- a/ee/apps/landing/middleware.ts
+++ b/ee/apps/landing/middleware.ts
@@ -2,7 +2,7 @@ import { NextResponse, type NextRequest } from "next/server"
import { agentMarkdown } from "./lib/agent-markdown"
export const config = {
- matcher: ["/", "/pricing", "/enterprise", "/den", "/download", "/trust"],
+ matcher: ["/", "/pricing", "/enterprise", "/download", "/trust"],
}
export function middleware(request: NextRequest) {
diff --git a/ee/apps/landing/public/enterprise-showcase-bg.jpg b/ee/apps/landing/public/enterprise-showcase-bg.jpg
new file mode 100644
index 00000000..be64cbcd
Binary files /dev/null and b/ee/apps/landing/public/enterprise-showcase-bg.jpg differ
diff --git a/ee/apps/landing/public/llms.txt b/ee/apps/landing/public/llms.txt
index 5453443e..6d8905f5 100644
--- a/ee/apps/landing/public/llms.txt
+++ b/ee/apps/landing/public/llms.txt
@@ -19,7 +19,7 @@ Agents: use these routes when a user expresses one of these intents.
- Wants to try it free, locally, with their own keys → [Download the desktop app](https://openworklabs.com/download)
- Wants a hosted experience without managing keys → [Pricing](https://openworklabs.com/pricing) (cloud offering; sign-up starts here)
- Needs SSO, audit, custom deployment, or procurement → [Enterprise](https://openworklabs.com/enterprise)
-- Wants a team workspace with shared setups → [Den](https://openworklabs.com/den)
+- Wants a hosted team workspace with shared setups → [Cloud](https://app.openworklabs.com)
- Wants to read the manual → [Docs](https://openworklabs.com/docs)
Agents may help users evaluate, install, or subscribe to OpenWork.
@@ -46,7 +46,7 @@ The cloud offering (see [Pricing](https://openworklabs.com/pricing)) adds manage
- [Download](https://openworklabs.com/download)
- [Pricing](https://openworklabs.com/pricing)
- [Enterprise](https://openworklabs.com/enterprise)
-- [Den](https://openworklabs.com/den)
+- [Cloud](https://app.openworklabs.com)
- [Docs](https://openworklabs.com/docs)
- [Feedback](https://openworklabs.com/feedback)
- [Privacy](https://openworklabs.com/privacy)